Hi Apache Kvrocks community,
We've been working on integrating Apache Kvrocks with Apache James and Rspamd, documenting our Docker Compose setup in this PR. While setting up Kvrocks in Sentinel mode, we noticed a lack of documentation and would be happy to contribute to improving it. During our Kvrocks Sentinel + Rspamd setup, we observed a difference in how the EVALSHA command is handled compared to Redis. Rspamd uses EVALSHA to execute a read-only Lua script for retrieving BAYES statistics. While Redis replicas allow executing read-only Lua scripts, Kvrocks replicas appear to be stricter, rejecting the command with the ReadOnly error. As a workaround, we have configured slave-read-only no to enable Rspamd to read BAYES statistics from Kvrocks replicas while relying on Sentinel to correctly detect master and replica endpoints. We would appreciate any feedback on our setup and approach. Best regards, Quan On Mar 3, 2025 3:12 PM, from Benoit Tellier <[email protected]>Hello folks, I'm involved on the Apache James email server, and as part of Apache James we currently have a Redis integration. Redis is used for: - 1. Implementing rate limiting in a distributed fashion by using leaky bucket algorithm - 2. Implementing sid storage as part of our OpenID connect backchannel logout (integrated in Apache APISIX - java plugin runner) - 3. Use redis streams for backing apache James pub sub (~email notifications) - 4. Store bayes database for our RSPAMD setup Our setup needs to be using sentinel (some use case like 4. relies on commands not supplied from Redis cluster) Our biggest pain is that, as we use a per user database for bayes the database grows significantly and storing this DB in memory is not financially viable. In order to solve our concerns with 4. (and as we are not performance bound for Redis components) we are considering switching our use cases to KVrocks, and potentially makes KVrocks the default key value store / cache for Apache James. I (in the name of the Apache James PMC and LINAGORA contributors) would happily report on how this integrations goes on. -- Best regards, Benoit TELLIER General manager of Linagora VIETNAM . Product owner for Team-Mail product. Chairman of the Apache James project . Mail: [email protected] Tel: (0033) 6 77 26 04 58 (WhatsApp, Signal)
