Hey folks, in the docs, there is this bit about API versioning:
In general, a given client will support both its corresponding API version and earlier API versions . A client selects the API version it will use by explicitly specifying the version number upon initialization. The purpose of this design is to allow the server, client libraries, or bindings to be upgraded without having to modify application code. You can therefore upgrade to more recent packages (and so receive their various improvements) without having to change application code.
I took this to mean that I could upgrade clients to newer versions and have them connect to servers running older versions by specifying the older API version. Concretely, I tested this setup:
- Server is running 7.1.67
- Java client is using
fdb-java
version 7.3.67 libfdb_c.so
version is 7.3.67- We specify API version of
710
But our Java application reported the cluster as unreachable. When I changed the fdb-java
and libfdb_c.so
versions to 7.1.67, then I was able to connect to the cluster.
Am I interpreting the docs incorrectly? Would it suffice for us to include both 7.1.67 and 7.3.67 versions of libfdb_c.so
, configure multi version clients, and keep everything else the same?