org.apache.hadoop.hbase.regionserver
Class CompactSplitThread

java.lang.Object
  extended by org.apache.hadoop.hbase.regionserver.CompactSplitThread
All Implemented Interfaces:
CompactionRequestor

@InterfaceAudience.Private
public class CompactSplitThread
extends Object
implements CompactionRequestor

Compact region on request and then run split if appropriate


Field Summary
static int DEFAULT_REGION_SERVER_REGION_SPLIT_LIMIT
           
static String REGION_SERVER_REGION_SPLIT_LIMIT
           
 
Method Summary
 String dumpQueue()
           
 int getCompactionQueueSize()
          Returns the current size of the queue containing regions that are processed.
 CompactionThroughputController getCompactionThroughputController()
           
 int getLargeCompactionQueueSize()
           
 int getRegionSplitLimit()
           
 int getSmallCompactionQueueSize()
           
 int getSplitQueueSize()
           
 CompactionRequest requestCompaction(HRegion r, Store s, String why, CompactionRequest request)
           
 CompactionRequest requestCompaction(HRegion r, Store s, String why, int priority, CompactionRequest request, User user)
           
 List<CompactionRequest> requestCompaction(HRegion r, String why)
           
 List<CompactionRequest> requestCompaction(HRegion r, String why, int p, List<Pair<CompactionRequest,Store>> requests, User user)
           
 List<CompactionRequest> requestCompaction(HRegion r, String why, List<Pair<CompactionRequest,Store>> requests)
           
 void requestRegionsMerge(HRegion a, HRegion b, boolean forcible, long masterSystemTime, User user)
           
 boolean requestSplit(HRegion r)
           
 void requestSplit(HRegion r, byte[] midKey)
           
 void requestSplit(HRegion r, byte[] midKey, User user)
           
 void requestSystemCompaction(HRegion r, Store s, String why)
           
 void requestSystemCompaction(HRegion r, String why)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

REGION_SERVER_REGION_SPLIT_LIMIT

public static final String REGION_SERVER_REGION_SPLIT_LIMIT
See Also:
Constant Field Values

DEFAULT_REGION_SERVER_REGION_SPLIT_LIMIT

public static final int DEFAULT_REGION_SERVER_REGION_SPLIT_LIMIT
See Also:
Constant Field Values
Method Detail

toString

public String toString()
Overrides:
toString in class Object

dumpQueue

public String dumpQueue()

requestRegionsMerge

public void requestRegionsMerge(HRegion a,
                                HRegion b,
                                boolean forcible,
                                long masterSystemTime,
                                User user)

requestSplit

public boolean requestSplit(HRegion r)

requestSplit

public void requestSplit(HRegion r,
                         byte[] midKey)

requestSplit

public void requestSplit(HRegion r,
                         byte[] midKey,
                         User user)

requestCompaction

public List<CompactionRequest> requestCompaction(HRegion r,
                                                 String why)
                                          throws IOException
Specified by:
requestCompaction in interface CompactionRequestor
Parameters:
r - Region to compact
why - Why compaction was requested -- used in debug messages
Returns:
The created CompactionRequests or an empty list if no compactions were started
Throws:
IOException

requestCompaction

public List<CompactionRequest> requestCompaction(HRegion r,
                                                 String why,
                                                 List<Pair<CompactionRequest,Store>> requests)
                                          throws IOException
Specified by:
requestCompaction in interface CompactionRequestor
Parameters:
r - Region to compact
why - Why compaction was requested -- used in debug messages
requests - custom compaction requests. Each compaction must specify the store on which it is acting. Can be null in which case a compaction will be attempted on all stores for the region.
Returns:
The created CompactionRequests or an empty list if no compactions were started
Throws:
IOException

requestCompaction

public CompactionRequest requestCompaction(HRegion r,
                                           Store s,
                                           String why,
                                           CompactionRequest request)
                                    throws IOException
Specified by:
requestCompaction in interface CompactionRequestor
Parameters:
r - Region to compact
s - Store within region to compact
why - Why compaction was requested -- used in debug messages
request - custom compaction request for the HRegion and Store. Custom request must be null or be constructed with matching region and store.
Returns:
The created CompactionRequest or null if no compaction was started.
Throws:
IOException

requestCompaction

public List<CompactionRequest> requestCompaction(HRegion r,
                                                 String why,
                                                 int p,
                                                 List<Pair<CompactionRequest,Store>> requests,
                                                 User user)
                                          throws IOException
Specified by:
requestCompaction in interface CompactionRequestor
Parameters:
r - Region to compact
why - Why compaction was requested -- used in debug messages
p - Priority of this compaction. minHeap. <=0 is critical
requests - custom compaction requests. Each compaction must specify the store on which it is acting. Can be null in which case a compaction will be attempted on all stores for the region.
user - the effective user
Returns:
The created CompactionRequests or an empty list if no compactions were started.
Throws:
IOException

requestCompaction

public CompactionRequest requestCompaction(HRegion r,
                                           Store s,
                                           String why,
                                           int priority,
                                           CompactionRequest request,
                                           User user)
                                    throws IOException
Specified by:
requestCompaction in interface CompactionRequestor
Parameters:
r - Region to compact
s - Store within region to compact
why - Why compaction was requested -- used in debug messages
priority - Priority of this compaction. minHeap. <=0 is critical
request - custom compaction request to run. Store and HRegion for the request must match the region and store specified here.
Returns:
The created CompactionRequest or null if no compaction was started
Throws:
IOException

requestSystemCompaction

public void requestSystemCompaction(HRegion r,
                                    String why)
                             throws IOException
Throws:
IOException

requestSystemCompaction

public void requestSystemCompaction(HRegion r,
                                    Store s,
                                    String why)
                             throws IOException
Throws:
IOException

getCompactionQueueSize

public int getCompactionQueueSize()
Returns the current size of the queue containing regions that are processed.

Returns:
The current size of the regions queue.

getLargeCompactionQueueSize

public int getLargeCompactionQueueSize()

getSmallCompactionQueueSize

public int getSmallCompactionQueueSize()

getSplitQueueSize

public int getSplitQueueSize()

getRegionSplitLimit

public int getRegionSplitLimit()
Returns:
the regionSplitLimit

getCompactionThroughputController

public CompactionThroughputController getCompactionThroughputController()


Copyright © 2007–2015 The Apache Software Foundation. All rights reserved.