From d60dcf5561c8102142c1c6c2a581941b491f9a78 Mon Sep 17 00:00:00 2001 From: Michael Davis <michael.davis@cern.ch> Date: Wed, 11 Mar 2020 14:03:52 +0100 Subject: [PATCH] [frontend] Adds extra fields into failed retrieve request protobuf --- xroot_plugins/XrdCtaFailedRequestLs.hpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/xroot_plugins/XrdCtaFailedRequestLs.hpp b/xroot_plugins/XrdCtaFailedRequestLs.hpp index c6bfda56d0..376cd776a9 100644 --- a/xroot_plugins/XrdCtaFailedRequestLs.hpp +++ b/xroot_plugins/XrdCtaFailedRequestLs.hpp @@ -134,11 +134,12 @@ FailedRequestLsStream::FailedRequestLsStream(const RequestMessage &requestMsg, template<> bool FailedRequestLsStream:: pushRecord(XrdSsiPb::OStreamBuffer<Data> *streambuf, const common::dataStructures::ArchiveJob &item) { + auto &tapepool = m_archiveQueueItorPtr->qid(); Data record; record.mutable_frls_item()->set_object_id("PLACEHOLDER"); record.mutable_frls_item()->set_request_type(admin::RequestType::ARCHIVE_REQUEST); - record.mutable_frls_item()->set_tapepool(m_archiveQueueItorPtr->qid()); + record.mutable_frls_item()->set_tapepool(tapepool); record.mutable_frls_item()->set_copy_nb(item.copyNumber); record.mutable_frls_item()->mutable_requester()->set_username(item.request.requester.name); record.mutable_frls_item()->mutable_requester()->set_groupname(item.request.requester.group); @@ -167,11 +168,26 @@ pushRecord(XrdSsiPb::OStreamBuffer<Data> *streambuf, const common::dataStructure record.mutable_frls_item()->set_object_id("PLACEHOLDER"); record.mutable_frls_item()->set_request_type(admin::RequestType::RETRIEVE_REQUEST); - record.mutable_frls_item()->mutable_tf()->set_vid(vid); record.mutable_frls_item()->set_copy_nb(item.tapeCopies.at(vid).first); record.mutable_frls_item()->mutable_requester()->set_username(item.request.requester.name); record.mutable_frls_item()->mutable_requester()->set_groupname(item.request.requester.group); + record.mutable_frls_item()->mutable_af()->set_archive_id(item.request.archiveFileID); + record.mutable_frls_item()->mutable_af()->set_size(item.fileSize); record.mutable_frls_item()->mutable_af()->mutable_df()->set_path(item.request.diskFileInfo.path); + record.mutable_frls_item()->mutable_af()->set_creation_time(item.request.creationLog.time); + record.mutable_frls_item()->mutable_tf()->set_vid(vid); + + // Find the correct tape copy + for(auto &tapecopy : item.tapeCopies) { + auto &tf = tapecopy.second.second; + if(tf.vid == vid) { + record.mutable_frls_item()->mutable_tf()->set_f_seq(tf.fSeq); + record.mutable_frls_item()->mutable_tf()->set_block_id(tf.blockId); + record.mutable_frls_item()->mutable_tf()->set_superseded_by_vid(tf.supersededByVid); + record.mutable_frls_item()->mutable_tf()->set_superseded_by_f_seq(tf.supersededByFSeq); + break; + } + } if(m_isLogEntries) { *record.mutable_frls_item()->mutable_failurelogs() = { item.failurelogs.begin(), item.failurelogs.end() }; -- GitLab