Hi,
A couple of preliminary questions: What version of riak-java-client and what
version of Riak are you using?
Also, your cut and paste has come out a little garbled, could you maybe paste
it into a github gist or a paste bin so I can get a better read of the code,
please?
Also, do you have the riak log? Is there anything in that for the same call?
Do you get the error consistently or is this as part of a load test/benchmark
and it occurs under a certain load?
I've never used YCSB so I'll have a look into that, also.
Cheers
Russell
On 2 Aug 2011, at 20:20, vijayakumar wrote:
> I am trying to benchmark riak client with YCSB and I am getting the following
> exception while
> trying to fetch from riak client. Am I missing any tunable parameters in
> server or client settings?
>
> Code snippet (method implementation for YCSB-DB):
>
> public int read(String table, String key, Set<String> fields,
> HashMap<String, String> result) {
> ObjectInputStream ois = null;
> int status = Error;
> try {
> RiakObject[] riakObjects = *riakclient.fetch(table, key,1)*;
> ois = new ObjectInputStream(new
> ByteArrayInputStream(riakObjects[0].getValue().toByteArray()));
> HashMap<String, String> values = (HashMap<String,
> String>) ois.readObject();
> result.putAll(values);
> status = Ok;
> } catch (IOException e) {
> e.printStackTrace(System.out);
> return status;
> } catch (ClassNotFoundException e) {
> e.printStackTrace(System.out);
> return status;
> } finally{
> if(ois!=null){
> try{
> ois.close();
> }catch(Exception excep){
> excep.printStackTrace();
> }
> }
> }
> return status;
> }
>
> Exception thrown while running YCSB setup:
>
> java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
> at java.io.DataOutputStream.flush(DataOutputStream.java:106)
> at com.basho.riak.pbc.RiakConnection.send(RiakConnection.java:68)
> at com.basho.riak.pbc.RiakClient.fetch(RiakClient.java:221)
> at com.basho.riak.pbc.RiakClient.fetch(RiakClient.java:210)
> at com.yahoo.ycsb.db.riak.RiakPBClient.read(RiakPBClient.java:63)
> at com.yahoo.ycsb.DBWrapper.read(DBWrapper.java:87)
> at
> com.apigee.kms.RequestTokenWorkLoad.doTransactionRead(RequestTokenWorkLoad.java:81)
> at
> com.yahoo.ycsb.workloads.CoreWorkload.doTransaction(CoreWorkload.java:372)
> at com.yahoo.ycsb.ClientThread.run(Client.java:235)
> java.io.EOFException
> at java.io.DataInputStream.readFully(DataInputStream.java:180)
> at java.io.DataInputStream.readFully(DataInputStream.java:152)
> at com.basho.riak.pbc.RiakConnection.receive(RiakConnection.java:89)
> at com.basho.riak.pbc.RiakClient.process_fetch_reply(RiakClient.java:251)
> at com.basho.riak.pbc.RiakClient.fetch(RiakClient.java:222)
> at com.basho.riak.pbc.RiakClient.fetch(RiakClient.java:210)
> at com.yahoo.ycsb.db.riak.RiakPBClient.read(RiakPBClient.java:63)
> at com.yahoo.ycsb.DBWrapper.read(DBWrapper.java:87)
> at
> com.apigee.kms.RequestTokenWorkLoad.doTransactionRead(RequestTokenWorkLoad.java:81)
> at
> com.yahoo.ycsb.workloads.CoreWorkload.doTransaction(CoreWorkload.java:372)
> at com.yahoo.ycsb.ClientThread.run(Client.java:235)
>
> --
> View this message in context:
> http://riak-users.197444.n3.nabble.com/Facing-java-net-broken-pipe-issue-while-benchmarking-java-PBClient-with-YCSB-tp3219935p3219935.html
> Sent from the Riak Users mailing list archive at Nabble.com.
>
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com