Skip to content

chore(ci): remove standalone:delta-stats from KNOWN_FAILURES#3561

Merged
oferchen merged 1 commit into
masterfrom
chore/remove-delta-stats-known-failure
May 2, 2026
Merged

chore(ci): remove standalone:delta-stats from KNOWN_FAILURES#3561
oferchen merged 1 commit into
masterfrom
chore/remove-delta-stats-known-failure

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 2, 2026

Summary

  • PR fix(checksums): rolling checksum sign-extends bytes to match upstream schar #3560 fixed the rolling-checksum signed-byte semantics in crates/checksums/src/rolling/ so that oc-rsync now matches upstream's schar *buf cast in checksum.c:285.
  • In daemon mode, oc-rsync acts as the receiver/generator and produces signatures from the basis file. Pre-fix, those signatures used unsigned-byte rolling checksums while upstream's sender computed signed-byte rolling checksums on its source data — so block-match lookups always missed and matched=0.
  • Post-fix, both sides agree on the rolling checksum value, so block matching engages and standalone:delta-stats should now report matched > 0.

The previous KNOWN_FAILURES comment ("delta engine not active in daemon code path") described the symptom, not the root cause.

Test plan

  • Interop Validation workflow (tools/ci/run_interop.sh) exercises test_delta_stats without the KNOWN_FAILURE skip and passes.
  • If it fails, the entry can be reinstated; otherwise this closes one of the two remaining oc-rsync entries in tools/ci/known_failures.conf, advancing beta criterion Add coverage for duplicate protocol offers in negotiation #3.

Related: PR #3560 (rolling checksum sign-extends bytes to match upstream).

PR #3560 fixed the rolling-checksum signed-byte semantics
(crates/checksums/src/rolling) so that oc-rsync's daemon-mode
signature generation matches upstream's `schar *buf` cast in
checksum.c:285. Delta matching against upstream-computed rolling
checksums now produces matched > 0 in daemon mode, which is what
the standalone:delta-stats interop test verifies.

The previous comment ("delta engine not active in daemon code path")
described the symptom (matched=0) - the actual root cause was the
unsigned-vs-signed byte interpretation in the rolling checksum.

If CI's interop validation surfaces a regression here, the entry
can be reinstated; otherwise the dashboard counts one fewer oc-rsync
gap on the path to beta criterion #3 (zero oc-rsync KNOWN_FAILURES).
@github-actions github-actions Bot added the chore label May 2, 2026
@oferchen oferchen merged commit 34dd330 into master May 2, 2026
42 checks passed
@oferchen oferchen deleted the chore/remove-delta-stats-known-failure branch May 2, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant