Bug: Setting wrong data block encoding through ColumnFamilyDescriptorBuilder#setValue leading to servers down
Status: Open | Priority: Major | Resolution: 
Created: 29/Mar/21 19:03

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}