@InterfaceAudience.Private
public class AsyncDispatcher
extends org.apache.hadoop.service.CompositeService
implements org.apache.hadoop.yarn.event.Dispatcher
Events in a separate thread. Currently only single thread
does that. Potentially there could be multiple channels for each event type
class and a thread pool can be used to dispatch the events.| Modifier and Type | Field and Description |
|---|---|
protected Map<Class<? extends Enum>,AsyncDispatcherConcurrent> |
concurrentEventDispatchers |
protected Map<Class<? extends Enum>,AsyncDispatcher> |
eventDispatchers |
protected Map<Class<? extends Enum>,org.apache.hadoop.yarn.event.EventHandler> |
eventHandlers |
| Constructor and Description |
|---|
AsyncDispatcher(String name) |
AsyncDispatcher(String name,
BlockingQueue<org.apache.hadoop.yarn.event.Event> eventQueue) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkForExistingDispatchers(boolean checkHandler,
Class<? extends Enum> eventType) |
Runnable |
createThread() |
protected void |
dispatch(org.apache.hadoop.yarn.event.Event event) |
void |
enableExitOnDispatchException() |
org.apache.hadoop.yarn.event.EventHandler |
getEventHandler() |
int |
getQueueSize() |
void |
register(Class<? extends Enum> eventType,
org.apache.hadoop.yarn.event.EventHandler handler)
Add an EventHandler for events handled inline on this dispatcher
|
void |
registerAndCreateDispatcher(Class<? extends Enum> eventType,
org.apache.hadoop.yarn.event.EventHandler handler,
String dispatcherName)
Add an EventHandler for events handled in their own dispatchers with given name
|
AsyncDispatcherConcurrent |
registerAndCreateDispatcher(Class<? extends Enum> eventType,
org.apache.hadoop.yarn.event.EventHandler handler,
String dispatcherName,
int numThreads) |
void |
registerWithExistingDispatcher(Class<? extends Enum> eventType,
org.apache.hadoop.yarn.event.EventHandler handler,
AsyncDispatcherConcurrent dispatcher) |
protected void |
serviceInit(org.apache.hadoop.conf.Configuration conf) |
protected void |
serviceStart() |
protected void |
serviceStop() |
void |
setDrainEventsOnStop() |
addIfService, addService, getServices, removeServiceclose, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStopprotected final Map<Class<? extends Enum>,org.apache.hadoop.yarn.event.EventHandler> eventHandlers
protected final Map<Class<? extends Enum>,AsyncDispatcher> eventDispatchers
protected final Map<Class<? extends Enum>,AsyncDispatcherConcurrent> concurrentEventDispatchers
public AsyncDispatcher(String name)
public AsyncDispatcher(String name, BlockingQueue<org.apache.hadoop.yarn.event.Event> eventQueue)
public Runnable createThread()
protected void serviceInit(org.apache.hadoop.conf.Configuration conf)
throws Exception
serviceInit in class org.apache.hadoop.service.CompositeServiceExceptionprotected void serviceStart()
throws Exception
serviceStart in class org.apache.hadoop.service.CompositeServiceExceptionpublic void setDrainEventsOnStop()
protected void serviceStop()
throws Exception
serviceStop in class org.apache.hadoop.service.CompositeServiceExceptionprotected void dispatch(org.apache.hadoop.yarn.event.Event event)
protected void checkForExistingDispatchers(boolean checkHandler,
Class<? extends Enum> eventType)
public void enableExitOnDispatchException()
public void register(Class<? extends Enum> eventType, org.apache.hadoop.yarn.event.EventHandler handler)
register in interface org.apache.hadoop.yarn.event.Dispatcherpublic void registerAndCreateDispatcher(Class<? extends Enum> eventType, org.apache.hadoop.yarn.event.EventHandler handler, String dispatcherName)
public AsyncDispatcherConcurrent registerAndCreateDispatcher(Class<? extends Enum> eventType, org.apache.hadoop.yarn.event.EventHandler handler, String dispatcherName, int numThreads)
public void registerWithExistingDispatcher(Class<? extends Enum> eventType, org.apache.hadoop.yarn.event.EventHandler handler, AsyncDispatcherConcurrent dispatcher)
public org.apache.hadoop.yarn.event.EventHandler getEventHandler()
getEventHandler in interface org.apache.hadoop.yarn.event.Dispatcher@InterfaceAudience.Private public int getQueueSize()
Copyright © 2019 Apache Software Foundation. All rights reserved.