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

region mover gives NullPointerException instead of saying a host isn't in the cluster

VotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 3.0.0-alpha-1, 2.1.0, 2.2.0, 2.3.0
    • 3.0.0-alpha-1, 2.3.0, 2.1.7, 2.2.2
    • None
    • None
    • Hide
      giving the region mover "unload" command a region server name that isn't recognized by the cluster results in a "I don't know about that host" message instead of a NPE.

      set log level to DEBUG if you'd like the region mover to log the set of region server names it got back from the cluster.
      Show
      giving the region mover "unload" command a region server name that isn't recognized by the cluster results in a "I don't know about that host" message instead of a NPE. set log level to DEBUG if you'd like the region mover to log the set of region server names it got back from the cluster.

    Description

      if passed a host that isn't in the cluster we get a NPE

      2019-09-17 21:50:45,595 ERROR [pool-2-thread-1] util.RegionMover: Error while unloading regions 
      java.lang.NullPointerException: serverName is null
      	at org.apache.hbase.thirdparty.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:897)
      	at org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory$AdminRequestCallerBuilder.build(AsyncRpcRetryingCallerFactory.java:518)
      	at org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory$AdminRequestCallerBuilder.call(AsyncRpcRetryingCallerFactory.java:522)
      	at org.apache.hadoop.hbase.client.RawAsyncHBaseAdmin.getRegions(RawAsyncHBaseAdmin.java:842)
      	at org.apache.hadoop.hbase.client.AdminOverAsyncAdmin.getRegions(AdminOverAsyncAdmin.java:229)
      	at org.apache.hadoop.hbase.util.RegionMover.unloadRegions(RegionMover.java:448)
      	at org.apache.hadoop.hbase.util.RegionMover.lambda$unload$1(RegionMover.java:431)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      
      

      Should instead give some kind of "I don't know what this host is 'foobar.example.com'" and maybe a debug message with what hosts were in the cluster.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            busbey Sean Busbey
            busbey Sean Busbey
            Votes:
            0 Vote for this issue
            Watchers:
            3 Stop watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment