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 booleanhandleCriticalAdd(PerNodeLocalQueue queue, CrossNodesEvent crossNodesEvent, Throwable t)Add can not break when the file is corrupted.booleanhandleCriticalPeek(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 filebooleanhandleCriticalRemove(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:
handleCriticalAddin interfaceTapePerNodeLocalQueueCriticalHandler- Returns:
- true if the critical situation was "somehow" handled; it does not mean that
CrossNodesEventwas 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:
handleCriticalPeekin 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:
handleCriticalRemovein interfaceTapePerNodeLocalQueueCriticalHandler- Returns:
- true if the critical situation was "somehow" handled; it does not mean that last
CrossNodesEventwas successfully removed
-
-