Yes, this is socket timeout due to very large batch which RS can not
process before timeout expires.
Just do not do 100K batch, or increase SocketTimeout (RPC config in
hbase-site.xml)

-Vlad

On Thu, Jul 9, 2015 at 8:53 AM, Ted Yu <[email protected]> wrote:

> Looks like server side was not able to process all the Get's fast enough.
>
> Which release of hbase are you using ?
>
> Did you adjust any config parameters for hbase ?
>
> Thanks
>
> On Thu, Jul 9, 2015 at 12:22 AM, psobolewski <[email protected]>
> wrote:
>
> > I use java and i want to do batch get like this
> >
> >     final List<Get> gets = uids.stream()
> >                     .map(uid -> new Get(toBytes(uid)))
> >                     .collect(Collectors.toList());
> >
> >     Configuration configuration = HBaseConfiguration.create();
> >
> >     conf.set("hbase.zookeeper.quorum", quorum);
> >     conf.set("hbase.zookeeper.property.clientPort",
> > properties.getString("HBASE_CONFIGURATION_ZOOKEEPER_CLIENTPORT"));
> >     conf.set("zookeeper.znode.parent",
> > properties.getString("HBASE_CONFIGURATION_ZOOKEEPER_ZNODE_PARENT"));
> >
> >     HTable table = new HTable(configuration, tableName);
> >     return table.get(gets);
> >
> > When get list has 10K gets everything is ok.
> >
> > When i try to do 100K gets in one batch i have exception:
> >
> >     java.lang.RuntimeException:
> > org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:
> Failed
> > 100000 actions: SocketTimeoutException: 100000 times,
> >     Caused by:
> > org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:
> Failed
> > 100000 actions: SocketTimeoutException: 100000 times,
> >             at
> >
> >
> org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.makeException(AsyncProcess.java:203)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> >
> >
> org.apache.hadoop.hbase.client.AsyncProcess$BatchErrors.access$500(AsyncProcess.java:187)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> >
> >
> org.apache.hadoop.hbase.client.AsyncProcess.getErrors(AsyncProcess.java:922)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> >
> >
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchCallback(HConnectionManager.java:2402)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> > org.apache.hadoop.hbase.client.HTable.batchCallback(HTable.java:868)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> > org.apache.hadoop.hbase.client.HTable.batchCallback(HTable.java:883)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> org.apache.hadoop.hbase.client.HTable.batch(HTable.java:858)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at org.apache.hadoop.hbase.client.HTable.get(HTable.java:825)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             at
> > hbase_query_layer.hbase.HbaseConnector.get(HbaseConnector.java:89)
> > ~[hbase-query-layer-r575958b.jar:?]
> >             ... 15 more
> >
> > What is wrong?
> >
> >
> >
> >
> > --
> > View this message in context:
> >
> http://apache-hbase.679495.n3.nabble.com/Hbase-batch-get-and-SocketTimeoutException-tp4073054.html
> > Sent from the HBase Developer mailing list archive at Nabble.com.
> >
>

Reply via email to