Will amavisd work with redis+dynomite?

Mark Martinec Mark.Martinec+amavis at ijs.si
Tue Apr 26 19:30:34 CEST 2016


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


More information about the amavis-users mailing list