Upgrade to ghc-8.10.7 in Github Pages workflow
Home /
Input Output /
ouroboros-network
Jun 20, 1-2 AM (0)
Jun 20, 2-3 AM (0)
Jun 20, 3-4 AM (0)
Jun 20, 4-5 AM (0)
Jun 20, 5-6 AM (0)
Jun 20, 6-7 AM (0)
Jun 20, 7-8 AM (0)
Jun 20, 8-9 AM (0)
Jun 20, 9-10 AM (0)
Jun 20, 10-11 AM (0)
Jun 20, 11-12 PM (0)
Jun 20, 12-1 PM (22)
Jun 20, 1-2 PM (2)
Jun 20, 2-3 PM (1)
Jun 20, 3-4 PM (1)
Jun 20, 4-5 PM (0)
Jun 20, 5-6 PM (0)
Jun 20, 6-7 PM (0)
Jun 20, 7-8 PM (0)
Jun 20, 8-9 PM (0)
Jun 20, 9-10 PM (0)
Jun 20, 10-11 PM (0)
Jun 20, 11-12 AM (0)
Jun 21, 12-1 AM (0)
Jun 21, 1-2 AM (0)
Jun 21, 2-3 AM (0)
Jun 21, 3-4 AM (0)
Jun 21, 4-5 AM (15)
Jun 21, 5-6 AM (2)
Jun 21, 6-7 AM (2)
Jun 21, 7-8 AM (0)
Jun 21, 8-9 AM (1)
Jun 21, 9-10 AM (2)
Jun 21, 10-11 AM (2)
Jun 21, 11-12 PM (1)
Jun 21, 12-1 PM (2)
Jun 21, 1-2 PM (3)
Jun 21, 2-3 PM (0)
Jun 21, 3-4 PM (0)
Jun 21, 4-5 PM (1)
Jun 21, 5-6 PM (0)
Jun 21, 6-7 PM (18)
Jun 21, 7-8 PM (0)
Jun 21, 8-9 PM (0)
Jun 21, 9-10 PM (0)
Jun 21, 10-11 PM (0)
Jun 21, 11-12 AM (0)
Jun 22, 12-1 AM (0)
Jun 22, 1-2 AM (0)
Jun 22, 2-3 AM (0)
Jun 22, 3-4 AM (0)
Jun 22, 4-5 AM (0)
Jun 22, 5-6 AM (0)
Jun 22, 6-7 AM (1)
Jun 22, 7-8 AM (1)
Jun 22, 8-9 AM (2)
Jun 22, 9-10 AM (0)
Jun 22, 10-11 AM (1)
Jun 22, 11-12 PM (4)
Jun 22, 12-1 PM (10)
Jun 22, 1-2 PM (0)
Jun 22, 2-3 PM (0)
Jun 22, 3-4 PM (3)
Jun 22, 4-5 PM (0)
Jun 22, 5-6 PM (0)
Jun 22, 6-7 PM (0)
Jun 22, 7-8 PM (0)
Jun 22, 8-9 PM (0)
Jun 22, 9-10 PM (0)
Jun 22, 10-11 PM (0)
Jun 22, 11-12 AM (1)
Jun 23, 12-1 AM (0)
Jun 23, 1-2 AM (0)
Jun 23, 2-3 AM (0)
Jun 23, 3-4 AM (0)
Jun 23, 4-5 AM (0)
Jun 23, 5-6 AM (0)
Jun 23, 6-7 AM (0)
Jun 23, 7-8 AM (0)
Jun 23, 8-9 AM (42)
Jun 23, 9-10 AM (0)
Jun 23, 10-11 AM (0)
Jun 23, 11-12 PM (4)
Jun 23, 12-1 PM (0)
Jun 23, 1-2 PM (0)
Jun 23, 2-3 PM (0)
Jun 23, 3-4 PM (0)
Jun 23, 4-5 PM (0)
Jun 23, 5-6 PM (0)
Jun 23, 6-7 PM (0)
Jun 23, 7-8 PM (0)
Jun 23, 8-9 PM (0)
Jun 23, 9-10 PM (0)
Jun 23, 10-11 PM (0)
Jun 23, 11-12 AM (0)
Jun 24, 12-1 AM (0)
Jun 24, 1-2 AM (0)
Jun 24, 2-3 AM (0)
Jun 24, 3-4 AM (0)
Jun 24, 4-5 AM (23)
Jun 24, 5-6 AM (0)
Jun 24, 6-7 AM (0)
Jun 24, 7-8 AM (0)
Jun 24, 8-9 AM (0)
Jun 24, 9-10 AM (0)
Jun 24, 10-11 AM (1)
Jun 24, 11-12 PM (1)
Jun 24, 12-1 PM (0)
Jun 24, 1-2 PM (1)
Jun 24, 2-3 PM (3)
Jun 24, 3-4 PM (1)
Jun 24, 4-5 PM (0)
Jun 24, 5-6 PM (0)
Jun 24, 6-7 PM (0)
Jun 24, 7-8 PM (0)
Jun 24, 8-9 PM (0)
Jun 24, 9-10 PM (0)
Jun 24, 10-11 PM (0)
Jun 24, 11-12 AM (0)
Jun 25, 12-1 AM (0)
Jun 25, 1-2 AM (0)
Jun 25, 2-3 AM (0)
Jun 25, 3-4 AM (0)
Jun 25, 4-5 AM (0)
Jun 25, 5-6 AM (0)
Jun 25, 6-7 AM (0)
Jun 25, 7-8 AM (0)
Jun 25, 8-9 AM (0)
Jun 25, 9-10 AM (0)
Jun 25, 10-11 AM (0)
Jun 25, 11-12 PM (0)
Jun 25, 12-1 PM (0)
Jun 25, 1-2 PM (0)
Jun 25, 2-3 PM (0)
Jun 25, 3-4 PM (0)
Jun 25, 4-5 PM (0)
Jun 25, 5-6 PM (0)
Jun 25, 6-7 PM (0)
Jun 25, 7-8 PM (0)
Jun 25, 8-9 PM (0)
Jun 25, 9-10 PM (0)
Jun 25, 10-11 PM (0)
Jun 25, 11-12 AM (0)
Jun 26, 12-1 AM (0)
Jun 26, 1-2 AM (0)
Jun 26, 2-3 AM (0)
Jun 26, 3-4 AM (0)
Jun 26, 4-5 AM (0)
Jun 26, 5-6 AM (0)
Jun 26, 6-7 AM (0)
Jun 26, 7-8 AM (0)
Jun 26, 8-9 AM (0)
Jun 26, 9-10 AM (0)
Jun 26, 10-11 AM (0)
Jun 26, 11-12 PM (0)
Jun 26, 12-1 PM (1)
Jun 26, 1-2 PM (0)
Jun 26, 2-3 PM (0)
Jun 26, 3-4 PM (0)
Jun 26, 4-5 PM (0)
Jun 26, 5-6 PM (0)
Jun 26, 6-7 PM (0)
Jun 26, 7-8 PM (0)
Jun 26, 8-9 PM (0)
Jun 26, 9-10 PM (0)
Jun 26, 10-11 PM (0)
Jun 26, 11-12 AM (0)
Jun 27, 12-1 AM (0)
Jun 27, 1-2 AM (0)
175 commits this week
Jun 20, 2022
-
Jun 27, 2022
Fix LedgerDB OnDisk tests
After the fix introduced in #3827 the LedgerDB OnDisk tests started failing because the tables in the backing store did not contain the values of the initial ledger state. In addition, the implementation of the Snap command in the system under test did not flush before taking a snapshot. Even when this was corrected, function `takeSnapshot` would not take a snapshot when there was a state in the changelog. This problem was caused by `ledgerDbOldest` returning `Origin` even though there was a more recent ledger state.
ouroboros-consensus-test: Test the BlockFetch interface
ouroboros-consensus-test: Test the BlockFetch interface
Allow to use `Test.Util.TestBlock` in the ChainDB
Deliver on the promise made in the module documentation
view on tiered fees
Fix LedgerDB OnDisk tests block generator
The block generators consumed the same token that was generated instead of the input token. The fix can be confirmed by looking at the length of the chains before a restore command (see `TagRestore`) or a drop command (see `TagMaxDrop`). Before the fix: ``` Storage LedgerDB OnDisk LedgerSimple: OK (0.01s) +++ OK, passed 100 tests. Tags (228 in total): 6.6% TagMaxRollback = (k = 2) >> 0 6.6% TagRestore Nothing = (k = 1) >> 0 6.1% TagRestore Nothing = (k = 2) >> 0 5.7% TagMaxDrop = (k = 0) 5.7% TagMaxDrop = (k = 1) >> 0 5.7% TagMaxDrop = (k = 3) >> 0 5.7% TagMaxRollback = (k = 0) 5.3% TagMaxDrop = (k = 2) >> 0 5.3% TagMaxRollback = (k = 1) >> 0 4.8% TagMaxRollback = (k = 3) >> 0 4.8% TagRestore Nothing = (k = 0) 4.4% TagMaxRollback = (k = 6) >> 0 4.4% TagRestore Nothing = (k = 3) >> 0 4.4% TagRestore Nothing = (k = 6) >> 0 3.9% TagMaxDrop = (k = 6) >> 0 3.9% TagRestore Nothing = (k = 5) >> 0 3.5% TagMaxDrop = (k = 4) >> 0 3.5% TagMaxDrop = (k = 5) >> 0 3.5% TagMaxRollback = (k = 5) >> 0 3.5% TagRestore Nothing = (k = 4) >> 0 2.6% TagMaxRollback = (k = 4) >> 0 ``` ``` ouroboros-storage Storage LedgerDB OnDisk LedgerSimple: OK (0.03s) +++ OK, passed 100 tests. Tags (253 in total): 5.5% TagMaxRollback = (k = 0) 2.4% TagMaxDrop = (k = 0) 2.0% TagMaxRollback = (k = 1) >> 0 1.6% TagMaxDrop = (k = 0) >> 2 1.6% TagMaxDrop = (k = 3) >> 1 1.6% TagMaxDrop = (k = 4) >> 3 1.6% TagMaxRollback = (k = 1) 1.6% TagMaxRollback = (k = 3) >> 0 1.2% TagMaxDrop = (k = 1) >> 0 1.2% TagMaxDrop = (k = 2) >> 1 1.2% TagMaxDrop = (k = 4) >> 2 1.2% TagMaxDrop = (k = 5) >> 0 1.2% TagMaxDrop = (k = 6) >> 0 1.2% TagMaxRollback = (k = 2) 1.2% TagMaxRollback = (k = 2) >> 0 1.2% TagMaxRollback = (k = 3) >> 2 1.2% TagMaxRollback = (k = 4) 1.2% TagMaxRollback = (k = 5) >> 2 1.2% TagMaxRollback = (k = 6) >> 0 1.2% TagMaxRollback = (k = 6) >> 1 1.2% TagMaxRollback = (k = 6) >> 3 1.2% TagMaxRollback = (k = 6) >> 4 1.2% TagRestore Nothing = (k = 0) >> 1 1.2% TagRestore Nothing = (k = 0) >> 3 1.2% TagRestore Nothing = (k = 1) >> 0 1.2% TagRestore Nothing = (k = 3) >> 0 1.2% TagRestore Nothing = (k = 3) >> 1 1.2% TagRestore Nothing = (k = 3) >> 2 1.2% TagRestore Nothing = (k = 4) 1.2% TagRestore Nothing = (k = 4) >> 0 1.2% TagRestore Nothing = (k = 6) 1.2% TagRestore Nothing = (k = 6) >> 2 0.8% TagMaxDrop = (k = 0) >> 3 0.8% TagMaxDrop = (k = 0) >> 4 0.8% TagMaxDrop = (k = 1) 0.8% TagMaxDrop = (k = 1) < 7 0.8% TagMaxDrop = (k = 2) 0.8% TagMaxDrop = (k = 2) >> 4 0.8% TagMaxDrop = (k = 3) 0.8% TagMaxDrop = (k = 5) < 12 0.8% TagMaxDrop = (k = 5) >> 1 0.8% TagMaxDrop = (k = 6) < 13 0.8% TagMaxDrop = (k = 6) > 1 0.8% TagMaxRollback = (k = 3) >> 1 0.8% TagMaxRollback = (k = 4) >> 1 0.8% TagMaxRollback = (k = 4) >> 2 0.8% TagMaxRollback = (k = 4) >> 3 0.8% TagMaxRollback = (k = 5) 0.8% TagMaxRollback = (k = 5) >> 4 0.8% TagMaxRollback = (k = 6) >> 2 0.8% TagRestore (Just SnapOk) = (k = 1) >> 2 0.8% TagRestore (Just SnapOk) = (k = 1) >> 3 0.8% TagRestore (Just SnapOk) ≈ (k = 0) << 8 0.8% TagRestore (Just SnapOk) ≈ (k = 1) << 9 0.8% TagRestore Nothing = (k = 0) >> 2 0.8% TagRestore Nothing = (k = 1) < 6 0.8% TagRestore Nothing = (k = 2) 0.8% TagRestore Nothing = (k = 2) >> 0 0.8% TagRestore Nothing = (k = 2) >> 1 0.8% TagRestore Nothing = (k = 3) 0.8% TagRestore Nothing = (k = 4) >> 2 0.8% TagRestore Nothing = (k = 5) >> 2 0.8% TagRestore Nothing = (k = 5) >> 3 0.8% TagRestore Nothing = (k = 6) < 13 0.8% TagRestore Nothing = (k = 6) >> 3 0.8% TagRestore Nothing ≈ (k = 6) << 14 0.4% TagMaxDrop = (k = 0) >> 1 0.4% TagMaxDrop = (k = 1) < 6 0.4% TagMaxDrop = (k = 1) >> 2 0.4% TagMaxDrop = (k = 1) >> 4 0.4% TagMaxDrop = (k = 2) >> 0 0.4% TagMaxDrop = (k = 3) < 11 0.4% TagMaxDrop = (k = 3) < 9 0.4% TagMaxDrop = (k = 3) >> 0 0.4% TagMaxDrop = (k = 3) >> 2 0.4% TagMaxDrop = (k = 4) < 12 0.4% TagMaxDrop = (k = 4) < 9 0.4% TagMaxDrop = (k = 4) >> 0 0.4% TagMaxDrop = (k = 4) >> 1 0.4% TagMaxDrop = (k = 5) >> 3 0.4% TagMaxDrop = (k = 6) 0.4% TagMaxDrop = (k = 6) < 15 0.4% TagMaxDrop = (k = 6) >> 1 0.4% TagMaxDrop = (k = 6) >> 2 0.4% TagMaxDrop = (k = 6) >> 3 0.4% TagMaxDrop = (k = 6) >> 4 0.4% TagMaxDrop ≈ (k = 0) << 16 0.4% TagMaxRollback = (k = 2) >> 1 0.4% TagMaxRollback = (k = 3) 0.4% TagMaxRollback = (k = 4) >> 0 0.4% TagMaxRollback = (k = 5) >> 1 0.4% TagMaxRollback = (k = 6) 0.4% TagRestore (Just SnapCorrupted) = (k = 0) >> 4 0.4% TagRestore (Just SnapCorrupted) = (k = 1) >> 2 0.4% TagRestore (Just SnapCorrupted) = (k = 4) 0.4% TagRestore (Just SnapCorrupted) = (k = 5) < 15 0.4% TagRestore (Just SnapCorrupted) ≈ (k = 0) << 8 0.4% TagRestore (Just SnapCorrupted) ≈ (k = 1) << 9 0.4% TagRestore (Just SnapCorrupted) ≈ (k = 3) << 11 0.4% TagRestore (Just SnapCorrupted) ≈ (k = 6) << 14 0.4% TagRestore (Just SnapOk) = (k = 0) < 5 0.4% TagRestore (Just SnapOk) = (k = 0) >> 1 0.4% TagRestore (Just SnapOk) = (k = 0) >> 2 0.4% TagRestore (Just SnapOk) = (k = 2) < 7 0.4% TagRestore (Just SnapOk) = (k = 3) < 8 0.4% TagRestore (Just SnapOk) = (k = 4) < 11 0.4% TagRestore (Just SnapOk) = (k = 4) < 12 0.4% TagRestore (Just SnapOk) = (k = 5) < 11 0.4% TagRestore (Just SnapOk) = (k = 5) < 15 0.4% TagRestore (Just SnapOk) = (k = 6) < 15 0.4% TagRestore (Just SnapOk) = (k = 6) < 16 0.4% TagRestore (Just SnapOk) ≈ (k = 3) << 11 0.4% TagRestore (Just SnapOk) ≈ (k = 5) << 21 0.4% TagRestore Nothing = (k = 0) 0.4% TagRestore Nothing = (k = 0) < 5 0.4% TagRestore Nothing = (k = 0) >> 4 0.4% TagRestore Nothing = (k = 1) 0.4% TagRestore Nothing = (k = 1) < 7 0.4% TagRestore Nothing = (k = 1) >> 3 0.4% TagRestore Nothing = (k = 1) >> 4 0.4% TagRestore Nothing = (k = 2) < 7 0.4% TagRestore Nothing = (k = 2) < 8 0.4% TagRestore Nothing = (k = 2) >> 3 0.4% TagRestore Nothing = (k = 3) < 8 0.4% TagRestore Nothing = (k = 4) < 13 0.4% TagRestore Nothing = (k = 4) < 9 0.4% TagRestore Nothing = (k = 4) >> 1 0.4% TagRestore Nothing = (k = 5) < 11 0.4% TagRestore Nothing = (k = 5) < 12 0.4% TagRestore Nothing = (k = 5) < 13 0.4% TagRestore Nothing = (k = 5) >> 1 0.4% TagRestore Nothing = (k = 6) >> 0 0.4% TagRestore Nothing ≈ (k = 0) << 8 0.4% TagRestore Nothing ≈ (k = 5) << 13 ```
Added StateToken to Protocol type class
chain-sync: added mapChainSyncClientPipelinedSt
This captures a pattern used in `cardano-cli`.
chain-sync: added mapChainSyncClientSt
ouroboros-consensus: updated against typed-protocols changes
Including packages: * `ouroboros-consensus` * `ouroboros-consensus-test`
Added entry in docs/interface-CHANGELOG.md file
tx-submission test: fixed a deadlock due to pipelining
block-fetch tests: fixed termination tests
The first assertion of `fetchDecisionsForStateSnapshot` was triggered. We need first kill the fetch thread before the client side terminates.
block-fetch tests: fix termination of blockFetchExample1
The client side of each block-fetch protocol has to run until it's completion, otherwise it might happen that we will not generate a trace which marks completion of fetching all blocks in a batch (`CompletedFetchBatch`). This results in failure of `tracePropertyInFlight`.
tx-submission2 tests: use unbounded channel
We use pipelined client, hence we need to use an buffered channel.
tx-submission2 tests: switch client & server sides
They were mixed up with respect to similar choices, which resulted in misleading logs.
tx-submission2 tests: name client & server traces
This is only useful for debugging a failing test case.
ouroboros-network-framework: name some tvars & threads
In particular: * threads run by `runConnectedPeers` * simple driver TVar Most part of this patch is updating dependencies.
channelDelay: wait before and after reading from the channel
We should wait just before reading from a channel, but waiting after improves testing different interleaving of events (which would not be possible to discover with `IOSimPOR`).
ouroboros-network: updated chain-sync and cddl components
ouroboros-protocol-tests: updated against typed-protocols changes
ouroboros-network: updated against typed-protocols changes
ouroboros-network-framework: extend driver tests
Using PingPong protocol to test the driver. Use both `Ouroboros.Network.Driver.Simple` and `Ouroboros.Network.Driver.Limits`. Also use a ping pong client which is relaying on the `CollectSTM` primitive. The original test is renamed to fit the naming convention, which is also used in `typed-protocols-examples`.