]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/scrub: cluster-logging unsolicited DigestUpdate events
authorRonen Friedman <rfriedma@redhat.com>
Thu, 2 Dec 2021 13:05:38 +0000 (13:05 +0000)
committerRonen Friedman <rfriedma@redhat.com>
Sat, 26 Feb 2022 13:06:24 +0000 (13:06 +0000)
... and not just to the OSD's log

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/scrubber/pg_scrubber.cc
src/osd/scrubber/pg_scrubber.h
src/osd/scrubber/scrub_machine.cc
src/osd/scrubber/scrub_machine_lstnr.h

index 08afd79a7c2bd376851748dc22f56e80a15869ac..a9eb5d5eb9f13f4032d27c360fed471c4519814b 100644 (file)
@@ -2188,6 +2188,11 @@ std::ostream& PgScrubber::gen_prefix(std::ostream& out) const
   }
 }
 
+void PgScrubber::log_cluster_warning(const std::string& warning) const
+{
+  m_osds->clog->do_log(CLOG_WARN, warning);
+}
+
 ostream& PgScrubber::show(ostream& out) const
 {
   return out << " [ " << m_pg_id << ": " << m_flags << " ] ";
index e9df04d6d0ffdce3f19e458e128efaf5297d17dc..f03a1f841246e6728c9948c80d1fbfab76c59954 100644 (file)
@@ -516,6 +516,8 @@ class PgScrubber : public ScrubPgIF,
     return m_pg->snap_mapper.get_snaps(hoid, snaps_set);
   }
 
+  void log_cluster_warning(const std::string& warning) const final;
+
  protected:
   bool state_test(uint64_t m) const { return m_pg->state_test(m); }
   void state_set(uint64_t m) { m_pg->state_set(m); }
index ba2512735d625d511f23da11b24cd7c7926337eb..2456bdeb2f24986f6b6d8460c90127b4b9370e04 100644 (file)
@@ -436,7 +436,10 @@ sc::result WaitReplicas::react(const GotReplicas&)
 
 sc::result WaitReplicas::react(const DigestUpdate&)
 {
-  dout(10) << "WaitReplicas::react(const DigestUpdate&) - too early" << dendl;
+  DECLARE_LOCALS;  // 'scrbr' & 'pg_id' aliases
+  auto warn_msg = "WaitReplicas::react(const DigestUpdate&): Unexpected DigestUpdate event"s;
+  dout(10) << warn_msg << dendl;
+  scrbr->log_cluster_warning(warn_msg);
   return discard_event();
 }
 
index 942d5271e8c9bf156b5b5d80c3ab9e320fe741dd..94dbed218b4815e26fa28ea423480a99ea222a6c 100644 (file)
@@ -190,4 +190,7 @@ struct ScrubMachineListener {
 
   /// exposed to be used by the scrub_machine logger
   virtual std::ostream& gen_prefix(std::ostream& out) const = 0;
+
+  /// sending cluster-log warnings
+  virtual void log_cluster_warning(const std::string& msg) const = 0;
 };