You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "MarsXu (JIRA)" <ji...@apache.org> on 2016/01/04 09:18:39 UTC

[jira] [Commented] (HBASE-14330) Regular Expressions cause ipc.CallTimeoutException

    [ https://issues.apache.org/jira/browse/HBASE-14330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15080812#comment-15080812 ] 

MarsXu commented on HBASE-14330:
--------------------------------


Properties info = new Properties();
info.put("hbase.client.scanner.timeout.period","XXXXX");
conn = DriverManager.getConnection(url,info);

> Regular Expressions cause  ipc.CallTimeoutException
> ---------------------------------------------------
>
>                 Key: HBASE-14330
>                 URL: https://issues.apache.org/jira/browse/HBASE-14330
>             Project: HBase
>          Issue Type: Bug
>          Components: Client, Filters, IPC/RPC
>    Affects Versions: 1.0.1
>         Environment: CDH5.4.0
> hbase-client-1.0.0-cdh5.4.0
>            Reporter: 茂军王
>              Labels: performance
>
> Appear "ipc.CallTimeoutException" When I use scan with RowFilter. The RowFilter use regular expression ".*_10_version$".
> The below is my code:
> {code}
> public static void main(String[] args) {
> 	Scan scan = new Scan();
> 	scan.setStartRow("2014-12-01".getBytes());
> 	scan.setStopRow("2015-01-01".getBytes());
> 	
> 	String rowPattern = ".*_10_version$";
> 	Filter myRowfilter = new RowFilter(CompareFilter.CompareOp.EQUAL, 
> 	new RegexStringComparator(rowPattern));
> 	List<Filter> myFilterList = new ArrayList<Filter>();
> 	myFilterList.add(myRowfilter);
> 	FilterList filterList = new FilterList(myFilterList);
> 	scan.setFilter(filterList);
> 		
> 	TableName tn = TableName.valueOf("oneday");
> 	Table t = null;
> 	ResultScanner rs = null;
> 	Long i = 0L;
> 	try {
> 		t = HBaseUtil.getHTable(tn);
> 		rs = t.getScanner(scan);
> 		Iterator<Result> iter = rs.iterator();
> 			
> 		while(iter.hasNext()){
> 			Result r = iter.next();
> 			i++;
> 		}
> 		System.out.println(i);
> 	} catch (IOException e) {
> 		e.printStackTrace();
> 	}finally{
> 		HBaseUtil.closeTable(t);
> 	}
> }
> {code}
> The below is the error:
> {code}
> xception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
> Fri Aug 28 08:17:23 CST 2015, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60308: row '2014-12-01' on table 'oneday' at region=oneday,2014-10-18_5_osversion_6b3699557822c74d7237f2467938c62b_3.4.2,1437563105965.74b33ebe56e5d6332e823c3ebfa36b56., hostname=tk-mapp-hadoop185,60020,1440385238156, seqNum=18648
> 	at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:97)
> 	at com.jj.door.ScanFilterDoor.main(ScanFilterDoor.java:58)
> Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
> Fri Aug 28 08:17:23 CST 2015, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60308: row '2014-12-01' on table 'oneday' at region=oneday,2014-10-18_5_osversion_6b3699557822c74d7237f2467938c62b_3.4.2,1437563105965.74b33ebe56e5d6332e823c3ebfa36b56., hostname=tk-mapp-hadoop185,60020,1440385238156, seqNum=18648
> 	at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:270)
> 	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:203)
> 	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:57)
> 	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
> 	at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:294)
> 	at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:374)
> 	at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:94)
> 	... 1 more
> Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=60308: row '2014-12-01' on table 'oneday' at region=oneday,2014-10-18_5_osversion_6b3699557822c74d7237f2467938c62b_3.4.2,1437563105965.74b33ebe56e5d6332e823c3ebfa36b56., hostname=tk-mapp-hadoop185,60020,1440385238156, seqNum=18648
> 	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:159)
> 	at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.run(ResultBoundedCompletionService.java:64)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.IOException: Call to tk-mapp-hadoop185/192.168.10.185:60020 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=4, waitTime=60007, operationTimeout=60000 expired.
> 	at org.apache.hadoop.hbase.ipc.RpcClientImpl.wrapException(RpcClientImpl.java:1236)
> 	at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1204)
> 	at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:216)
> 	at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:300)
> 	at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:31751)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:204)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:62)
> 	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200)
> 	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:316)
> 	at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas$RetryingRPC.call(ScannerCallableWithReplicas.java:290)
> 	at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
> 	... 4 more
> Caused by: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=4, waitTime=60007, operationTimeout=60000 expired.
> 	at org.apache.hadoop.hbase.ipc.Call.checkAndSetTimeout(Call.java:70)
> 	at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1178)
> 	... 13 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)