Changed lifecycle of archive and retrieve jobs.
The archive jobs now have 4 states: ToTransfer, Complete, ToReport, Failed. The ToReport state is special: the last job of the request that completes will get this state, and get queued to the corresponding report queue. This allows the unpinning of the file in the disk system for garbage collection. The state is kept at the job level to not change the ownership model, which is at the job level for the archive requests. The retrieve requests now have 2 states: ToTransfer, Failed. On completion, the whole request is deleted. The retrieve request has an implicit state derived from its jobs and an internal boolean: ToTransfer if an job is to still in this state. If all jobs are failed, the request as a whole becomes "ToReport" implicitely, and queued to the corresponding queue. After being reported, the "failure reported" boolean is set and the request is queued to the failed queue. This commit implements parts of this scheme: - The change of statuses. - The creation of the 3 flavor of queues (to transfer, to report, failed). It should be noted that for archivals, the success gets reported, and for retrievals, the failure is reported. - The garbage collection has been adapted.
Showing
- objectstore/ArchiveQueue.cpp 1 addition, 1 deletionobjectstore/ArchiveQueue.cpp
- objectstore/ArchiveRequest.cpp 33 additions, 55 deletionsobjectstore/ArchiveRequest.cpp
- objectstore/ArchiveRequest.hpp 6 additions, 1 deletionobjectstore/ArchiveRequest.hpp
- objectstore/CMakeLists.txt 1 addition, 0 deletionsobjectstore/CMakeLists.txt
- objectstore/GarbageCollector.cpp 62 additions, 47 deletionsobjectstore/GarbageCollector.cpp
- objectstore/GarbageCollector.hpp 3 additions, 2 deletionsobjectstore/GarbageCollector.hpp
- objectstore/GarbageCollectorTest.cpp 20 additions, 31 deletionsobjectstore/GarbageCollectorTest.cpp
- objectstore/Helpers.cpp 1 addition, 1 deletionobjectstore/Helpers.cpp
- objectstore/QueueType.cpp 36 additions, 0 deletionsobjectstore/QueueType.cpp
- objectstore/QueueType.hpp 4 additions, 1 deletionobjectstore/QueueType.hpp
- objectstore/RetrieveRequest.cpp 223 additions, 105 deletionsobjectstore/RetrieveRequest.cpp
- objectstore/RetrieveRequest.hpp 4 additions, 2 deletionsobjectstore/RetrieveRequest.hpp
- objectstore/RootEntry.cpp 32 additions, 18 deletionsobjectstore/RootEntry.cpp
- objectstore/RootEntryTest.cpp 5 additions, 5 deletionsobjectstore/RootEntryTest.cpp
- objectstore/cta-objectstore-dereference-removed-queues.cpp 4 additions, 4 deletionsobjectstore/cta-objectstore-dereference-removed-queues.cpp
- objectstore/cta.proto 32 additions, 52 deletionsobjectstore/cta.proto
- scheduler/OStoreDB/MemQueues.hpp 1 addition, 1 deletionscheduler/OStoreDB/MemQueues.hpp
- scheduler/OStoreDB/OStoreDB.cpp 129 additions, 81 deletionsscheduler/OStoreDB/OStoreDB.cpp
- scheduler/OStoreDB/OStoreDBTest.cpp 1 addition, 1 deletionscheduler/OStoreDB/OStoreDBTest.cpp
- tests/TestsCompileTimeSwitches.hpp 1 addition, 1 deletiontests/TestsCompileTimeSwitches.hpp
Loading
Please register or sign in to comment