Interface TapePerNodeLocalQueueCriticalHandler
- All Known Implementing Classes:
TapePerNodeLocalQueueCriticalHandlerImpl
public interface TapePerNodeLocalQueueCriticalHandler
Helper for handling critical situations like being unable to peek, add, remove from queue.
This cause of this situation can be a corrupted file, no space left, etc and generally in such
case we don't want the Bamboo node instance to break. The general idea is to try to recover if possible,
if not ignore replication messages and log/notify that the cluster is inconsistent.
- Since:
- 9.5
-
Method Summary
Modifier and TypeMethodDescriptionboolean
handleCriticalAdd
(PerNodeLocalQueue queue, CrossNodesEvent crossNodesEvent, Throwable t) Should try to "somehow" solve the critical situation of adding on this queue, may retry adding to queue.boolean
handleCriticalPeek
(PerNodeLocalQueue queue, Throwable t) Should try to "somehow" solve the critical situation of peeking on this queue.boolean
handleCriticalRemove
(PerNodeLocalQueue queue, Throwable t) Should try to "somehow" solve the critical situation of removing on this queue, may retry removing from queue.
-
Method Details
-
handleCriticalAdd
Should try to "somehow" solve the critical situation of adding on this queue, may retry adding to queue.- Returns:
- true if the critical situation was "somehow" handled; it does not mean that
CrossNodesEvent
was successfully added
-
handleCriticalPeek
Should try to "somehow" solve the critical situation of peeking on this queue.- Returns:
- true if the critical situation was "somehow" handled;
-
handleCriticalRemove
Should try to "somehow" solve the critical situation of removing on this queue, may retry removing from queue.- Returns:
- true if the critical situation was "somehow" handled; it does not mean that last
CrossNodesEvent
was successfully removed
-