From 51a7adf4fe429815da317171054c8a2887d29e66 Mon Sep 17 00:00:00 2001 From: xvrl Date: Tue, 4 Dec 2012 11:18:51 -0800 Subject: [PATCH] enable consistent hashing and optimizations + daemonize memcached IO thread --- .../metamx/druid/client/cache/MemcachedCacheBroker.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/src/main/java/com/metamx/druid/client/cache/MemcachedCacheBroker.java b/client/src/main/java/com/metamx/druid/client/cache/MemcachedCacheBroker.java index f48b3b3b0c8..3ad6de4d122 100644 --- a/client/src/main/java/com/metamx/druid/client/cache/MemcachedCacheBroker.java +++ b/client/src/main/java/com/metamx/druid/client/cache/MemcachedCacheBroker.java @@ -22,6 +22,7 @@ package com.metamx.druid.client.cache; import net.iharder.base64.Base64; import net.spy.memcached.AddrUtil; import net.spy.memcached.ConnectionFactoryBuilder; +import net.spy.memcached.DefaultHashAlgorithm; import net.spy.memcached.MemcachedClient; import net.spy.memcached.MemcachedClientIF; @@ -39,7 +40,12 @@ public class MemcachedCacheBroker implements CacheBroker try { return new MemcachedCacheBroker( new MemcachedClient( - new ConnectionFactoryBuilder().setProtocol(ConnectionFactoryBuilder.Protocol.BINARY).build(), + new ConnectionFactoryBuilder().setProtocol(ConnectionFactoryBuilder.Protocol.BINARY) + .setHashAlg(DefaultHashAlgorithm.FNV1A_64_HASH) + .setLocatorType(ConnectionFactoryBuilder.Locator.CONSISTENT) + .setDaemon(true) + .setShouldOptimize(true) + .build(), AddrUtil.getAddresses(config.getHosts()) ), config.getTimeout(),