Implement failTransfer, failReport methods and draw state change diagram of the workflow
stateDiagram-v2
direction TB
classDef whitesystem fill:white
classDef needsreview fill:#ff8c1a
classDef allok fill:#66b3ff
classDef almostimplemented fill:yellow
OStoreDB:::allok --> ArchiveJob:::allok
ArchiveJob --> failTransfer()
failTransfer() --> m_archiveRequest
m_archiveRequest --> addTransferFailure()
state addTransferFailure() {
updates_fail_stats
if_last_trial_returns_next_step_flag
requeues_otherwise_by_status_change_same_mount_or_not
}
addTransferFailure() --> EnqueueingNextStep
EnqueueingNextStep --> Nothing
EnqueueingNextStep --> Delete
EnqueueingNextStep --> EnqueueForReportForUser
EnqueueingNextStep --> EnqueueForReportForRepack
EnqueueingNextStep --> EnqueueForTransferForUser
EnqueueingNextStep --> EnqueueForTransferForRepack
EnqueueingNextStep --> StoreInFailedJobsContainer
Nothing --> m_archiveRequest.commit()
Delete --> m_archiveRequest.remove()
EnqueueForReportForUser --> state_change_to:ArchiveQueueToReportForUser
EnqueueForReportForRepack --> state_change_to:ArchiveQueueToReportToRepackForFailure
EnqueueForTransferForUser --> state_change_to:ArchiveQueueToTransferForUser
EnqueueForTransferForRepack --> state_change_to:ArchiveQueueToTransferForRepack
StoreInFailedJobsContainer --> store_in_failed_queue_container
Edited by Jaroslav Guenther