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)
           
 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
 

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 - 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.

getRegionSplitLimit

public int getRegionSplitLimit()
Returns:
the regionSplitLimit


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