New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Outbound Governor changes #3580
Commits on Jan 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 6e3e132 - Browse repository at this point
Copy the full SHA 6e3e132View commit details -
io-sim: organise io-sim export list
Splitting the export list into various sections, to make nicer haddocks.
Configuration menu - View commit details
-
Copy full SHA for 0af324d - Browse repository at this point
Copy the full SHA 0af324dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ceb2ad - Browse repository at this point
Copy the full SHA 3ceb2adView commit details -
outbound-governor-test: improved counterexample information
* Add `MonadSay` tracer, this allows to have outbound governor events in `IOSim` trace. * Added `IOSim` trace to `prop_governor_gossip_1hr`: note that the simulations written by the governor never terminate, so we must limit the trace output.
Configuration menu - View commit details
-
Copy full SHA for 5897a1e - Browse repository at this point
Copy the full SHA 5897a1eView commit details
Commits on Jan 20, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 92202c0 - Browse repository at this point
Copy the full SHA 92202c0View commit details -
outbound-governor: change the order of events
The outbound governor should first update its state from potentially blocking decisions (monitoring connections, jobs, target and local roots peers) and then look into non-blocking internal decisions. This patch also fixes `prop_governor_gossip_1hr` which did not account local root peers when checking the target number of root peers. This made the test depend on the order of events: with just two root peers Public and Local, and `targetNumberOfRootPeers` set to 1; if `Public` one was found first then the governor would still be looking to satisfy its local root peer target, and it would find the `Local` peer; the test would pass. However, if the events where ordered differently, and `Local` peer is found first, then the governor was not looking for any more public root peers, and the `Public` peer was never discovered. Closes #3460, fixes #3550
Configuration menu - View commit details
-
Copy full SHA for 0286672 - Browse repository at this point
Copy the full SHA 0286672View commit details -
outbound-governor: check the state when promoting a warm peer
Check whether a peer is hasn't become cold when we try to update the state once. In rare cases it could become cold just after we promoted it to a hot peer, but before the completion continuation was scheduled. This is because there could be a race between an asynchronous demotion and the promotion. Fixes #3550
Configuration menu - View commit details
-
Copy full SHA for 6871ce0 - Browse repository at this point
Copy the full SHA 6871ce0View commit details -
peer-state-actions: remove no-op unregisterOutboundConnection
If a mini-protocol errored, or handshake errored, we don't need to `unregisterOutboundConnection`. The connection handler thrown an exception (either mux does it, or in the other case the handler itself). When this happens, the finally handler will govern the evolution of state of the connection: it will set it to `TerminatingSt`, close the connection and wait for the `TIME_WAIT` timer, when eventually the connection will be forgotten.
Configuration menu - View commit details
-
Copy full SHA for b05fbaa - Browse repository at this point
Copy the full SHA b05fbaaView commit details -
outbound-governor-test: trace of
prop_governor_nofail
The `prop_governor_nofail` is a pure test which throws `AssertionFailed`. Run it in `IO` using `evaluate` to catch the errors and print the trace log if it fails. This relies on the property that the trace will also encounter the same assertion failure.
Configuration menu - View commit details
-
Copy full SHA for feddd87 - Browse repository at this point
Copy the full SHA feddd87View commit details -
outbound-governor: check the state when failing to promote a warm peer
Configuration menu - View commit details
-
Copy full SHA for 0a25a5f - Browse repository at this point
Copy the full SHA 0a25a5fView commit details