org.apache.hadoop.hbase.master
Interface MasterServices

All Superinterfaces:
Abortable, Server, Stoppable
All Known Implementing Classes:
HMaster, HMasterCommandLine.LocalHMaster

@InterfaceAudience.Private
public interface MasterServices
extends Server

Services Master supplies


Method Summary
 void addColumn(byte[] tableName, HColumnDescriptor column)
          Add a new column to an existing table
 void checkTableModifiable(byte[] tableName)
          Check table is modifiable; i.e.
 void createTable(HTableDescriptor desc, byte[][] splitKeys)
          Create a table using the given table definition.
 void deleteColumn(byte[] tableName, byte[] columnName)
          Delete a column from an existing table
 void deleteTable(byte[] tableName)
          Delete a table
 void disableTable(byte[] tableName)
          Disable an existing table
 void dispatchMergingRegions(HRegionInfo region_a, HRegionInfo region_b, boolean forcible)
          Merge two regions.
 void enableTable(byte[] tableName)
          Enable an existing table
 AssignmentManager getAssignmentManager()
           
 MasterCoprocessorHost getCoprocessorHost()
           
 ExecutorService getExecutorService()
           
 MasterFileSystem getMasterFileSystem()
           
 ServerManager getServerManager()
           
 TableDescriptors getTableDescriptors()
           
 TableLockManager getTableLockManager()
           
 boolean isInitialized()
           
 boolean isServerShutdownHandlerEnabled()
           
 void modifyColumn(byte[] tableName, HColumnDescriptor descriptor)
          Modify the column descriptor of an existing column in an existing table
 void modifyTable(byte[] tableName, HTableDescriptor descriptor)
          Modify the descriptor of an existing table
 boolean registerService(com.google.protobuf.Service instance)
          Registers a new protocol buffer Service subclass as a master coprocessor endpoint.
 
Methods inherited from interface org.apache.hadoop.hbase.Server
getCatalogTracker, getConfiguration, getServerName, getZooKeeper
 
Methods inherited from interface org.apache.hadoop.hbase.Abortable
abort, isAborted
 
Methods inherited from interface org.apache.hadoop.hbase.Stoppable
isStopped, stop
 

Method Detail

getAssignmentManager

AssignmentManager getAssignmentManager()
Returns:
Master's instance of the AssignmentManager

getMasterFileSystem

MasterFileSystem getMasterFileSystem()
Returns:
Master's filesystem MasterFileSystem utility class.

getServerManager

ServerManager getServerManager()
Returns:
Master's ServerManager instance.

getExecutorService

ExecutorService getExecutorService()
Returns:
Master's instance of ExecutorService

getTableLockManager

TableLockManager getTableLockManager()
Returns:
Master's instance of TableLockManager

getCoprocessorHost

MasterCoprocessorHost getCoprocessorHost()
Returns:
Master's instance of MasterCoprocessorHost

checkTableModifiable

void checkTableModifiable(byte[] tableName)
                          throws IOException,
                                 TableNotFoundException,
                                 TableNotDisabledException
Check table is modifiable; i.e. exists and is offline.

Parameters:
tableName - Name of table to check.
Throws:
TableNotDisabledException
TableNotFoundException
IOException

createTable

void createTable(HTableDescriptor desc,
                 byte[][] splitKeys)
                 throws IOException
Create a table using the given table definition.

Parameters:
desc - The table definition
splitKeys - Starting row keys for the initial table regions. If null a single region is created.
Throws:
IOException

deleteTable

void deleteTable(byte[] tableName)
                 throws IOException
Delete a table

Parameters:
tableName - The table name
Throws:
IOException

modifyTable

void modifyTable(byte[] tableName,
                 HTableDescriptor descriptor)
                 throws IOException
Modify the descriptor of an existing table

Parameters:
tableName - The table name
descriptor - The updated table descriptor
Throws:
IOException

enableTable

void enableTable(byte[] tableName)
                 throws IOException
Enable an existing table

Parameters:
tableName - The table name
Throws:
IOException

disableTable

void disableTable(byte[] tableName)
                  throws IOException
Disable an existing table

Parameters:
tableName - The table name
Throws:
IOException

addColumn

void addColumn(byte[] tableName,
               HColumnDescriptor column)
               throws IOException
Add a new column to an existing table

Parameters:
tableName - The table name
column - The column definition
Throws:
IOException

modifyColumn

void modifyColumn(byte[] tableName,
                  HColumnDescriptor descriptor)
                  throws IOException
Modify the column descriptor of an existing column in an existing table

Parameters:
tableName - The table name
descriptor - The updated column definition
Throws:
IOException

deleteColumn

void deleteColumn(byte[] tableName,
                  byte[] columnName)
                  throws IOException
Delete a column from an existing table

Parameters:
tableName - The table name
columnName - The column name
Throws:
IOException

getTableDescriptors

TableDescriptors getTableDescriptors()
Returns:
Return table descriptors implementation.

isServerShutdownHandlerEnabled

boolean isServerShutdownHandlerEnabled()
Returns:
true if master enables ServerShutdownHandler;

registerService

boolean registerService(com.google.protobuf.Service instance)
Registers a new protocol buffer Service subclass as a master coprocessor endpoint.

Only a single instance may be registered for a given Service subclass (the instances are keyed on Descriptors.ServiceDescriptor.getFullName(). After the first registration, subsequent calls with the same service name will fail with a return value of false.

Parameters:
instance - the Service subclass instance to expose as a coprocessor endpoint
Returns:
true if the registration was successful, false otherwise

dispatchMergingRegions

void dispatchMergingRegions(HRegionInfo region_a,
                            HRegionInfo region_b,
                            boolean forcible)
                            throws IOException
Merge two regions. The real implementation is on the regionserver, master just move the regions together and send MERGE RPC to regionserver

Parameters:
region_a - region to merge
region_b - region to merge
forcible - true if do a compulsory merge, otherwise we will only merge two adjacent regions
Throws:
IOException

isInitialized

boolean isInitialized()
Returns:
true if master is initialized


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