Home / Input Output / hydra-poc
Jan 17, 8-9 PM (0)
Jan 17, 9-10 PM (0)
Jan 17, 10-11 PM (0)
Jan 17, 11-12 AM (0)
Jan 18, 12-1 AM (0)
Jan 18, 1-2 AM (0)
Jan 18, 2-3 AM (0)
Jan 18, 3-4 AM (0)
Jan 18, 4-5 AM (0)
Jan 18, 5-6 AM (0)
Jan 18, 6-7 AM (0)
Jan 18, 7-8 AM (0)
Jan 18, 8-9 AM (0)
Jan 18, 9-10 AM (0)
Jan 18, 10-11 AM (0)
Jan 18, 11-12 PM (0)
Jan 18, 12-1 PM (0)
Jan 18, 1-2 PM (0)
Jan 18, 2-3 PM (0)
Jan 18, 3-4 PM (0)
Jan 18, 4-5 PM (0)
Jan 18, 5-6 PM (0)
Jan 18, 6-7 PM (0)
Jan 18, 7-8 PM (0)
Jan 18, 8-9 PM (0)
Jan 18, 9-10 PM (0)
Jan 18, 10-11 PM (2)
Jan 18, 11-12 AM (2)
Jan 19, 12-1 AM (0)
Jan 19, 1-2 AM (0)
Jan 19, 2-3 AM (0)
Jan 19, 3-4 AM (0)
Jan 19, 4-5 AM (0)
Jan 19, 5-6 AM (0)
Jan 19, 6-7 AM (0)
Jan 19, 7-8 AM (40)
Jan 19, 8-9 AM (0)
Jan 19, 9-10 AM (1)
Jan 19, 10-11 AM (1)
Jan 19, 11-12 PM (0)
Jan 19, 12-1 PM (0)
Jan 19, 1-2 PM (1)
Jan 19, 2-3 PM (0)
Jan 19, 3-4 PM (0)
Jan 19, 4-5 PM (0)
Jan 19, 5-6 PM (0)
Jan 19, 6-7 PM (0)
Jan 19, 7-8 PM (0)
Jan 19, 8-9 PM (0)
Jan 19, 9-10 PM (0)
Jan 19, 10-11 PM (0)
Jan 19, 11-12 AM (0)
Jan 20, 12-1 AM (0)
Jan 20, 1-2 AM (2)
Jan 20, 2-3 AM (2)
Jan 20, 3-4 AM (2)
Jan 20, 4-5 AM (2)
Jan 20, 5-6 AM (0)
Jan 20, 6-7 AM (0)
Jan 20, 7-8 AM (0)
Jan 20, 8-9 AM (0)
Jan 20, 9-10 AM (0)
Jan 20, 10-11 AM (1)
Jan 20, 11-12 PM (0)
Jan 20, 12-1 PM (0)
Jan 20, 1-2 PM (0)
Jan 20, 2-3 PM (0)
Jan 20, 3-4 PM (0)
Jan 20, 4-5 PM (0)
Jan 20, 5-6 PM (2)
Jan 20, 6-7 PM (0)
Jan 20, 7-8 PM (2)
Jan 20, 8-9 PM (0)
Jan 20, 9-10 PM (0)
Jan 20, 10-11 PM (0)
Jan 20, 11-12 AM (0)
Jan 21, 12-1 AM (0)
Jan 21, 1-2 AM (0)
Jan 21, 2-3 AM (0)
Jan 21, 3-4 AM (1)
Jan 21, 4-5 AM (0)
Jan 21, 5-6 AM (0)
Jan 21, 6-7 AM (0)
Jan 21, 7-8 AM (0)
Jan 21, 8-9 AM (0)
Jan 21, 9-10 AM (0)
Jan 21, 10-11 AM (1)
Jan 21, 11-12 PM (2)
Jan 21, 12-1 PM (5)
Jan 21, 1-2 PM (2)
Jan 21, 2-3 PM (0)
Jan 21, 3-4 PM (0)
Jan 21, 4-5 PM (1)
Jan 21, 5-6 PM (0)
Jan 21, 6-7 PM (0)
Jan 21, 7-8 PM (0)
Jan 21, 8-9 PM (0)
Jan 21, 9-10 PM (0)
Jan 21, 10-11 PM (0)
Jan 21, 11-12 AM (0)
Jan 22, 12-1 AM (0)
Jan 22, 1-2 AM (0)
Jan 22, 2-3 AM (0)
Jan 22, 3-4 AM (1)
Jan 22, 4-5 AM (1)
Jan 22, 5-6 AM (0)
Jan 22, 6-7 AM (0)
Jan 22, 7-8 AM (0)
Jan 22, 8-9 AM (1)
Jan 22, 9-10 AM (1)
Jan 22, 10-11 AM (0)
Jan 22, 11-12 PM (0)
Jan 22, 12-1 PM (0)
Jan 22, 1-2 PM (9)
Jan 22, 2-3 PM (1)
Jan 22, 3-4 PM (0)
Jan 22, 4-5 PM (2)
Jan 22, 5-6 PM (0)
Jan 22, 6-7 PM (0)
Jan 22, 7-8 PM (7)
Jan 22, 8-9 PM (0)
Jan 22, 9-10 PM (0)
Jan 22, 10-11 PM (0)
Jan 22, 11-12 AM (0)
Jan 23, 12-1 AM (0)
Jan 23, 1-2 AM (0)
Jan 23, 2-3 AM (0)
Jan 23, 3-4 AM (0)
Jan 23, 4-5 AM (0)
Jan 23, 5-6 AM (1)
Jan 23, 6-7 AM (0)
Jan 23, 7-8 AM (0)
Jan 23, 8-9 AM (1)
Jan 23, 9-10 AM (0)
Jan 23, 10-11 AM (1)
Jan 23, 11-12 PM (1)
Jan 23, 12-1 PM (0)
Jan 23, 1-2 PM (1)
Jan 23, 2-3 PM (2)
Jan 23, 3-4 PM (0)
Jan 23, 4-5 PM (1)
Jan 23, 5-6 PM (0)
Jan 23, 6-7 PM (0)
Jan 23, 7-8 PM (0)
Jan 23, 8-9 PM (0)
Jan 23, 9-10 PM (0)
Jan 23, 10-11 PM (0)
Jan 23, 11-12 AM (0)
Jan 24, 12-1 AM (0)
Jan 24, 1-2 AM (0)
Jan 24, 2-3 AM (0)
Jan 24, 3-4 AM (0)
Jan 24, 4-5 AM (0)
Jan 24, 5-6 AM (0)
Jan 24, 6-7 AM (0)
Jan 24, 7-8 AM (0)
Jan 24, 8-9 AM (0)
Jan 24, 9-10 AM (0)
Jan 24, 10-11 AM (0)
Jan 24, 11-12 PM (0)
Jan 24, 12-1 PM (0)
Jan 24, 1-2 PM (0)
Jan 24, 2-3 PM (0)
Jan 24, 3-4 PM (0)
Jan 24, 4-5 PM (0)
Jan 24, 5-6 PM (0)
Jan 24, 6-7 PM (0)
Jan 24, 7-8 PM (0)
Jan 24, 8-9 PM (0)
103 commits this week Jan 17, 2026 - Jan 24, 2026
Bound the input queue to provide back pressure
This was resolving an issue where (likely for another reason), rapidly
submitted transactions required re-enqeueing of ReqTx inputs.

Hypothesis: When the input queue was not bounded, another bounded
queue (in Hydra.Logging) was creating delays leading to the re-enqeued
retrying of applying transactions start to fail (because they time out).

It is not known why the chain of transactions we used (see hydra-cluster
bench) was even requiring the re-enqeuing in the first place though.
Buffer and batch logging writes (#2452)
Improves logging throughput by combining 64KB block buffering with batch
draining of the `TBQueue`.

Benchmark (LOG_N=100000, --time-limit 10) shows buffered+batched ~196 ms
vs flush-each ~543 ms (~2.8× faster). This keeps log output format and
monitoring behavior unchanged, but logs may appear in bursts and have
slightly higher latency.

If we exclude batching the win is ~1.28x 

<!-- Describe your change here -->

---

<!-- Consider each and tick it off one way or the other -->
* [x] CHANGELOG updated or not needed
* [ ] Documentation updated or not needed
* [ ] Haddocks updated or not needed
* [ ] No new TODOs introduced or explained herafter
introduce new chainPointTime
> NodeState now tracks currentChainPoint :: ChainPointType tx, instead of currentSlot :: ChainSlot + currentChainTime :: Maybe UTCTime
> NodeSynced and NodeUnsynced now carry ChainPointType tx, instead of chainTime :: UTCTime
> extended IsChainState class with chainPointTime :: ChainPointType tx -> UTCTime
> initialChainTime = posixSecondsToUTCTime 0
introduce new chainPointTime
> NodeState now tracks currentChainPoint :: ChainPointType tx, instead of currentSlot :: ChainSlot + currentChainTime :: Maybe UTCTime
> NodeSynced and NodeUnsynced now carry ChainPointType tx, instead of chainTime :: UTCTime
> extended IsChainState class with chainPointTime :: ChainPointType tx -> UTCTime
> initialChainTime = posixSecondsToUTCTime 0