Skip to content

Replace legacy bulk uploads with eager ingestion completions - #155

Open
Stephen Belanger (Qard) wants to merge 1 commit into
refactor/stream-componentsfrom
refactor/ingestion-batch-api
Open

Stephen Belanger (Qard) wants to merge 1 commit into
refactor/stream-componentsfrom
refactor/ingestion-batch-api

Conversation

@Qard

@Qard Stephen Belanger (Qard) commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Replace the root-level Logs3BatchUploader compatibility adapter with ingest::BatchUploader, a concrete bulk-ingestion client using explicit api::Config. upload_rows takes an owned batch and returns an eager completion, with shared bounded admission, fixed runtime ownership and shutdown. Clones share capability discovery and lifecycle.

Preserve the existing bulk-import batching, splitting, retries, overflow protocol and accounting through the same private upload coordinator. The direct api::Client remains one-attempt. No manual-delivery mode is added to resource logging. Reuse the direct client's execution lifecycle instead of creating a second task registry or uploader runtime policy.

Validation: 447 unit/integration tests passed; 20 doctests passed (four existing ignored). Strict Clippy, rustdoc, formatting and diff checks passed. Rust 1.86 passed bulk-upload tests and package verification with a fresh offline graph. Coverage verifies 413 splitting, overflow, CA validation, unpolled progress, dropped observers, shared shutdown and fresh batches after terminal failure. Both downstream consumers compile against the replacement; their migration PRs coordinate exact pins and lockfiles.

Stacked on #154. This completes the SDK-side legacy bulk-uploader migration from release-preparation stage 9. Do not land before the coordinated consumer PRs are ready.

Coordinated consumer PRs: daemon #217 and bt #441.

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