Hi all,
I'm looking into the codes of voldemort server, I find that if I pass too
many(thousands) keys to the server(via getAll), I will get the following
exception in debug mode while reading keys:
[2012-11-11 15:56:07,800
voldemort.server.protocol.vold.VoldemortNativeRequestHandler] DEBUG
Probable partial read occurred causing exception
java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:323)
at java.io.DataInputStream.readUTF(DataInputStream.java:572)
at java.io.DataInputStream.readUTF(DataInputStream.java:547)
at ac.ict.debs.vordemort.sqllib.Function.readStream(Function.java:86)
at
voldemort.server.protocol.vold.VoldemortNativeRequestHandler.isCompleteRequ est(VoldemortNativeRequestHandler.java:418)
at
voldemort.server.niosocket.AsyncRequestHandler.read(AsyncRequestHandler.jav a:119)
at voldemort.utils.SelectorManagerWorker.run(SelectorManagerWorker.java:98)
at voldemort.utils.SelectorManager.run(SelectorManager.java:194)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j ava:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: 908)
at java.lang.Thread.run(Thread.java:662)
[2012-11-11 15:56:07,801 voldemort.server.niosocket.AsyncRequestHandler]
TRACE Incomplete read request detected, before update - position: 187600,
limit: 187600, remaining: 0, capacity: 262144 - for
Socket[addr=/10.123.0.253,port=38127,localport=6666]
[2012-11-11 15:56:07,801 voldemort.server.niosocket.AsyncRequestHandler]
TRACE Incomplete read request detected, after update - position: 187600,
limit: 262144, remaining: 74544, capacity: 262144 - for
Socket[addr=/10.123.0.253,port=38127,localport=6666]
But seems it won't affects the correctness of results, does anyone have
an explanation about this problem ? thanks!