You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@polaris.apache.org by "riemenschneider (via GitHub)" <gi...@apache.org> on 2026/10/13 09:38:58 UTC
[I] NoSQL: Make the commit retry settings configurable [polaris]
riemenschneider opened a new issue, #5777:
URL: https://github.com/apache/polaris/issues/5777
### Is your feature request related to a problem? Please describe.
The NoSQL persistence retries commits within a total time budget (`RetryConfig.timeout`, default `PT15S`). That budget can't be changed. `PersistenceParams.retryConfig()` is a `default` method returning the built-in defaults, and SmallRye config mappings skip default methods, so no `polaris.persistence.retry*` property exists. The JDBC persistence, by contrast, exposes `max-retries`, `max-duration-in-ms` and `initial-delay-in-ms`.
When MongoDB stalls for about 15 s (for example `w:majority` writes behind a lagging secondary), a single stalled attempt uses up the whole budget. The commit then fails with `RetryTimeoutException: Retry timeout after PT15.002S, 0 retries`, and the client gets a 500.
### Describe the solution you'd like
Map the existing `RetryConfig` through the `PersistenceParams` config mapping, which makes these properties available:
- `polaris.persistence.retry.timeout`
- `polaris.persistence.retry.retries`
- `polaris.persistence.retry.initial-sleep-lower`
- `polaris.persistence.retry.initial-sleep-upper`
- `polaris.persistence.retry.max-sleep`
- `polaris.persistence.retry.fair-retries`
The current defaults stay unchanged.
### Describe alternatives you've considered
- Declaring a separate `@ConfigMapping` for `RetryConfig` and merging it in `PersistenceProducers`. This leaves the `PersistenceParams` interface unchanged but adds more code.
- A per-attempt deadline. This changes the retry semantics rather than the configuration and should be discussed separately.
### Additional context
Discussed on dev@: https://lists.apache.org/thread/snms04dhn9d5g10g59nrfx6j2m1dw7ns
Follow-up once this is in: the MongoDB docs (`metastores/nosql-mongodb.md`, `helm-chart/persistence.md`) recommend 30S for `quarkus.mongodb.read-timeout` and `server-selection-timeout`. That is longer than the 15 s retry budget, so the documented driver timeouts and the retry timeout need to be aligned.
I used AI assistance to analyse the code and draft this issue; I have reviewed it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@polaris.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] NoSQL: Make the commit retry settings configurable [polaris]
Posted by "snazy (via GitHub)" <gi...@apache.org>.
snazy closed issue #5777: NoSQL: Make the commit retry settings configurable
URL: https://github.com/apache/polaris/issues/5777
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@polaris.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org