Skip to content

feat(dc_bridge): split shipper.data_dir into separate Shipper and Uploader directories - #453

Merged
Minipada merged 3 commits into
jazzyfrom
feature/441-split-shipper-data-dir-into-separate-shi
Aug 31, 2026
Merged

feat(dc_bridge): split shipper.data_dir into separate Shipper and Uploader directories#453
Minipada merged 3 commits into
jazzyfrom
feature/441-split-shipper-data-dir-into-separate-shi

Conversation

@Minipada

Copy link
Copy Markdown
Owner

Summary

  • shipper.data_dir fed both the Shipper's disk buffer (rendered into Vector's config) and the Uploader's durable intent queue + multipart-resume state — one parameter tied two independent owners to the same directory for no architectural reason.
  • Adds uploader.data_dir, used for <uploader.data_dir>/uploader (multipart-resume state) and <uploader.data_dir>/queue/upload (the durable intent queue, DC 2.0: durable Uploader intent queue — File uploads survive Bridge restarts #265).
  • Defaults to shipper.data_dir, so a deployment that only ever set shipper.data_dir keeps working unchanged; the two may still point at the same directory, or be split so each can be mounted as its own volume.

Test plan

  • colcon test (CI)
  • Zero-loss E2E harness still reports zero loss (CI/e2e) — unaffected since uploader.data_dir defaults to the existing shipper.data_dir value in all e2e param files

Closes #441

…oader directories

shipper.data_dir fed both the Shipper's disk buffer and the Uploader's durable
intent queue / multipart-resume state, tying them to one directory for no
architectural reason. Add uploader.data_dir, defaulting to shipper.data_dir so
existing deployments keep working unchanged, so each can later be mounted as
its own volume.

Closes #441

Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
…_dir example

Same-path examples obscured which files on disk belong to which owner. Show
separate paths in the files-destination example so it's obvious by default,
while the code's uploader.data_dir still falls back to shipper.data_dir when
unset, per #441.

Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
…harness

The zero-loss harness only ever ran with uploader.data_dir unset, so it only
proved the same-directory default still worked, not that the split from #441
actually functions. Point uploader.data_dir at its own directory in
e2e_params.yaml, mounted on a new dc_e2e_uploader volume (separate from the
Shipper's dc_e2e_buffer) so it survives the induced outage + restart like the
Shipper's buffer already does, and update the durable-intent-queue check to
read from the right volume. Also fixes a stale README reference to the queue
living under shipper.data_dir.

Signed-off-by: David Bensoussan <d.bensoussan@proton.me>
@codecov

codecov Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.92%. Comparing base (2b2051b) to head (52ba4f9).

Files with missing lines Patch % Lines
dc_bridge/src/bridge_node.cpp 0.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##            jazzy     #453      +/-   ##
==========================================
- Coverage   70.93%   70.92%   -0.00%     
==========================================
  Files         119      119              
  Lines        7401     7402       +1     
==========================================
  Hits         5249     5249              
- Misses       2152     2153       +1     
Flag Coverage Δ
cpp-jazzy 70.92% <0.00%> (-<0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Minipada
Minipada merged commit cc95aab into jazzy Aug 31, 2026
11 checks passed
@github-actions
github-actions Bot deleted the feature/441-split-shipper-data-dir-into-separate-shi branch August 31, 2026 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant