hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chia-Ping Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19304) KEEP_DELETED_CELLS should ignore case
Date Mon, 20 Nov 2017 17:01:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-19304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16259477#comment-16259477
] 

Chia-Ping Tsai commented on HBASE-19304:
----------------------------------------

bq. A unit test for enum eval seems over-the-top... 
We can address it in HBASE-19307

> 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