Procházet zdrojové kódy

event_graph: Don't ship blob-less events

x před 3 měsíci
rodič
revize
4e03b1a83b
1 změnil soubory, kde provedl 11 přidání a 1 odebrání
  1. 11 1
      src/event_graph/proto.rs

+ 11 - 1
src/event_graph/proto.rs

@@ -800,12 +800,22 @@ impl ProtocolEventGraph {
                     continue
                 }
                 if let Some(ev) = self.event_graph.fetch_event_from_dags(id).await? {
-                    // Best effort blob lookup - missing is not an error.
                     let blob = if in_static {
                         self.event_graph.static_blob_fetch(id).unwrap_or(None).unwrap_or_default()
                     } else {
                         self.event_graph.dag_blob_fetch(id).unwrap_or(None).unwrap_or_default()
                     };
+                    if !in_static && blob.is_empty() {
+                        // Rotating-DAG event without a blob. Don't ship
+                        // it, just log loudly.
+                        warn!(
+                            target: "event_graph::handle_event_req",
+                            "[EVENTGRAPH] declining to serve event {} - missing blob in \
+                            local dag_blobs",
+                            id,
+                        );
+                        continue
+                    }
                     events.push(ev);
                     blobs.push(blob);
                 }