Skip to content

Enable environment-driven system rsync delegation in oc-rsyncd#971

Merged
oferchen merged 1 commit into
masterfrom
implement-missing-components-for-oc-rsync
Oct 23, 2025
Merged

Enable environment-driven system rsync delegation in oc-rsyncd#971
oferchen merged 1 commit into
masterfrom
implement-missing-components-for-oc-rsync

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

  • allow oc-rsyncd to delegate to the system rsync daemon when OC_RSYNC_DAEMON_AUTO_DELEGATE is set
  • treat common falsy values as an opt-out for the environment toggle
  • extend the daemon test suite to cover the new behaviour

Testing

  • cargo test

https://chatgpt.com/codex/tasks/task_e_68fa6e06406c8323a0c0a502fc9ecb4a

@oferchen oferchen merged commit c3376c6 into master Oct 23, 2025
@oferchen oferchen deleted the implement-missing-components-for-oc-rsync branch October 23, 2025 18:28
oferchen added a commit that referenced this pull request May 1, 2026
Adds scripts/benchmark_flist_memory.sh which compares peak RSS of
oc-rsync against upstream rsync 3.4.1 at 100K and 1M directory scales
under three flist modes:

- Mode A: full flist (--no-inc-recursive)
- Mode B: default (receiver INC_RECURSE)
- Mode C: sender INC_RECURSE (skipped, pending #1862 opt-in flag)

Measures wall-clock time and peak RSS via /usr/bin/time -v, runs each
mode 3 times and takes the median, writes TSV to target/benchmarks/
and emits an optional markdown summary. Fixtures live under
/tmp/oc-rsync-bench (not bind-mounted) with a path guard that refuses
to rm anywhere outside that prefix.

Documents 2026-05-01 baseline numbers in
docs/benchmarks/flist-memory-baseline-2026-05-01.md - upstream peak
RSS drops from 76.8 MB (Mode A) to 7.5 MB (Mode B) at 1M files, while
oc-rsync stays at ~218 MB across both modes (sender-side INC_RECURSE
not yet active). Refs #966/#971 for the RSS gap context.
oferchen added a commit that referenced this pull request May 5, 2026
Adds scripts/benchmark_flist_memory.sh which compares peak RSS of
oc-rsync against upstream rsync 3.4.1 at 100K and 1M directory scales
under three flist modes:

- Mode A: full flist (--no-inc-recursive)
- Mode B: default (receiver INC_RECURSE)
- Mode C: sender INC_RECURSE (skipped, pending #1862 opt-in flag)

Measures wall-clock time and peak RSS via /usr/bin/time -v, runs each
mode 3 times and takes the median, writes TSV to target/benchmarks/
and emits an optional markdown summary. Fixtures live under
/tmp/oc-rsync-bench (not bind-mounted) with a path guard that refuses
to rm anywhere outside that prefix.

Documents 2026-05-01 baseline numbers in
docs/benchmarks/flist-memory-baseline-2026-05-01.md - upstream peak
RSS drops from 76.8 MB (Mode A) to 7.5 MB (Mode B) at 1M files, while
oc-rsync stays at ~218 MB across both modes (sender-side INC_RECURSE
not yet active). Refs #966/#971 for the RSS gap context.
oferchen added a commit that referenced this pull request May 7, 2026
Plan re-baselines peak RSS for full vs incremental flist on 100K and 1M
directory pushes after #1862 landed sender INC_RECURSE. Captures the
state machine in crates/transfer/src/generator/file_list/inc_recurse.rs
plus the receiver-side path in receiver/file_list.rs, and ties the bench
gate to the v0.6.1 push regression revert (#3744) so default-flip needs
both wall-clock and RSS evidence.

Refs #1864, #1862, #966, #971, #972, #2088.
oferchen added a commit that referenced this pull request May 18, 2026
Plan re-baselines peak RSS for full vs incremental flist on 100K and 1M
directory pushes after #1862 landed sender INC_RECURSE. Captures the
state machine in crates/transfer/src/generator/file_list/inc_recurse.rs
plus the receiver-side path in receiver/file_list.rs, and ties the bench
gate to the v0.6.1 push regression revert (#3744) so default-flip needs
both wall-clock and RSS evidence.

Refs #1864, #1862, #966, #971, #972, #2088.
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