From fd57f4569e8105aee582d3eccd13b351be1e54f1 Mon Sep 17 00:00:00 2001
From: Georgios Bitzes <georgios.bitzes@cern.ch>
Date: Tue, 17 Mar 2020 18:47:24 +0100
Subject: [PATCH] Show timestamps when ParanoidManifestChecker reports an error

---
 src/storage/ParanoidManifestChecker.cc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/storage/ParanoidManifestChecker.cc b/src/storage/ParanoidManifestChecker.cc
index 80245dba..522dcd1a 100644
--- a/src/storage/ParanoidManifestChecker.cc
+++ b/src/storage/ParanoidManifestChecker.cc
@@ -54,6 +54,10 @@ bool operator<(struct timespec &one, struct timespec &two) {
   return one.tv_sec < two.tv_sec;
 }
 
+std::string timespecToString(struct timespec &spec) {
+  return SSTR(spec.tv_sec << "." << spec.tv_nsec);
+}
+
 Status ParanoidManifestChecker::checkDB(std::string_view path) {
   DirectoryIterator iter(path);
   struct dirent* entry = nullptr;
@@ -76,7 +80,7 @@ Status ParanoidManifestChecker::checkDB(std::string_view path) {
   }
 
   int secDiff = sstMtime.tv_sec - manifestMtime.tv_sec;
-  std::string diff = SSTR(secDiff << " sec");
+  std::string diff = SSTR(secDiff << " sec, " << timespecToString(sstMtime) << " vs " << timespecToString(manifestMtime));
 
   // 1 hour should be more than enough (?)
   if(secDiff >= 3600) {
-- 
GitLab