hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From 茂军王 (JIRA) <j...@apache.org>
Subject [jira] [Updated] (HBASE-14330) Regular Expressions cause ipc.CallTimeoutException
Date Fri, 28 Aug 2015 00:42:45 GMT

     [ https://issues.apache.org/jira/browse/HBASE-14330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

茂军王 updated HBASE-14330:
------------------------
    Description: 
Appear "ipc.CallTimeoutException" When I use scan with RowFilter. The RowFilter use regular
expression ".*_10_version$".

The below is my code:
public static void main(String[] args) {
		Scan scan = new Scan();
		scan.setStartRow("2014-12-01".getBytes());
		scan.setStopRow("2015-01-01".getBytes());
		/**
		 * when rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$" ,every thing is ok
		 * when String rowPattern = ".*_10_version$" ,error:rpc timeout
		 */
		//String rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$";
		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);
		}
	}
The below is the error:
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

  was:
Appear "ipc.CallTimeoutException" When I use scan with RowFilter.
The RowFilter use regular expression ".*_10_version$".
The below is my code:
public static void main(String[] args) {
		Scan scan = new Scan();
		scan.setStartRow("2014-12-01".getBytes());
		scan.setStopRow("2015-01-01".getBytes());
		/**
		 * when rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$" ,every thing is ok
		 * when String rowPattern = ".*_10_version$" ,error:rpc timeout
		 */
		//String rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$";
		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);
		}
	}
The below is the error:
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


> 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: test
>
> Appear "ipc.CallTimeoutException" When I use scan with RowFilter. The RowFilter use regular
expression ".*_10_version$".
> The below is my code:
> public static void main(String[] args) {
> 		Scan scan = new Scan();
> 		scan.setStartRow("2014-12-01".getBytes());
> 		scan.setStopRow("2015-01-01".getBytes());
> 		/**
> 		 * when rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$" ,every thing is ok
> 		 * when String rowPattern = ".*_10_version$" ,error:rpc timeout
> 		 */
> 		//String rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$";
> 		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);
> 		}
> 	}
> The below is the error:
> 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



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

Mime
View raw message