b356a67391
* Refactor instrumented records in `ChainTipSender` Record the fields using a helper method. This reduces duplicate code and prepares for removing the `active_value` field from the type, because the replacement for it has to be atomically read to avoid a deadlock when reading from the `watch::Sender` endpoint. * Replace `active_value` field with sender borrow Now that Tokio has been updated to a version in which `watch::Sender` has a `borrow` method, we can remove the `active_value` field. To prevent a deadlock like the one that happened with the synchronizer some time ago, the method instrumentation was slightly refactored to have the fields recorded in helper methods that avoid obtaining a read-lock twice. * Remove some `TODO` comments They are resolved with the current changes. * Refactor to avoid obtaining current `Span` twice This is a minor optimization to remove an unnecessary second call to `tracing::Span::current()`. * Add a comment about preventing dead-locks Explain why a binding can't be created for the old tip reference. * Retry after log ssh failures in full sync test Co-authored-by: teor <teor@riseup.net> |
||
---|---|---|
.. | ||
proptest-regressions/service | ||
src | ||
tests | ||
Cargo.toml |