@@ -200,9 +200,7 @@ public String dumpQueue() {
200200 }
201201
202202 public synchronized boolean requestSplit (final Region r ) {
203- // Don't split regions that are blocking is the default behavior.
204- // But in some circumstances, split here is needed to prevent the region size from
205- // continuously growing, as well as the number of store files, see HBASE-26242.
203+ // don't split regions that are blocking
206204 HRegion hr = (HRegion )r ;
207205 try {
208206 if (shouldSplitRegion () && hr .getCompactPriority () >= PRIORITY_USER ) {
@@ -220,14 +218,14 @@ public synchronized boolean requestSplit(final Region r) {
220218 return false ;
221219 }
222220
223- private synchronized void requestSplit (final Region r , byte [] midKey ) {
221+ public synchronized void requestSplit (final Region r , byte [] midKey ) {
224222 requestSplit (r , midKey , null );
225223 }
226224
227225 /*
228226 * The User parameter allows the split thread to assume the correct user identity
229227 */
230- private synchronized void requestSplit (final Region r , byte [] midKey , User user ) {
228+ public synchronized void requestSplit (final Region r , byte [] midKey , User user ) {
231229 if (midKey == null ) {
232230 LOG .debug ("Region " + r .getRegionInfo ().getRegionNameAsString () +
233231 " not splittable because midkey=null" );
@@ -489,9 +487,9 @@ public int getSplitQueueSize() {
489487 }
490488
491489 private boolean shouldSplitRegion () {
492- if (server .getNumberOfOnlineRegions () > 0.9 * regionSplitLimit ) {
490+ if (server .getNumberOfOnlineRegions () > 0.9 * regionSplitLimit ) {
493491 LOG .warn ("Total number of regions is approaching the upper limit " + regionSplitLimit + ". "
494- + "Please consider taking a look at http://hbase.apache.org/book.html#ops.regionmgt" );
492+ + "Please consider taking a look at http://hbase.apache.org/book.html#ops.regionmgt" );
495493 }
496494 return (regionSplitLimit > server .getNumberOfOnlineRegions ());
497495 }
@@ -659,14 +657,11 @@ private void doCompaction(User user) {
659657 this + "; duration=" + StringUtils .formatTimeDiff (now , start ));
660658 if (completed ) {
661659 // degenerate case: blocked regions require recursive enqueues
662- if (region .getCompactPriority () < Store .PRIORITY_USER
663- && store .getCompactPriority () <= 0 ) {
660+ if (store .getCompactPriority () <= 0 ) {
664661 requestSystemCompaction (region , store , "Recursive enqueue" );
665662 } else {
666663 // see if the compaction has caused us to exceed max region size
667- if (!requestSplit (region ) && store .getCompactPriority () <= 0 ) {
668- requestSystemCompaction (region , store , "Recursive enqueue" );
669- }
664+ requestSplit (region );
670665 }
671666 }
672667 } catch (IOException ex ) {
0 commit comments