If you try to use a version of Riak CS with a newer version of OTP than the version in Riak KV, you end up with an error similar to this:
2024-03-25 08:42:22.375 [error] <0.50.0> Loading of /usr/lib64/riak-cs/lib/riak_cs-3.1/ebin/riak_cs_kv_multi_backend.beam failed: badfile
2024-03-25 08:42:22.375 [error] emulator beam/beam_load.c(1883): Error loading module riak_cs_kv_multi_backend:
This BEAM file was compiled for a later version of the run-time system than 22.
To fix this, please recompile this module with an 22 compiler.
(Use of opcode 180; this emulator supports only up to 168.)
The above is fixed by uninstalling the newer version and using an older one. For the above example, this was fixed by uninstalling Riak CS 3.0.1 OTP 25 and installing Riak CS 3.0.1 OTP 22 instead. As Riak KV was KV 3.0.16 OTP 22 i.e. CS and KV are both using OTP 22, KV was now able to use the beam file provided by Riak CS.
If you try to use a version of Riak CS with a newer version of OTP than the version in Riak KV, you end up with an error similar to this:
The above is fixed by uninstalling the newer version and using an older one. For the above example, this was fixed by uninstalling Riak CS 3.0.1 OTP 25 and installing Riak CS 3.0.1 OTP 22 instead. As Riak KV was KV 3.0.16 OTP 22 i.e. CS and KV are both using OTP 22, KV was now able to use the beam file provided by Riak CS.