Skip to content

Commit aa87886

Browse files
committed
Fix overly spammy TRACE logging in async onion message event handling
We recently introduced `TRACE`-level logging for event handling. However, in onion messenger we'd now log (twice, actually) every time `process_events_async` is called, which is very very spammy. Here we fix this by short-cutting to only proceed when we actualy have any event futures to poll.
1 parent 87e52e3 commit aa87886

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

lightning/src/onion_message/messenger.rs

+15-9
Original file line numberDiff line numberDiff line change
@@ -1445,11 +1445,14 @@ where
14451445
let future = ResultFuture::Pending(handler(ev));
14461446
futures.push(future);
14471447
}
1448-
// Let the `OnionMessageIntercepted` events finish before moving on to peer_connecteds
1449-
let res = MultiResultFuturePoller::new(futures).await;
1450-
log_trace!(self.logger, "Done handling events async, results: {:?}", res);
1451-
let mut res_iter = res.iter().skip(intercepted_msgs_offset);
1452-
drop_handled_events_and_abort!(self, res_iter, self.pending_intercepted_msgs_events);
1448+
1449+
if !futures.is_empty() {
1450+
// Let the `OnionMessageIntercepted` events finish before moving on to peer_connecteds
1451+
let res = MultiResultFuturePoller::new(futures).await;
1452+
log_trace!(self.logger, "Done handling events async, results: {:?}", res);
1453+
let mut res_iter = res.iter().skip(intercepted_msgs_offset);
1454+
drop_handled_events_and_abort!(self, res_iter, self.pending_intercepted_msgs_events);
1455+
}
14531456
}
14541457

14551458
{
@@ -1472,10 +1475,13 @@ where
14721475
let future = ResultFuture::Pending(handler(event));
14731476
futures.push(future);
14741477
}
1475-
let res = MultiResultFuturePoller::new(futures).await;
1476-
log_trace!(self.logger, "Done handling events async, results: {:?}", res);
1477-
let mut res_iter = res.iter();
1478-
drop_handled_events_and_abort!(self, res_iter, self.pending_peer_connected_events);
1478+
1479+
if !futures.is_empty() {
1480+
let res = MultiResultFuturePoller::new(futures).await;
1481+
log_trace!(self.logger, "Done handling events async, results: {:?}", res);
1482+
let mut res_iter = res.iter();
1483+
drop_handled_events_and_abort!(self, res_iter, self.pending_peer_connected_events);
1484+
}
14791485
}
14801486
}
14811487
self.pending_events_processor.store(false, Ordering::Release);

0 commit comments

Comments
 (0)