Replies: 1 comment
|
There is no reliable protocol-level discriminator with the fields currently returned by Both implementations can intentionally use the same module name, and the version number only has meaning after the implementation is known. The path is deployment metadata and can be renamed. Valkey's module listing exposes name, version, path, and arguments, but no vendor or origin identifier. For CI, use the identity of the image/package that started the test server as the source of truth. At runtime, probe capabilities with If a product truly needs origin detection, the modules need to expose a vendor-specific INFO field or command. Without that addition, any name/version/path heuristic can produce false positives. |
Uh oh!
There was an error while loading. Please reload this page.
Valkey allows to load both Valkey modules (e.g.: valkey-bloom) and Redis modules (e.g.: redisbloom).
But some modules report the same
nameinINFO(E.g.valkey-bloomandredisbloomboth report asbf. Same forvalkey-searchandredisearchwhich both report assearch) So it's hard for clients to distinguish between them.Is there a way to reliably detect which module was loaded?
MODULE LISTadditionally reports the.soname, but that might get modified along the way.More context:
I'm trying to add Bloom filter support to redis-rs. There, in CI, different versions of Valkey/Redis servers run using different modules. Hence, the tests need to check if a Bloom filter module is present in a supported version or skip. But as
valkey-bloomandredisbloomreport the same name but obviously use different version numbering, it's tricky to check reliably.All reactions