diff --git a/server/src/main/java/io/druid/client/cache/MemcachedCache.java b/server/src/main/java/io/druid/client/cache/MemcachedCache.java index 15d88e36347..8ffe995ee76 100644 --- a/server/src/main/java/io/druid/client/cache/MemcachedCache.java +++ b/server/src/main/java/io/druid/client/cache/MemcachedCache.java @@ -78,6 +78,7 @@ public class MemcachedCache implements Cache .setShouldOptimize(true) .setOpQueueMaxBlockTime(config.getTimeout()) .setOpTimeout(config.getTimeout()) + .setReadBufferSize(config.getReadBufferSize()) .setOpQueueFactory(opQueueFactory) .build(), AddrUtil.getAddresses(config.getHosts()) diff --git a/server/src/main/java/io/druid/client/cache/MemcachedCacheConfig.java b/server/src/main/java/io/druid/client/cache/MemcachedCacheConfig.java index db23ec743af..adebbec8d03 100644 --- a/server/src/main/java/io/druid/client/cache/MemcachedCacheConfig.java +++ b/server/src/main/java/io/druid/client/cache/MemcachedCacheConfig.java @@ -41,10 +41,14 @@ public class MemcachedCacheConfig @JsonProperty private int maxObjectSize = 50 * 1024 * 1024; + // memcached client read buffer size, -1 uses the spymemcached library default + @JsonProperty + private int readBufferSize = -1; + @JsonProperty private String memcachedPrefix = "druid"; - // maximum size in bytes of memcached client operation queue. 0 means unlimited + // maximum size in bytes of memcached client operation queue. 0 means unbounded @JsonProperty private long maxOperationQueueSize = 0; @@ -77,4 +81,9 @@ public class MemcachedCacheConfig { return maxOperationQueueSize; } + + public int getReadBufferSize() + { + return readBufferSize; + } }