org.apache.hadoop.hbase.master.handler
Class TableEventHandler

java.lang.Object
  extended by org.apache.hadoop.hbase.executor.EventHandler
      extended by org.apache.hadoop.hbase.master.handler.TableEventHandler
All Implemented Interfaces:
Comparable<Runnable>, Runnable
Direct Known Subclasses:
DeleteTableHandler, ModifyTableHandler, RestoreSnapshotHandler, TableAddFamilyHandler, TableDeleteFamilyHandler, TableModifyFamilyHandler

public abstract class TableEventHandler
extends EventHandler

Base class for performing operations against tables. Checks on whether the process can go forward are done in constructor rather than later on in process(). The idea is to fail fast rather than later down in an async invocation of process() (which currently has no means of reporting back issues once started).


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.executor.EventHandler
EventHandler.EventHandlerListener, EventHandler.EventType
 
Field Summary
protected  boolean isEventBeingHandled
           
protected  MasterServices masterServices
           
protected  byte[] tableName
           
protected  String tableNameStr
           
 
Fields inherited from class org.apache.hadoop.hbase.executor.EventHandler
eventType, seqids, server, waitingTimeForEvents
 
Constructor Summary
TableEventHandler(EventHandler.EventType eventType, byte[] tableName, Server server, MasterServices masterServices)
           
 
Method Summary
protected  void completed(Throwable exception)
          Called after that process() is completed.
 HTableDescriptor getTableDescriptor()
          Gets a TableDescriptor from the masterServices.
protected abstract  void handleTableOperation(List<HRegionInfo> regions)
           
 void process()
          This method is the main processing loop to be implemented by the various subclasses.
 boolean reOpenAllRegions(List<HRegionInfo> regions)
           
 void waitForEventBeingHandled()
          Table modifications are processed asynchronously, but provide an API for you to query their status.
 
Methods inherited from class org.apache.hadoop.hbase.executor.EventHandler
compareTo, getEventType, getInformativeName, getListener, getPriority, getSeqid, run, setListener, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

masterServices

protected final MasterServices masterServices

tableName

protected final byte[] tableName

tableNameStr

protected final String tableNameStr

isEventBeingHandled

protected boolean isEventBeingHandled
Constructor Detail

TableEventHandler

public TableEventHandler(EventHandler.EventType eventType,
                         byte[] tableName,
                         Server server,
                         MasterServices masterServices)
                  throws IOException
Throws:
IOException
Method Detail

process

public void process()
Description copied from class: EventHandler
This method is the main processing loop to be implemented by the various subclasses.

Specified by:
process in class EventHandler

completed

protected void completed(Throwable exception)
Called after that process() is completed.

Parameters:
exception - null if process() is successful or not null if something has failed.

reOpenAllRegions

public boolean reOpenAllRegions(List<HRegionInfo> regions)
                         throws IOException
Throws:
IOException

getTableDescriptor

public HTableDescriptor getTableDescriptor()
                                    throws FileNotFoundException,
                                           IOException
Gets a TableDescriptor from the masterServices. Can Throw exceptions.

Returns:
Table descriptor for this table
Throws:
TableExistsException
FileNotFoundException
IOException

handleTableOperation

protected abstract void handleTableOperation(List<HRegionInfo> regions)
                                      throws IOException,
                                             org.apache.zookeeper.KeeperException
Throws:
IOException
org.apache.zookeeper.KeeperException

waitForEventBeingHandled

public void waitForEventBeingHandled()
                              throws IOException
Table modifications are processed asynchronously, but provide an API for you to query their status.

Throws:
IOException


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