Class ForeignExceptionDispatcher

java.lang.Object
org.apache.hadoop.hbase.errorhandling.ForeignExceptionDispatcher
All Implemented Interfaces:
ForeignExceptionListener, ForeignExceptionSnare

The dispatcher acts as the state holding entity for foreign error handling. The first exception received by the dispatcher get passed directly to the listeners. Subsequent exceptions are dropped.

If there are multiple dispatchers that are all in the same foreign exception monitoring group, ideally all these monitors are "peers" -- any error on one dispatcher should get propagated to all others (via rpc, or some other mechanism). Due to racing error conditions the exact reason for failure may be different on different peers, but the fact that they are in error state should eventually hold on all.

This is thread-safe and must be because this is expected to be used to propagate exceptions from foreign threads.