On 2016-03-27 00:13, Tom Johnson wrote:
We're looking at using dynomite (the netflix opensource project that
adds a dynamo layer for sharding and replication to redis).
There's one limitation I've read about, and I'm not sure if it's an
issue for the lua scripts that amavisd-new uses for penpals
(particularly LUA_QUERY_AND_UPDATE_IP):
* EVAL and EVALSHA support is limited to scripts that take at least 1
key. If multiple keys are used, all keys must hash to the same server.
You can ensure this by using the same
[hashtag](notes/recommendation.md#hash-tags) for all keys. If you use
more than 1 key, the proxy does no checking to verify that all keys
hash to the same server, and the entire command is forwarded to the
server that the first key hashes to
Mark - what do you think? Is this going to work?
Tom
You are right, this is a valid concern. Currently amavisd (in its Lua
scripts)
generates Redis subqueries dynamically for speed, so the requirement for
listing all affected KEYS in argument is broken. This, and the [hashtag]
sharding, needs to be addressed in future.
Mark