diff --git a/objectstore/RetrieveQueueAlgorithms.cpp b/objectstore/RetrieveQueueAlgorithms.cpp index 591ff71cce1a1d699b23564a2f6851c05db5bcbd..f4562f4c3cb18e079d0a50c18faaabd7592ebb1d 100644 --- a/objectstore/RetrieveQueueAlgorithms.cpp +++ b/objectstore/RetrieveQueueAlgorithms.cpp @@ -154,7 +154,7 @@ template<> void ContainerTraits<RetrieveQueue>::addReferencesIfNecessaryAndCommit(Container& cont, InsertedElement::list& elemMemCont, AgentReference& agentRef, log::LogContext& lc) { - throw std::runtime_error("5 Not implemented."); + throw std::runtime_error("ContainerTraits<RetrieveQueue>::addReferencesIfNecessaryAndCommit(): Not implemented"); #if 0 std::list<ArchiveQueue::JobToAdd> jobsToAdd; for (auto & e: elemMemCont) { @@ -236,6 +236,8 @@ getPoppingElementsCandidates(Container &cont, PopCriteria &unfulfilledCriteria, for(auto &cjfq : candidateJobsFromQueue.candidates) { ret.elements.emplace_back(PoppedElement{ cta::make_unique<RetrieveRequest>(cjfq.address, cont.m_objectStore), + cjfq.copyNb, + cjfq.size, common::dataStructures::ArchiveFile() }); ret.summary.bytes += cjfq.size; @@ -248,13 +250,13 @@ getPoppingElementsCandidates(Container &cont, PopCriteria &unfulfilledCriteria, template<> auto ContainerTraits<RetrieveQueue>:: getElementSummary(const PoppedElement &poppedElement) -> PoppedElementsSummary { - throw std::runtime_error("8 Not implemented."); - PoppedElementsSummary ret; + throw std::runtime_error("ContainerTraits<RetrieveQueue>::getElementSummary(): Not implemented"); #if 0 + PoppedElementsSummary ret; ret.bytes = poppedElement.bytes; ret.files = 1; -#endif return ret; +#endif } template<> @@ -267,8 +269,7 @@ switchElementsOwnership(PoppedElementsBatch &poppedElementBatch, const Container std::list<std::unique_ptr<RetrieveRequest::AsyncJobOwnerUpdater>> updaters; for(auto &e : poppedElementBatch.elements) { RetrieveRequest &re = *e.retrieveRequest; - auto copyNb = re.getActiveCopyNumber(); - updaters.emplace_back(re.asyncUpdateJobOwner(copyNb, contAddress, previousOwnerAddress)); + updaters.emplace_back(re.asyncUpdateJobOwner(e.copyNb, contAddress, previousOwnerAddress)); } timingList.insertAndReset("asyncUpdateLaunchTime", t); diff --git a/objectstore/RetrieveQueueAlgorithms.hpp b/objectstore/RetrieveQueueAlgorithms.hpp index c9ddcbc49b8e77f39452b85529ac45591d0dc415..15f0b09cfeebf3f286a5d2771b1fcec7cb8353ef 100644 --- a/objectstore/RetrieveQueueAlgorithms.hpp +++ b/objectstore/RetrieveQueueAlgorithms.hpp @@ -46,6 +46,8 @@ struct ContainerTraitsTypes<RetrieveQueue> struct PoppedElement { std::unique_ptr<RetrieveRequest> retrieveRequest; + uint16_t copyNb; + uint64_t bytes; common::dataStructures::ArchiveFile archiveFile; }; struct PoppedElementsSummary;