From 668f2036009361aad1f3a355315e87e2a7ddff9b Mon Sep 17 00:00:00 2001
From: Volodymyr Yurchenko <volodymyr.yurchenko@cern.ch>
Date: Thu, 3 Nov 2022 17:24:47 +0100
Subject: [PATCH] Fix tape thread complete success/failure message parameter
 (#80)

---
 ReleaseNotes.md                                                 | 1 +
 .../castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp      | 2 +-
 .../castor/tape/tapeserver/daemon/TapeWriteSingleThread.cpp     | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index e4d75e3b31..cf63e5f910 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -16,6 +16,7 @@
 - cta/CTA#123 - Change some tape server errors into warnings
 - cta/CTA#161 - Fix bug when using temporary tables with PostgreSQL
 - cta/CTA#197 - Include order in XrdSsiCtaRequestMessage.cpp
+- cta/CTA#80 - Fix tape thread complete success/failure message parameter
 
 # v4.7.12-1
 
diff --git a/tapeserver/castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp b/tapeserver/castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp
index e0bb7d9d28..138e9181a4 100644
--- a/tapeserver/castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp
+++ b/tapeserver/castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp
@@ -419,7 +419,7 @@ void castor::tape::tapeserver::daemon::TapeReadSingleThread::run() {
     // The session completed successfully, and the cleaner (unmount) executed
     // at the end of the previous block. Log the results.
     cta::log::ScopedParamContainer params(m_logContext);
-    params.add("status", "success");
+    params.add("status", m_watchdog.errorHappened() ? "error" : "success");
     m_stats.totalTime = totalTimer.secs();
     logWithStat(cta::log::INFO, "Tape thread complete", params);
     // Report one last time the stats, after unloading/unmounting.
diff --git a/tapeserver/castor/tape/tapeserver/daemon/TapeWriteSingleThread.cpp b/tapeserver/castor/tape/tapeserver/daemon/TapeWriteSingleThread.cpp
index c37c56d27d..8d172d7be7 100644
--- a/tapeserver/castor/tape/tapeserver/daemon/TapeWriteSingleThread.cpp
+++ b/tapeserver/castor/tape/tapeserver/daemon/TapeWriteSingleThread.cpp
@@ -443,7 +443,7 @@ void castor::tape::tapeserver::daemon::TapeWriteSingleThread::run() {
     // The session completed successfully, and the cleaner (unmount) executed
     // at the end of the previous block. Log the results.
     cta::log::ScopedParamContainer params(m_logContext);
-    params.add("status", "success");
+    params.add("status", m_watchdog.errorHappened() ? "error" : "success");
     m_stats.totalTime = totalTimer.secs();
     m_stats.deliveryTime = m_stats.totalTime;
     logWithStats(cta::log::INFO, "Tape thread complete", params);
-- 
GitLab