From 9369a2885f5a3f9e38c0a3f9fa3af6260513c8e4 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Sat, 10 Jan 2026 01:01:32 +0000 Subject: fix: downgrade EOSE unknown subscription warning to trace Live subscriptions (limit:0, no auto-close) are not tracked in PendingBatch because they stay open indefinitely for new events. When they receive EOSE (immediately, since no historic events), handle_eose can't find them in outstanding_subs. This is expected behavior, not an error. Changed log level from warn to trace to reduce noise. Observed in production logs: sync_live() subscriptions with limit:0 complete immediately and trigger this path. Issue: work/active-issues/eose-unknown-subscription.md --- src/sync/mod.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/sync') diff --git a/src/sync/mod.rs b/src/sync/mod.rs index 2efcbd7..412cd16 100644 --- a/src/sync/mod.rs +++ b/src/sync/mod.rs @@ -676,10 +676,14 @@ impl SyncManager { .position(|b| b.outstanding_subs.contains(&sub_id)); let Some(batch_idx) = batch_index else { - tracing::warn!( + // Live subscriptions (limit:0, no auto-close) are not tracked in PendingBatch. + // They complete immediately with EOSE (no historic events) and stay open for new events. + // Observed in production: sync_live() subscriptions trigger this path (expected). + // Also possible: duplicate/late EOSE from relay after batch already completed. + tracing::trace!( relay = %relay_url, sub_id = %sub_id, - "EOSE received for unknown subscription" + "EOSE received for subscription not tracked in batch (live subscription or late EOSE)" ); return; }; -- cgit v1.2.3