Hi,
We are trying to setup multi versions for the fdbcli, while we want to support 3 different versions.
It seems that the fdbcli in 7.3 is behaving a bit differently that other fdbcli version.
For context :
- the var env
FDB_NETWORK_OPTION_EXTERNAL_CLIENT_DIRECTORY
is set to/usr/lib/fdb/multiversion
- the
/usr/lib/fdb/multiversion
folder contains following libraries : libfdb_c_6.2.so, libfdb_c_7.2.so qnd libfdb_c_7.3.so - the cluster file is pointing on a cluster running in 7.3 version
When I’m running LD_DEBUG=libs /usr/bin/fdb/6.2/fdbcli
, the fdbcli output is the following :
Using cluster file `/etc/foundationdb/fdb.cluster'.
WARNING: One or more of the processes in the cluster is incompatible with this version of fdbcli.
The database is unavailable; type `status' for more information.
When I’m running LD_DEBUG=libs /usr/bin/fdb/7.2/fdbcli
, the fdbcli output is the following :
calling init: /usr/lib/fdb/multiversion/libfdb_c_6.2.so
70:
70: /usr/lib/fdb/multiversion/libfdb_c_6.2.so: error: symbol lookup error: undefined symbol: fdb_use_future_protocol_version (fatal)
70:
70: calling init: /usr/lib/fdb/multiversion/libfdb_c_7.2.so
70:
70: find library=liblzma.so.5 [0]; searching
70: search cache=/etc/ld.so.cache
70: trying file=/lib/x86_64-linux-gnu/liblzma.so.5
70:
70: find library=libz.so.1 [0]; searching
70: search cache=/etc/ld.so.cache
70: trying file=/lib/x86_64-linux-gnu/libz.so.1
70:
70:
70: calling init: /lib/x86_64-linux-gnu/libz.so.1
70:
70:
70: calling init: /lib/x86_64-linux-gnu/liblzma.so.5
70:
70:
70: calling init: /usr/lib/fdb/multiversion/libfdb_c_7.3.so
.....
.....
Using cluster file `/etc/foundationdb/fdb.cluster'.
WARNING: One or more of the processes in the cluster is incompatible with this version of fdbcli.
The database is unavailable; type `status' for more information.
But when I run the command LD_DEBUG=libs /usr/bin/fdb/7.3/fdbcli
, the fdbcli failed and it’s not able to start :
calling init: /usr/lib/fdb/multiversion/libfdb_c_6.2.so
73:
73: /usr/lib/fdb/multiversion/libfdb_c_6.2.so: error: symbol lookup error: undefined symbol: fdb_use_future_protocol_version (fatal)
ERROR: Failed to load a required FDB API function. (2204)
I do see the fdbcli loading the libfdb_c_6.2.so
, but it’s not trying to load other libraries. While the fdbcli 7.2 is loading all of them.
Do you know if something has changed in the fdbcli 7.3 ?