valkey-io / valkey

A flexible distributed key-value datastore that is optimized for caching and other realtime workloads.
https://valkey.io
Other
17.73k stars 670 forks source link

[NEW] Support for new Module API - modulePropagateFilters #1377

Open artikell opened 4 days ago

artikell commented 4 days ago

The problem/use-case that the feature addresses

For the propagation of information, the system should possess a filtering capability.

On one hand, due to the update of Valkey, some commands are not in the old version, like EXPIREAT for 5.0, and thus if the version is not compatible, hybrid scheduling cannot be achieved.

On the other hand, this can enable the system to possess certain statistical capabilities.

At the same time, it is also closed-loop with the CommandFilter ability, and can do some control when synchronizing information externally

Description of the feature

Support an API in propagateNow, such as modulePropagateFilter, for processing argv. The following methods are supported:

Alternatives you've considered

Additional information

NA

zuiderkwast commented 2 days ago

Interesting, but I want to understand the full picture. Do you want to attach a 5.0 replica to a new Valkey? There is another problem: It can't do full sync because it doesn't know the new RDB version.