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
Constructors Constructor Description TapePerNodeLocalQueueCriticalHandlerImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
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(?)
-
-
-
Method Detail
-
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
public 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 file- Specified by:
handleCriticalPeek
in interfaceTapePerNodeLocalQueueCriticalHandler
- Returns:
- true if the critical situation was "somehow" handled;
-
handleCriticalRemove
public boolean handleCriticalRemove(PerNodeLocalQueue queue, Throwable t)
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
-
-