Skip to content

Retry MaxErrorRateExceeded under concurrent segment appends - #28

Merged
lyndonbauto merged 1 commit into
mainfrom
fix/concurrent-append-backpressure
Jun 22, 2026
Merged

Retry MaxErrorRateExceeded under concurrent segment appends#28
lyndonbauto merged 1 commit into
mainfrom
fix/concurrent-append-backpressure

Conversation

@lyndonbauto

Copy link
Copy Markdown
Collaborator

Summary

  • Retry MaxErrorRateExceeded alongside DeviceOverload in segment write and batch_write paths
  • Double overload retry budget (5 → 10 attempts) for sustained back-pressure
  • Set default client max_error_rate / error_rate_window in make_client() so stress workloads on a single CE node do not trip the client circuit breaker immediately

Context

Heavy concurrent append_event load (e.g. 64 writers on one session) against Docker CE can briefly return DeviceOverload, which cascades into MaxErrorRateExceeded with the stock client defaults. Segment rollover itself is fine — this is client/back-pressure resilience.

Test plan

  • pytest tests/test_sessions.py::test_concurrent_append_flushes_under_write_block_size
  • pytest full suite

Relax default client error-rate limits and extend overload backoff so
high-concurrency append_event load survives transient DeviceOverload bursts.
@lyndonbauto
lyndonbauto merged commit 67df181 into main Jun 22, 2026
6 checks passed
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