You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2022/07/01 21:12:00 UTC
[jira] [Resolved] (HBASE-14330) Regular Expressions cause ipc.CallTimeoutException
[ https://issues.apache.org/jira/browse/HBASE-14330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Kyle Purtell resolved HBASE-14330.
-----------------------------------------
Release Note: (was: when rowPattern = "\\d{4}-\\d{2}-\\d{2}_10_version$" ,every thing is ok
when String rowPattern = ".*_10_version$" ,error:rpc timeout)
Tags: (was: RowFilter ipc timeout regularExpression)
Resolution: Incomplete
> 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: 茂军王
> Priority: Major
> 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
(v8.20.10#820010)