gwhalin memcached java client set object size > 1 MB increase slab size

391 Views Asked by At

I am using com.whalin/Memcached-Java-Client library version 3.0.2. Default slab size is 1 MB and I have used -I command to start memcached server - memcached -d -u nobody -m 4096 127.0.0.1 -p 11211 -I 5242880. Memcached server version is 1.4.26. I have a legacy system where I want to increase the memcached slab size to 5 MB. When I try to add/set object size more than 1 MB in memcached then I am getting below exception

Dec 11, 2018 12:13:31 PM com.schooner.MemCached.BinaryClient set
SEVERE: ++++ exception thrown while writing bytes to server on set
Dec 11, 2018 12:13:31 PM com.schooner.MemCached.BinaryClient set
SEVERE: Connection reset by peer
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:51)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:466)
at com.schooner.MemCached.SockOutputStream.writeToChannel(Unknown Source)
at com.schooner.MemCached.SockOutputStream.write(Unknown Source)

I have tried to set TransCoder similar to xmemcached client but whalin client has different implementation.

Implement WhalinMemcachedJavaClient example :

    private static void implementWhalinMemcachedJavaClient() {
    String[] servers = { "127.0.0.1:11211" };
    SockIOPool sockIOPool = SockIOPool.getInstance("SanTest");

    sockIOPool.setMinConn(2);
    sockIOPool.setMaxConn(20);
    sockIOPool.setServers(servers);
    sockIOPool.setFailover(true);
    sockIOPool.setInitConn(30);
    sockIOPool.setMaintSleep(90);
    sockIOPool.setSocketTO(2000);
    sockIOPool.setAliveCheck(true);
    sockIOPool.setHashingAlg(SockIOPool.NATIVE_HASH);
    sockIOPool.initialize();

    MemCachedClient whalinClient = new MemCachedClient("SanTest", true);
    //MemCachedClient whalinClient = new MemCachedClient("SanTest");

    whalinClient.add("Result", "Success");

    System.out.println("get Result=" + whalinClient.get("Result"));
}

I would like to increase the slab size to 5MB. Please advise is there any option available in whalin memcached client to increase the slab size from 1 MB to 5 MB.

0

There are 0 best solutions below