Class TapePerNodeLocalQueueCriticalHandlerImpl
java.lang.Object
com.atlassian.bamboo.cluster.tape.TapePerNodeLocalQueueCriticalHandlerImpl
- All Implemented Interfaces:
TapePerNodeLocalQueueCriticalHandler
public final class TapePerNodeLocalQueueCriticalHandlerImpl
extends Object
implements TapePerNodeLocalQueueCriticalHandler
- Since:
- 9.5
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
handleCriticalAdd
(PerNodeLocalQueue queue, CrossNodesEvent crossNodesEvent, Throwable t) Add can not break when the file is corrupted.boolean
handleCriticalPeek
(PerNodeLocalQueue queue, Throwable t) Potential problems: - closed queue - something that can be resolved by removing event from queue head, could be caused when can't deserialize (ClassNotFoundException) - permissions of queue file changed(?) - corrupted fileboolean
handleCriticalRemove
(PerNodeLocalQueue queue, Throwable t) Potential problems: - closed queue - corrupted file - permissions of queue file changed(?)
-
Constructor Details
-
TapePerNodeLocalQueueCriticalHandlerImpl
public TapePerNodeLocalQueueCriticalHandlerImpl()
-
-
Method Details
-
handleCriticalAdd
public boolean handleCriticalAdd(PerNodeLocalQueue queue, CrossNodesEvent crossNodesEvent, Throwable t) Add can not break when the file is corrupted. Potential problems: - closed queue - permissions of queue file changed(?) - no space left on device- Specified by:
handleCriticalAdd
in interfaceTapePerNodeLocalQueueCriticalHandler
- Returns:
- true if the critical situation was "somehow" handled; it does not mean that
CrossNodesEvent
was successfully added
-
handleCriticalPeek
Potential problems: - closed queue - something that can be resolved by removing event from queue head, could be caused when can't deserialize (ClassNotFoundException) - permissions of queue file changed(?) - corrupted file- Specified by:
handleCriticalPeek
in interfaceTapePerNodeLocalQueueCriticalHandler
- Returns:
- true if the critical situation was "somehow" handled;
-
handleCriticalRemove
Potential problems: - closed queue - corrupted file - permissions of queue file changed(?)- Specified by:
handleCriticalRemove
in interfaceTapePerNodeLocalQueueCriticalHandler
- Returns:
- true if the critical situation was "somehow" handled; it does not mean that last
CrossNodesEvent
was successfully removed
-