hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-19304) KEEP_DELETED_CELLS should ignore case
Date Mon, 20 Nov 2017 16:03:00 GMT

     [ https://issues.apache.org/jira/browse/HBASE-19304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Josh Elser updated HBASE-19304:
-------------------------------
    Status: Patch Available  (was: Open)

> KEEP_DELETED_CELLS should ignore case 
> --------------------------------------
>
>                 Key: HBASE-19304
>                 URL: https://issues.apache.org/jira/browse/HBASE-19304
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 2.0.0-alpha-4
>            Reporter: Sergey Soldatov
>            Assignee: Sergey Soldatov
>            Priority: Blocker
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-19304-v1.patch
>
>
> 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:
> {code}
> 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)
> {code} 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message