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

KEEP_DELETED_CELLS should ignore case

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.0.0-alpha-4
    • 2.0.0-beta-1, 2.0.0
    • regionserver
    • None
    • Reviewed

    Description

      Since HBASE-12363 we start using an enum instead of boolean for keep_deleted_cells. In ColumnFamilyDescriptorBuilder we are using valueOf to find out the value of the property. But there is a problem: all values in ENUM are uppercase, so if we provide the value in lowercase (and java Boolean returns it in lowercase in toString), the table creation may fail with an exception:

      java.io.IOException: java.lang.IllegalArgumentException: No enum constant org.apache.hadoop.hbase.KeepDeletedCells.true
              at org.apache.hadoop.hbase.regionserver.HRegion.initializeStores(HRegion.java:1028)
              at org.apache.hadoop.hbase.regionserver.HRegion.initializeRegionInternals(HRegion.java:891)
              at org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:859)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6966)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6923)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6894)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6850)
              at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6801)
              at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:285)
              at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:110)
              at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.hadoop.hbase.KeepDeletedCells.true
              at java.lang.Enum.valueOf(Enum.java:238)
              at org.apache.hadoop.hbase.KeepDeletedCells.valueOf(KeepDeletedCells.java:30)
              at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.lambda$getStringOrDefault$23(ColumnFamilyDescriptorBuilder.java:719)
              at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getOrDefault(ColumnFamilyDescriptorBuilder.java:727)
              at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getStringOrDefault(ColumnFamilyDescriptorBuilder.java:719)
              at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getKeepDeletedCells(ColumnFamilyDescriptorBuilder.java:901)
              at org.apache.hadoop.hbase.regionserver.ScanInfo.<init>(ScanInfo.java:69)
              at org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:265)
              at org.apache.hadoop.hbase.regionserver.HRegion.instantiateHStore(HRegion.java:5485)
              at org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:992)
              at org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:989)
              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)
      

      Attachments

        1. HBASE-19304-v1.patch
          2 kB
          Sergey Soldatov

        Issue Links

          Activity

            People

              sergey.soldatov Sergey Soldatov
              sergey.soldatov Sergey Soldatov
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: