Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect incompatibility and raise a relevant exception #25

Closed
sorsaffari opened this issue Jul 15, 2019 · 5 comments
Closed

Detect incompatibility and raise a relevant exception #25

sorsaffari opened this issue Jul 15, 2019 · 5 comments

Comments

@sorsaffari
Copy link

Problem to Solve

When there is an incompatibility between Client Java and the running Grakn Server, the exception thrown by the client seems unrelated to the real cause of the problem. In fact, the error message may even be incorrect, given that the keyspace does exist with the given name.

Current Workaround

If encountering this exception for the first time, only searching the web or asking the community can lead the user to the solution.

Proposed Solution

Have Client Java to identify the incompatibility and throw an exception with a helpful message. e.g. Client Java version 1.5.3 does not support the running Grakn Core server. Please refer to the documentation of client Java to ensure compatibility.

Additional Information

N/A

@alexjpwalker
Copy link
Member

This issue is still relevant in 2.0.

@alexjpwalker
Copy link
Member

The discussion from typedb/typedb-driver-nodejs#47 may be of relevance here.

@alexjpwalker
Copy link
Member

alexjpwalker commented Jul 29, 2021

To summarise:

  • Server should expose an RPC endpoint to describe its version number
  • Protocol for this endpoint should remain stable permanently* to preserve backwards compatibility
  • The client can then detect incompatibility and raise a relevant exception

We should also consider:

  • Declaring the product name (TypeDB or TypeDB Cluster) in the response
  • Exposing this endpoint as a client feature that a user can call manually to get basic server info
  • When Console is launched, print the server version

@alexjpwalker
Copy link
Member

alexjpwalker commented Jun 10, 2022

@flyingsilverfin
Copy link
Member

Implemented in #421

dmitrii-ubskii pushed a commit to dmitrii-ubskii/typedb-driver that referenced this issue Jul 13, 2023
## What is the goal of this PR?

Bump TypeDB protocol and Vaticle dependencies versions to introduce a
couple of bug fixes to Rust IDE sync tool.

## What are the changes implemented in this PR?

* Bump TypeDB protocol
* Bump Vaticle dependencies
dmitrii-ubskii pushed a commit that referenced this issue Aug 25, 2023
removes the test-repo-deploy job from the client-python workflow.
dmitrii-ubskii pushed a commit to dmitrii-ubskii/typedb-driver that referenced this issue Aug 31, 2023
Use docker image with current node
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants