av9ash/GitBugs huggingface dataset:
Bug: CandidateGenerator may miss some region balance actions
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 05/Mar/21 05:29
Affects Version/s: 2.0.0

{color:#172b4d}In codes of CandidateGenerator#getAction()，valid region index are greater or equal to zero. Currently only regions with greater than zero indexes can get balance actions.{color}
{code:java}
protected BaseLoadBalancer.Cluster.Action getAction(int fromServer, int fromRegion,
    int toServer, int toRegion) {
  if (fromServer < 0 || toServer < 0) {
    return BaseLoadBalancer.Cluster.NullAction;
  }
  if (fromRegion > 0 && toRegion > 0) {
    return new BaseLoadBalancer.Cluster.SwapRegionsAction(fromServer, fromRegion,
      toServer, toRegion);
  } else if (fromRegion > 0) {
    return new BaseLoadBalancer.Cluster.MoveRegionAction(fromRegion, fromServer, toServer);
  } else if (toRegion > 0) {
    return new BaseLoadBalancer.Cluster.MoveRegionAction(toRegion, toServer, fromServer);
  } else {
    return BaseLoadBalancer.Cluster.NullAction;
  }
}{code}
Bug: Document normalizer features NORMALIZER_TARGET_REGION_SIZE and NORMALIZER_TARGET_REGION_COUNT
Status: Open | Priority: Major | Resolution: 
Created: 09/Mar/21 23:00
Affects Version/s: 2.3.0

The normalizer can be configured for specific behavior via table properties {{NORMALIZER_TARGET_REGION_SIZE}} and {{NORMALIZER_TARGET_REGION_COUNT}}. Neither of these are mentioned in the book.
Bug: NPE when init RegionMover
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 05/Feb/21 07:36

When use graceful_stop.sh or command "${HBASE_HOME}/bin/hbase org.apache.hadoop.hbase.util.RegionMover -h", we can get NPE:
{code:java}
Exception in thread "main" java.lang.NullPointerExceptionException in thread "main" java.lang.NullPointerException at org.apache.hadoop.hbase.master.RackManager.<init>(RackManager.java:46) at org.apache.hadoop.hbase.util.RegionMover.<init>(RegionMover.java:128) at org.apache.hadoop.hbase.util.RegionMover.main(RegionMover.java:792)
{code}
Bug: Add client detail to scan name so when lease expires, we have clue on who was scanning
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 02/Feb/21 00:42
Affects Version/s: 2.3.2

On a busy cluster, seeing a bunch of this:

{code}
regionserver.RSRpcServices: Scanner -5594731657924732088 lease expired on region hbase:meta,,1.1588230740
{code}

Trying to figure out originator is a little tough; there isn't enough in for in the above.

scanid is a long but scan name is a string.. perhaps add in the client ip+port as scan id prefix? Or add the info to the value -- probably better -- and dump it out when we get one of these expirations?
Bug: Possible Resource Leak in CatalogJanitor
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 08/Mar/21 22:17
Affects Version/s: 2.4.3

We noticed a possible resource leak [here|https://github.com/apache/hbase/blob/53128fe7c17e6220113884fbad69d75c59ed56b7/hbase-server/src/main/java/org/apache/hadoop/hbase/master/janitor/CatalogJanitor.java#L411]. {{close()}} is never called on {{inStream}}.
 I'll submit a pull request to fix it.
Bug: Support setting scan ReadType to be STREAM at cluster level
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 16/Feb/21 10:58
Affects Version/s: 2.0.0

We have the config 'hbase.storescanner.use.pread' at cluster level to set ReadType to be PRead if not explicitly specified in Scan object.
Same way we can have a way to make scan as STREAM type at cluster level (if not specified at Scan object level)
We do not need any new configs or so.  We have the config 'hbase.storescanner.pread.max.bytes' which specifies when to switch read type to stream and it defaults to 4 * HFile block size.  If one config this value as <= 0 means user need the switch when scanner is created itself.  With such a handling we can support it.
So every scan need not set the read type.

The issue is in Cloud storage based system using Stream reads might be better.  We introduced this PRead based scan with tests on HDFS based storage.   In my customer case, Azure storage in place and WASB driver been used. We have a read ahead mechanism there (Read an entire Block of a blob in one REST call) and buffer that in WASB driver.  This helps a lot wrt longer scans.   Ya with config 'hbase.storescanner.pread.max.bytes'  we can make the switch to happen early but better to go with 1.x way where the scan starts with Stream read itself.
Bug: Create table with rsgroup info in branch-2
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 11/Jan/21 07:10

Currently we need to create table and then move it to desired RSGroup which cost HM assignment twice, considering table with many regions it will be huge.

We have a use case where user want to create table with rsgroup. HBASE-22695 already implemented this feature in master branch but not ported to branch-2 because master and branch-2 implementations are different. This JIRA aims to implement this feature in branch-2. 

But unlike master branch, rsgroup information from TableDescriptor is used only while creating the table to keep the changes minimum.
Bug: Fix normalizer and TestSimpleRegionNormalizerOnCluster in branch-1 after HBASE-25592 HBASE-23932
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 09/Mar/21 04:49
Affects Version/s: 1.7.0

On branch-1 run

{{mvn test -Dtest=TestSimpleRegionNormalizerOnCluster}}

It fails. It appears to be due to some problems in the refactoring related to HBASE-25592 and HBASE-23932.

 
{code:java}
[INFO] Running org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 131.753 s <<< FAILURE! - in org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster
[ERROR] testRegionNormalizationSplitOnCluster(org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster)  Time elapsed: 60.107 s  <<< ERROR!
org.junit.runners.model.TestTimedOutException: test timed out after 60000 milliseconds
	at org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster.testRegionNormalizationSplitOnCluster(TestSimpleRegionNormalizerOnCluster.java:132)

[ERROR] testRegionNormalizationMergeOnCluster(org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster)  Time elapsed: 60.117 s  <<< ERROR!
org.junit.runners.model.TestTimedOutException: test timed out after 60000 milliseconds
	at org.apache.hadoop.hbase.master.normalizer.TestSimpleRegionNormalizerOnCluster.testRegionNormalizationMergeOnCluster(TestSimpleRegionNormalizerOnCluster.java:199)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   TestSimpleRegionNormalizerOnCluster.testRegionNormalizationMergeOnCluster:199 » TestTimedOut
[ERROR]   TestSimpleRegionNormalizerOnCluster.testRegionNormalizationSplitOnCluster:132 TestTimedOut
[INFO]
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0
{code}
Bug: Backporting HBASE-24885 to branch-2.2
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 25/Feb/21 08:01
Affects Version/s: 2.2.6

On a 2.2 HBase cluster we just hit the very same "HBCK2 assigns" issue already fixed in HBASE-24885. This improvement would be very useful on branch-2.2 too. I'll submit a PR soon.
Bug: ChoreService should be LimitedPrivate(COPROC)
Status: Resolved | Priority: Major | Resolution: Duplicate
Created: 09/Mar/21 00:39
Affects Version/s: 2.4.2

ChoreService is marked Public and is in hbase-common but is not part of our public client API. We aren't providing a library for scheduling chores and such; we are providing a client library for accessing remote HBase service. As part of the server framework, where it could be useful for coprocessors, it makes more sense to expose it as supported for that purpose. I believe this was the intent of marking it Public. However I argue it should be LimitedPrivate(COPROC) instead, which is the appropriate classification for server internal components we want to expose to plug ins.
Bug: Possible Resource Leak in HeterogeneousRegionCountCostFunction
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 02/Mar/21 20:17
Affects Version/s: 1.6.0

We noticed a possible resource leak [here|https://github.com/apache/hbase/blob/b522d2a33e31fbe70c341ea7068428ada8d51bc0/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/HeterogeneousRegionCountCostFunction.java#L225]. close() is called on {{reader}} at line 228 but if an I/O error occurs at line 225, {{reader}} remains open since the exception isn't caught locally.
I'll submit a pull request to fix it.
Bug: Scan use prefix filter someValue case  cause p99 very high
Status: Open | Priority: Major | Resolution: 
Created: 08/Mar/21 05:41
Affects Version/s: 2.2.3

There is some thing Wrong with the UseCase:

use client scan API : scan(prefix, null, _caching, new FilterList(new PrefixFilter(prefix)));

i find if there is a Space at the prefix end,there may be has a big filteredReadRequestCount in the regionserver which has the table region :

!image-2021-03-08-13-37-40-574.png!

so when the request the get P99 may be has a high value:

!image-2021-03-08-13-40-06-900.png!

so i want to know why  a Space at the prefix end can cause this issue
Bug: Expose drainingServers as cluster metric
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 04/Jan/21 18:49
Affects Version/s: 1.6.0

Due to some reason, we had significantly high number of servers put in decommissioned mode and for significant time, they continued being in the same state serving no regions at all. This put heavy load on rest of live servers and it was too late before one could recognize the issues with improper balancing of the cluster. And as expected, balancing such cluster with/without *runMaxSteps* can bring up sudden spike of RITs in proportion to the degree of imbalanced regions in the cluster.

Although running into such situation is rare, we can take some precautions by exposing metric. We should expose list of draining RegionServers as jmx metrics just like we expose _*liveRegionServers*_ and _*deadRegionServers*_. Such metric can help configure alerts with threshold on % of total RS that are allowed to go in draining mode (e.g during rolling upgrades) in any circumstances.
Bug: The master local region is constantly major compact
Status: Resolved | Priority: Major | Resolution: Not A Problem
Created: 05/Mar/21 09:52
Affects Version/s: 2.3.4

In [MasterRegionFlusherAndCompactor.compact|https://github.com/apache/hbase/blob/830d2895b27fa0cf39a28d3af9673a4126ea8258/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegionFlusherAndCompactor.java#L164], we call region.compact(true) constantly like recursion. This caused a lot of logs to be flushed.
Bug: Add detailed logs about which time zone is failing in TestCurrentHourProvider
Status: Resolved | Priority: Major | Resolution: Duplicate
Created: 28/Feb/21 13:25

https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2986/4/testReport/org.apache.hadoop.hbase.regionserver.compactions/TestCurrentHourProvider/precommit_checks___yetus_jdk11_hadoop3_checks___testWithEnvironmentEdge/

It passed for me locally and no one touches it recently, not sure why it is failing.

Digging.
Bug: ExportSnapshot chmod flag uses value as decimal
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 26/Feb/21 15:42
Affects Version/s: 2.0.0

ExportSnapshot reads the chmod flag as a decimal value. In HBase 1 the value is handled as octal as an operator expects it.

As an example -chmod 755 will result in the following permission:
{noformat}
--wxrw--wt   3 hbase hbase        13314534 2021-02-25 12:38 /tmp/chmod755/archive/data/default/cluster_test/045e4c368075d2c6d947cba7140c443a/test_cf/f7d5156d44974e7da8c983f08512f6a0 {noformat}
This bug was introduced in HBase 2.0.0 with the migration to Apache CLI.

Workaround: Use the decimal representation. 755 -> 493
Bug: Increase timeout value for pre commit
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 01/Mar/21 01:44

A full jdk8 build on our pre commit machines still can not finish within 7 hours after upgrading to the newest jdk8. Let's increase the timeout value for now.

Later we could see if it is possible to make the tests run faster, by set reuseForks to true or something.
Bug: [HBCK2] New check to prevent assign of already opened regions
Status: Open | Priority: Major | Resolution: 
Created: 25/Feb/21 08:15
Affects Version/s: hbase-operator-tools-1.1.0

Currently, if we don't have HBASE-24885 on the cluster and we use HBCK2 assigns command to assign an already OPEN region (even without the --override flag), then it can cause a stuck Region-In-Transition and a wrong OPENING state in the meta (or even a double assignment of the same region on two RS).

This happens because the HBase master RPC endpoint doesn't check if the region is already opened or not. The issue was fixed in HBASE-24885, but it still remain a problem in  previous HBase versions (2.2 and also 2.3.0 and 2.3.1. )

We could add some mechanism into HBCK2 to do a check and don't execute the assign command if the region is OPEN in the meta. (we could also add a 'force' flag to bypass this check). 

The new check should run only if HBASE-24885 is not present yet on the cluster (we could validate the cluster version)
Bug: TestFromClientSide5.testScanMetrics is flaky
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 23/Feb/21 08:17
Affects Version/s: 2.3.4

In some PRs, I got the following errors in UT results.
{code:java}
[ERROR] Errors: 
[ERROR] org.apache.hadoop.hbase.client.TestFromClientSide5.testScanMetrics[0]
[ERROR]   Run 1: TestFromClientSide5.testScanMetrics:1018 Did not count the result bytes expected:<60> but was:<120>
[ERROR]   Run 2: TestFromClientSide5.testScanMetrics:1036 Did not count the result bytes expected:<60> but was:<180>
[ERROR]   Run 3: TestFromClientSide5.testScanMetrics:951 Â» MasterRegistryFetch Exception making...
[INFO] 
[ERROR] org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor5.testScanMetrics[1]
[ERROR]   Run 1: TestFromClientSideWithCoprocessor5>TestFromClientSide5.testScanMetrics:1036 Did not count the result bytes expected:<60> but was:<120>
[ERROR]   Run 2: TestFromClientSideWithCoprocessor5>TestFromClientSide5.testScanMetrics:951 Â» IO
[ERROR]   Run 3: TestFromClientSideWithCoprocessor5>TestFromClientSide5.testScanMetrics:951 Â» IO
[INFO] 
{code}
I read the code further and found that this UT is flaky.
{code:java}
// check byte counters
scan2 = new Scan();
scan2.setScanMetricsEnabled(true);
scan2.setCaching(1);
try (ResultScanner scanner = ht.getScanner(scan2)) {
  int numBytes = 0;
  for (Result result : scanner.next(1)) {
    for (Cell cell : result.listCells()) {
      numBytes += PrivateCellUtil.estimatedSerializedSizeOf(cell);
    }
  }
  scanner.close();
  ScanMetrics scanMetrics = scanner.getScanMetrics();
  assertEquals("Did not count the result bytes", numBytes,
          scanMetrics.countOfBytesInResults.get());
}
{code}
In the code above, it is to check scanMetrics.countOfBytesInResults, but just get only ONE row by scanner.next(1) . A total of 3 rows are inserted into the table, and scanner prefetch from server in advance until maxCacheSize is exceeded, see [here|https://github.com/apache/hbase/blob/5fa15cfde3d77e77ffb1f09d60dce4db264f3831/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableResultScanner.java#L94].

So if scanner prefetch more than one row before closing scanner, the UT fails. we can reproduce this problem steadily by sleeping before scanner.close().
Bug: Add metric for age of oldest wal.
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 29/Jan/21 15:18
Affects Version/s: 1.6.0

In our production clusters, we have seen multiple cases where some of the wals are lingering in zk replication queues for months and we have no insight into it. Recently we fixed one case where wal was getting stuck if it is 0 size and from old sources. HBASE-25536. It would be helpful if we can have some metric which will tell us the age of oldest wal and we can add an alert for monitoring purpose.
Bug: HBase operator tools pom should include nexus staging repo management
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 13/Feb/21 18:40

The current RC creation scripts rely on project poms having a plugin configured to handle nexus staging repository closing / dropping. The hbase-operator-tools project is currently missing this plugin, which makes it so that a RM has to go manually close the staging repository and then copy the location into the generated vote text.

the needed plugin config is:

{code}
    <!-- this profile should match the name of the release profile in the root asf pom -->
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <!-- This should insert itself in place of the normal deploy plugin and then
               handle either closing or dropping the staging repository for us depending
               on if the build succeeds.
            -->
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.6.8</version>
            <extensions>true</extensions>
            <configuration>
              <nexusUrl>https://repository.apache.org/</nexusUrl>
              <serverId>apache.releases.https</serverId>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
{code}
Bug: HBase filesystem pom should include nexus staging repo management
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 13/Feb/21 18:46
Affects Version/s: hbase-filesystem-1.0.0-alpha1

The current RC creation scripts rely on project poms having a plugin configured to handle nexus staging repository closing / dropping. The hbase-filesystem project is currently missing this plugin, which makes it so that a RM has to go manually close the staging repository and then copy the location into the generated vote text.

the needed plugin config is:

{code}
    <!-- this profile should match the name of the release profile in the root asf pom -->
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <!-- This should insert itself in place of the normal deploy plugin and then
               handle either closing or dropping the staging repository for us depending
               on if the build succeeds.
            -->
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.6.8</version>
            <extensions>true</extensions>
            <configuration>
              <nexusUrl>https://repository.apache.org/</nexusUrl>
              <serverId>apache.releases.https</serverId>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
{code}
Bug: Compilation error in branch-2 after  HBASE-25364
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 12/Feb/21 17:50

{code:java}
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/code/apache/forked/hbaseBranch2/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java:[737,12] cannot find symbol
  symbol:   method getCell(byte[],byte[],byte[])
  location: class org.apache.hadoop.hbase.io.hfile.TestHFile
[ERROR] /D:/code/apache/forked/hbaseBranch2/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java:[738,13] cannot find symbol
  symbol:   method getCell(byte[],byte[],byte[])
  location: class org.apache.hadoop.hbase.io.hfile.TestHFile
[ERROR] /D:/code/apache/forked/hbaseBranch2/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java:[744,12] cannot find symbol
  symbol:   method getCell(byte[],byte[],byte[])
  location: class org.apache.hadoop.hbase.io.hfile.TestHFile
[ERROR] /D:/code/apache/forked/hbaseBranch2/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java:[745,13] cannot find symbol
  symbol:   method getCell(byte[],byte[],byte[])
  location: class org.apache.hadoop.hbase.io.hfile.TestHFile
[INFO] 4 errors

{code}
Bug: HRegionFileSystem.loadRegionInfoFileContent throws IOException occasionally
Status: Open | Priority: Major | Resolution: 
Created: 11/Feb/21 21:49
Affects Version/s: 2.1.4

We invoked HRegionFileSystem.loadRegionInfoFileContent to read .regioninfo from hdfs, but get an exception occasionally
{code:java}
Caused by: java.io.IOException: read=3, wanted=4
 at org.apache.hadoop.hbase.client.RegionInfo.parseFrom(RegionInfo.java:743)
 at org.apache.hadoop.hbase.regionserver.HRegionFileSystem.loadRegionInfoFileContent(HRegionFileSystem.java:856){code}
Bug: hbase 3.0.0 example source not usable due to hbase-asyncfs-3.0.0-SNAPSHOT jar not found
Status: Resolved | Priority: Major | Resolution: Invalid
Created: 26/Jan/21 18:43

tried to run maven on the example client pom for hbase 3.0.0. 

[ERROR] Failed to execute goal on project hbase-examples: Could not resolve dependencies for project org.apache.hbase:hbase-examples:jar:3.0.0-SNAPSHOT: The following artifacts could not be resolved: org.apache.hbase:hbase-asyncfs:jar:3.0.0-SNAPSHOT, org.apache.hbase:hbase-replication:jar:3.0.0-SNAPSHOT: Failure to find org.apache.hbase:hbase-asyncfs:jar:3.0.0-SNAPSHOT in https://repository.apache.org/snapshots was cached in the local repository, resolution will not be reattempted until the update interval of apache.snapshots has elapsed or updates are forced -> [Help 1]

 

I can't seem to find this jar and the link that points to the jar is dead.
Bug: Compilation failed due to conflict of plugin dependent packages
Status: Resolved | Priority: Major | Resolution: Not A Problem
Created: 11/Jan/21 13:28
Affects Version/s: 3.0.0-alpha-1

Compile the project fails, error messages are as follow. My maven version is 3.6.3
{code:java}
[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (compile-protoc) on project hbase-protocol-shaded: Execution compile-protoc of goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile failed: A required class was missing while executing org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile: org/codehaus/plexus/util/io/InputStreamFacade
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/haxl/.m2/repository/org/xolstice/maven/plugins/protobuf-maven-plugin/0.6.1/protobuf-maven-plugin-0.6.1.jar
[ERROR] urls[1] = file:/Users/haxl/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[project>org.apache.hbase:hbase:3.0.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] : org.codehaus.plexus.util.io.InputStreamFacade
[ERROR] -> [Help 1]
[ERROR] 
{code}
Bug:  The metadata of the table and family should not be an empty string
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 27/Jan/21 03:18

If the metadata of the table is set to null, the metadata will be removed. The code is:

[https://github.com/apache/hbase/blob/b07549febb462b072792659051c64bb54d122771/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java#L721]

But if set metadata as empty string, serious errors may occur. Some metadata is number, 
it will throw a NumberFormatException when converting empty string to a number. If the exception is thrown when the region is initialized, all regions of the table will be in RIT.

The following command can reproduced this issue. *Note: Please execute in the test environment.*
{code:java}
alter 'test_table', CONFIGURATION => {'hbase.rs.cachecompactedblocksonwrite.threshold' => ''}
{code}