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 Details

    • handleCriticalAdd

      boolean 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.
      Returns:
      true if the critical situation was "somehow" handled; it does not mean that CrossNodesEvent was successfully added
    • handleCriticalPeek

      boolean handleCriticalPeek(PerNodeLocalQueue queue, Throwable t)
      Should try to "somehow" solve the critical situation of peeking on this queue.
      Returns:
      true if the critical situation was "somehow" handled;
    • handleCriticalRemove

      boolean handleCriticalRemove(PerNodeLocalQueue queue, Throwable t)
      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