Skip to content

v0.9.2

Latest

Choose a tag to compare

@plebhash plebhash released this 06 Nov 12:51
b37785e

General release information

This is a PATCH release on top of v0.9.1. It is cut from the v0.9.1 tag with #986 cherry-picked, not from main, so it stays on stratum-core 0.7.0 from crates.io.

Highlights of this release:

  • JDC no longer falls back when JDS refuses a declaration with missing-txs (#983). Since v0.9.1 that refusal is a bounded outcome of mempool activity on the JDS's node, most often RBF, and not a sign of a misbehaving JDS. JDC now treats it like stale-chain-tip: it drops that declaration and the shares cached for its template, keeps its Pool and JDS connections, and declares its next template as usual. Every other DeclareMiningJob.Error code still makes JDC fall back at once.
  • JDC still leaves a JDS that keeps refusing: ten declarations in a row refused with stale-chain-tip or missing-txs, with none accepted in between, make it fall back.
  • JDS refuses a declaration after 3 ProvideMissingTransactions rounds that each lost a transaction, down from 5 (#984). Every round is one more full lookup on the validation path all clients share, so under load the extra rounds slowed every client down (#982).
  • JDS logs one line at info for every DeclareMiningJob it answers, with the client, the request, the outcome, the number of rounds and the wait: Answered DeclareMiningJob client_id=0 request_id=2 outcome=accepted rounds=2 waited_ms=408.

Who should upgrade: everyone running JDC, and anyone running JDS, standalone or embedded in Pool. Upgrade JDC before or together with JDS. With the lower round limit a v0.9.2 JDS answers missing-txs more often than v0.9.1 did: in a 13 h mainnet run against the hosted SRI pool, one JDC was refused 3 times. A v0.9.2 JDC loses one template each time. A JDC on v0.9.1 or older falls back from its Pool/JDS pair instead. tProxy has no code changes: translator_sv2 stays at 0.7.0, and its v0.9.2 binary and Docker image are rebuilds of the v0.9.0 code.

Crates published with this release: jd_client_sv2 0.7.1, jd_server_sv2 0.7.2, pool_sv2 0.8.2 (it embeds JDS and requires the fixed version).

What's Changed

  • JDC absorbs missing-txs refusals; JDS caps lost-transaction rounds at three and logs every answered declaration by @plebhash in #986

Full Changelog: v0.9.1...v0.9.2