[
https://issues.apache.org/jira/browse/HBASE-25711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17311166#comment-17311166
]
Rajeshbabu Chintaguntla commented on HBASE-25711:
-------------------------------------------------
[~stack]
The servers going down during create table itself because the
IllegalArgumentException getting thrown during region initialisation so there
is no way to bring back the cluster to normal state until unless delete table
directory in hdfs, meta entries and proc wals.
bq. Any suggestions for how to deal w/ this?
Would be better to check the metadata property values for data block encoding,
compression are proper or not in ColumnFamilyDescriptorBuilder#setValue and
throw out early in case of wrong values.
> Setting wrong data block encoding through
> ColumnFamilyDescriptorBuilder#setValue leading to servers down
> --------------------------------------------------------------------------------------------------------
>
> Key: HBASE-25711
> URL: https://issues.apache.org/jira/browse/HBASE-25711
> Project: HBase
> Issue Type: Bug
> Reporter: Rajeshbabu Chintaguntla
> Assignee: Rajeshbabu Chintaguntla
> Priority: Major
>
> Setting wrong data block encoding using
> ColumnFamilyDescriptorBuilder#setValue instead of using
> ColumnFamilyDescriptorBuilder#setDataBlockEncoding leading to region servers
> down eventually kill master also. This is possible from Phoenix where all the
> column family properties passed to descriptors using
> ColumnFamilyDescriptorBuilder#setValue.
> {noformat}
> Failed to open region
> my_case_sensitive_table,,1617040355998.d8a1df22970075b8863d5c39b2c1e08c.,
> will report to master
> java.io.IOException: java.lang.IllegalArgumentException: No enum constant
> org.apache.hadoop.hbase.io.encoding.DataBlockEncoding.SDFS
> at
> org.apache.hadoop.hbase.regionserver.HRegion.initializeStores(HRegion.java:1134)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.initializeStores(HRegion.java:1076)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.initializeRegionInternals(HRegion.java:973)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:925)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7346)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7304)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7276)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7234)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7185)
> at
> org.apache.hadoop.hbase.regionserver.handler.AssignRegionHandler.process(AssignRegionHandler.java:133)
> at
> org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104)
> 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)
> Caused by: java.lang.IllegalArgumentException: No enum constant
> org.apache.hadoop.hbase.io.encoding.DataBlockEncoding.SDFS
> at java.lang.Enum.valueOf(Enum.java:238)
> at
> org.apache.hadoop.hbase.io.encoding.DataBlockEncoding.valueOf(DataBlockEncoding.java:31)
> at
> org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.lambda$getDataBlockEncoding$2(ColumnFamilyDescriptorBuilder.java:806)
> at
> org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.lambda$getStringOrDefault$0(ColumnFamilyDescriptorBuilder.java:708)
> at
> org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getOrDefault(ColumnFamilyDescriptorBuilder.java:716)
> at
> org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getStringOrDefault(ColumnFamilyDescriptorBuilder.java:708)
> at
> org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getDataBlockEncoding(ColumnFamilyDescriptorBuilder.java:805)
> at org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:269)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateHStore(HRegion.java:5816)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:1098)
> at
> org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:1095)
> 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)
> ... 3 more
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)