Use the same connection string key for the same option on every transport
@FergusMok is already working on this.
Since Sep 18, 2026.
Assessment
This issue has not been assessed yet.
Description
Description
Three connection string options have a different key on QUIC than on TCP and WebSocket. Unknown keys are errors, so using another transport's key name makes the connection string fail.
| Option | TCP | QUIC | WebSocket |
|---|---|---|---|
| Reconnection attempts | reconnection_retries |
reconnection_max_retries |
reconnection_retries |
| Reconnection cooldown | reestablish_after |
reconnection_reestablish_after |
reestablish_after |
| Certificate validation | none | validate_certificate |
tls_validate_certificate |
The parsers are the *_connection_string_options.rs files under core/common/src/types/configuration/.
Affected area / component
Rust SDK, Configuration
Proposed solution
Use one key per option across all transports, and accept the old keys as deprecated aliases for a release. The client builders already use one name for each across all three transports: with_reconnection_max_retries, with_reestablish_after, and with_tls_validate_certificate on TCP and WebSocket. Matching those gives reconnection_max_retries, reestablish_after and tls_validate_certificate.
Alternatives considered
Rename without aliases in the next release. Existing connection strings would then fail until updated.
Contribution
- I'm willing to submit a pull request to implement this feature
Good first issue
- I think this could be a good first issue for a new contributor
- Dominant language
- Rust
- Stars
- 4.9k
- Forks
- 442
- Avg merge
- 2d 23m
- Merged PRs (30d)
- 153
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/iggy
-
server test
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
connectors: runtime discards the sink consume FFI status, so failed batches are counted as processed Openbug connectors rust
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
bug python sdk
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100