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

check REPLICATION_SCOPE's value more stringently

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.2.2, 2.0.0
    • 1.4.0, 2.0.0
    • None
    • None
    • Reviewed

    Description

      When create table or modify table, the master will check if the value of REPLICATION_SCOPE is less than 0, however the value of REPLICATION_SCOPE must be 0 or 1. Otherwise will lead to regionserver shutdown, so I think should be check the values of REPLICATION_SCOPE more stringent.

      Beginning I don't fully understand the usage of REPLICATION_SCOPE, then set REPLICATION_SCOPE to 2 by mistake.when I insert data to table,the regionservers abort one by one,finanly
      the cluster abort,the exceptions as follow:

      2016-08-16 12:34:45,245 WARN [regionserver/host:60023.append-pool1-t1] wal.FSHLog: Append sequenceId=94, requesting roll of WAL
      java.lang.NullPointerException
      at org.apache.hadoop.hbase.protobuf.generated.WALProtos$FamilyScope$Builder.setScopeType(WALProtos.java:3939)
      at org.apache.hadoop.hbase.wal.WALKey.getBuilder(WALKey.java:618)
      at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter.append(ProtobufLogWriter.java:118)
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.append(FSHLog.java:1886)
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.onEvent(FSHLog.java:1750)
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.onEvent(FSHLog.java:1672)
      at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
      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:744)
      2016-08-16 12:34:45,293 INFO [MemStoreFlusher.0] regionserver.HStore: Added hdfs://hbase-test-27/hbase1.2.2/data/default/usertable/2aa98c17845c9c6d5c8760b87b3ba09a/i/35825c94e72945c0bf7df3f0adefa1b6, entries=1161600, sequenceid=59, filesize=167.6 M
      2016-08-16 12:34:45,296 FATAL [MemStoreFlusher.0] regionserver.HRegionServer: ABORTING region server hbase-10-166-141-99,60023,1471262434177: Replay of WAL required. Forcing server shutdown
      org.apache.hadoop.hbase.DroppedSnapshotException: region: usertable,,1471262560009.2aa98c17845c9c6d5c8760b87b3ba09a.
      at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushCacheAndCommit(HRegion.java:2427)
      at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2105)
      at org.apache.hadoop.hbase.regionserver.HRegion.internalFlushcache(HRegion.java:2067)
      at org.apache.hadoop.hbase.regionserver.HRegion.flushcache(HRegion.java:1958)
      at org.apache.hadoop.hbase.regionserver.HRegion.flush(HRegion.java:1884)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:510)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher.flushRegion(MemStoreFlusher.java:471)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher.access$900(MemStoreFlusher.java:75)
      at org.apache.hadoop.hbase.regionserver.MemStoreFlusher$FlushHandler.run(MemStoreFlusher.java:259)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: org.apache.hadoop.hbase.regionserver.wal.DamagedWALException: Append sequenceId=94, requesting roll of WAL
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.append(FSHLog.java:1898)
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.onEvent(FSHLog.java:1750)
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.onEvent(FSHLog.java:1672)
      at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      ... 1 more
      Caused by: java.lang.NullPointerException
      at org.apache.hadoop.hbase.protobuf.generated.WALProtos$FamilyScope$Builder.setScopeType(WALProtos.java:3939)
      at org.apache.hadoop.hbase.wal.WALKey.getBuilder(WALKey.java:618)
      at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter.append(ProtobufLogWriter.java:118)
      at org.apache.hadoop.hbase.regionserver.wal.FSHLog$RingBufferEventHandler.append(FSHLog.java:1886)
      ... 6 more

      Attachments

        1. HBASE-16419-v1.patch
          2 kB
          Guangxu Cheng
        2. HBASE-16419-branch-1.2-v1.patch
          3 kB
          Guangxu Cheng
        3. HBASE-16419-branch-1.2-v2.patch
          3 kB
          Guangxu Cheng

        Activity

          People

            gxcheng Guangxu Cheng
            gxcheng Guangxu Cheng
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: