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


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

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)

requestSplit

public boolean requestSplit(HRegion r)

requestSplit

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

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)
                                          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.
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)
                                    throws IOException
Specified by:
requestCompaction in interface CompactionRequestor
Parameters:
r - HRegion store belongs to
s - Store to request compaction on
why - Why compaction requested -- used in debug messages
priority - override the default priority (NO_PRIORITY == decide)
request - custom compaction request. Can be null in which case a simple compaction will be used.
Returns:
The created CompactionRequest or null if no compaction was started
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.

getRegionSplitLimit

public int getRegionSplitLimit()
Returns:
the regionSplitLimit


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.