hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nareshreddy.y" <nareshredd...@gmail.com>
Subject SocketTimeoutException issue from HBase Client
Date Mon, 29 Jul 2013 09:52:39 GMT
We are working on a scenario where we need to check the existence of the
record before insertion. If the record already exists we dont insert it
again. We are doing in batches. First we create a batch of Gets to see the
existence of the records we want to insert. This issue is not coming when
the table size is less and also it is very intermittent. *What is the
recommended batch size for Get*. And *what is best approach to check the
existence of the records before inserting??* Appreciate your responses..

Here's the stack trace..

java.util.concurrent.ExecutionException: java.net.SocketTimeoutException:
Call to b16-pf-dv-093.abc.com/10.106.8.103:60020 failed on socket timeout
exception: java.net.SocketTimeoutException: 60000 millis timeout while
waiting for channel to be ready for read. ch :
java.nio.channels.SocketChannel[connected local=/10.106.8.133:41903
remote=b16-pf-dv-093.abc.com/10.106.8.103:60020]
	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
	at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchCallback(HConnectionManager.java:1604)
	at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1456)
	at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:757)
	at org.apache.hadoop.hbase.client.HTable.get(HTable.java:726)
	at
org.apache.hadoop.hbase.client.HTablePool$PooledHTable.get(HTablePool.java:367)
	at com.abc.sdp.core.metering.util.HBaseClient.get(HBaseClient.java:263)
	at
com.abc.sdp.core.metering.dao.MeteringHBaseDAOImpl.addMeteredRecords(MeteringHBaseDAOImpl.java:374)
	at
com.abc.sdp.core.metering.dao.MeteringHBaseDAOImpl.addMeteredRecords(MeteringHBaseDAOImpl.java:342)
	at HBaseTest.main(HBaseTest.java:32)
Caused by: java.net.SocketTimeoutException: Call to
b16-pf-dv-093.abc.com/10.106.8.103:60020 failed on socket timeout exception:
java.net.SocketTimeoutException: 60000 millis timeout while waiting for
channel to be ready for read. ch : java.nio.channels.SocketChannel[connected
local=/10.106.8.133:41903 remote=b16-pf-dv-093.abc.com/10.106.8.103:60020]
	at
org.apache.hadoop.hbase.ipc.HBaseClient.wrapException(HBaseClient.java:1026)
	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:999)
	at
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:86)
	at $Proxy6.multi(Unknown Source)
	at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3$1.call(HConnectionManager.java:1433)
	at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3$1.call(HConnectionManager.java:1431)
	at
org.apache.hadoop.hbase.client.ServerCallable.withoutRetries(ServerCallable.java:215)
	at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3.call(HConnectionManager.java:1440)
	at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$3.call(HConnectionManager.java:1428)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.SocketTimeoutException: 60000 millis timeout while
waiting for channel to be ready for read. ch :
java.nio.channels.SocketChannel[connected local=/10.106.8.133:41903
remote=b16-pf-dv-093.abc.com/10.106.8.103:60020]
	at
org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:164)
	at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:155)
	at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:128)
	at java.io.FilterInputStream.read(FilterInputStream.java:116)
	at
org.apache.hadoop.hbase.ipc.HBaseClient$Connection$PingInputStream.read(HBaseClient.java:373)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
	at java.io.DataInputStream.readInt(DataInputStream.java:370)
	at
org.apache.hadoop.hbase.ipc.HBaseClient$Connection.receiveResponse(HBaseClient.java:646)
	at
org.apache.hadoop.hbase.ipc.HBaseClient$Connection.run(HBaseClient.java:580)



--
View this message in context: http://apache-hbase.679495.n3.nabble.com/SocketTimeoutException-issue-from-HBase-Client-tp4048420.html
Sent from the HBase User mailing list archive at Nabble.com.

Mime
View raw message