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.
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
```