Skip to content

Fix indeterminate oplog writes and batch persistence - #3833

Open
vigoo wants to merge 2 commits into
mainfrom
fix/gol-535-gol-480-oplog-appends
Open

Fix indeterminate oplog writes and batch persistence#3833
vigoo wants to merge 2 commits into
mainfrom
fix/gol-535-gol-480-oplog-appends

Conversation

@vigoo

@vigoo vigoo commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • classify indexed-storage write failures so primary oplog retries distinguish safe transient failures, indeterminate outcomes, conflicts, and permanent errors
  • reconcile a possibly committed append by reading back the expected range and accepting only an exact ID and serialized-byte match
  • serialize oplog batches once and reuse the same Arc<[(u64, Bytes)]> across retries and reconciliation
  • remove PostgreSQL per-row namespace/key allocations and add transactional, zero-explicit-copy SQLite batch writes with single-lookup MultiSqlite routing
  • cover initial and batched appends, conflict safety, partial/different read-back, backend error classification, atomic SQLite batches, and per-agent MultiSqlite routing

Verification

  • cargo fmt -p golem-worker-executor -- --check
  • cargo check -p golem-worker-executor --all-targets
  • cargo clippy -p golem-worker-executor --all-targets --no-deps -- -D warnings
  • 19 focused golem-worker-executor tests covering GOL-535 and GOL-480
  • git diff --check

Resolves GOL-535

Resolves GOL-480

@vigoo
vigoo requested a review from a team September 4, 2026 13:31
@netlify

netlify Bot commented Sep 4, 2026

Copy link
Copy Markdown

Deploy Preview for golemcloud canceled.

Name Link
🔨 Latest commit b348287
🔍 Latest deploy log https://app.netlify.com/projects/golemcloud/deploys/6a9c238180d8410007ea0766

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