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

Canary publish read failure fails with NPE if region location is null

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.5.5
    • 2.6.0, 2.4.18, 2.5.6, 3.0.0-beta-1
    • None
    • None
    • Reviewed

    Description

      Region with null server name causes canary failures while publishing read failure i.e. while updating perServerFailuresCount map:

      2023-10-09 15:24:11 [CanaryMonitor-1696864805801] ERROR tool.Canary(1480): Sniff region failed!
      java.util.concurrent.ExecutionException: java.lang.NullPointerException
      	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
      	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionMonitor.run(CanaryTool.java:1478)
      	at java.lang.Thread.run(Thread.java:750)
      Caused by: java.lang.NullPointerException
      	at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1837)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionStdOutSink.incFailuresCountDetails(CanaryTool.java:327)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionStdOutSink.publishReadFailure(CanaryTool.java:353)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionTask.readColumnFamily(CanaryTool.java:548)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionTask.read(CanaryTool.java:587)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionTask.call(CanaryTool.java:502)
      	at org.apache.hadoop.hbase.tool.CanaryTool$RegionTask.call(CanaryTool.java:470)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	... 1 more 

      Attachments

        Issue Links

          Activity

            People

              vjasani Viraj Jasani
              vjasani Viraj Jasani
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: