Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13532

Make UnknownScannerException logging less scary

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • None
    • 1.3.0, 1.2.2, 0.98.20, 1.1.6, 2.0.0
    • None
    • None

    Description

      A customer reported seeing client-side UnknownScannerExceptions after an HBase upgrade/restart. Restarting a RS will expire leases on the server side. So, given that there was no actual problem and everything was working as it should, reworking this exception for more appropriate logging.

      org.apache.hadoop.hbase.UnknownScannerException: org.apache.hadoop.hbase.UnknownScannerException: Name: 10092964, already closed? 
      at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3043) 
      at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29497) 
      at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2012) 
      at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) 
      at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160) 
      at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38) 
      at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110) 
      at java.lang.Thread.run(Thread.java:724) 
      
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
      at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
      at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106) 
      at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95) 
      at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:284) 
      at org.apache.hadoop.hbase.client.ScannerCallable.close(ScannerCallable.java:287) 
      at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:153) 
      at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:57) 
      at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:114) 
      at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:90) 
      at org.apache.hadoop.hbase.client.ClientScanner.close(ClientScanner.java:431) 
      at com.squareup.moco.persistence.TransactionTable.scan(TransactionTable.java:207) 
      at com.squareup.moco.persistence.TransactionTable$$EnhancerByGuice$$a12c1766.CGLIB$scan$9(<generated>) 
      at com.squareup.moco.persistence.TransactionTable$$EnhancerByGuice$$a12c1766$$FastClassByGuice$$606c8773.invoke(<generated>) 
      at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) 
      at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) 
      at com.squareup.common.metrics.TimedHistogramInterceptor.invoke(TimedHistogramInterceptor.java:29) 
      at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) 
      at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:55) 
      at com.squareup.moco.persistence.TransactionTable$$EnhancerByGuice$$a12c1766.scan(<generated>) 
      at com.squareup.moco.persistence.TransactionTable$1.run(TransactionTable.java:180) 
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
      at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
      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:724) 
      Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.UnknownScannerException): org.apache.hadoop.hbase.UnknownScannerException: Name: 10092964, already closed? 
      at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3043) 
      at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29497) 
      at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2012) 
      at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98) 
      at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160) 
      at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38) 
      at org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110) 
      at java.lang.Thread.run(Thread.java:724)
      

      Attachments

        1. HBASE-13532.patch
          2 kB
          Apekshit Sharma
        2. HBASE-13532-0.98.patch
          2 kB
          Andrew Kyle Purtell
        3. HBASE-13532-branch-1.patch
          2 kB
          Apekshit Sharma
        4. HBASE-13532-master.patch
          2 kB
          Apekshit Sharma

        Activity

          People

            appy Apekshit Sharma
            appy Apekshit Sharma
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: