You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by "hubcio (via GitHub)" <gi...@apache.org> on 2026/07/31 05:54:09 UTC
[PR] feat(server-ng): confirm committed sends with partition and offset [iggy]
hubcio opened a new pull request, #3781:
URL: https://github.com/apache/iggy/pull/3781
A committed SendMessages answered with an empty body, so producers
could not learn which partition a balanced or keyed batch landed in
nor the offsets it was assigned.
server-ng now builds a confirmation payload at commit time on the
partition group primary: a count-prefixed list of entries carrying
stream, topic and partition ids plus the base offset of the batch,
derived from the journaled batch header so any primary draining the
commit reports identical offsets. The list shape lets a future
multi-partition produce grow the count without a wire change; an
undecodable journal entry degrades to an empty list rather than an
empty body.
The SDK always returns the confirmation struct. The legacy server
reports none (empty reply body); until core/server is retired that
case degrades to a zeroed confirmation instead of an error, kept in
one fallback marked for removal. IggyProducer returns one
confirmation per chunk it split a send into; the background
producer keeps returning nothing since its shard merges batches and
no 1:1 mapping exists. The HTTP endpoint mirrors the tuple as JSON
on the 201 reply.
The PHP, Python and C++ bindings expose the confirmations as well.
All three are FFI over the Rust SDK, so the changed signature
reached them directly and PHP no longer compiled at all. Each wraps
the reply in a language-native type mirroring the Rust shape, a
response holding one confirmation per partition, so a later
multi-partition produce needs no binding change either. The
temporary zeroed-confirmation shape is marked in each binding
alongside the fallback it stands in for.
--
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: commits-unsubscribe@iggy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(server-ng): confirm committed sends with partition and offset [iggy]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #3781:
URL: https://github.com/apache/iggy/pull/3781#issuecomment-5139791383
## [Codecov](https://app.codecov.io/gh/apache/iggy/pull/3781?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 75.08%. Comparing base ([`5ca0bbb`](https://app.codecov.io/gh/apache/iggy/commit/5ca0bbb4094c40a23f76190df984f74be5897964?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`d9f1e90`](https://app.codecov.io/gh/apache/iggy/commit/d9f1e90f6cba2255477ddf412bb7fa579f74e41e?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #3781 +/- ##
============================================
- Coverage 75.53% 75.08% -0.46%
Complexity 969 969
============================================
Files 1317 1315 -2
Lines 154895 154593 -302
Branches 128519 128413 -106
============================================
- Hits 117004 116077 -927
- Misses 34344 34974 +630
+ Partials 3547 3542 -5
```
| [Components](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=components&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [Rust Core](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `75.51% <ø> (+<0.01%)` | :arrow_up: |
| [Java SDK](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `62.71% <ø> (ø)` | |
| [C# SDK](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `72.26% <ø> (ø)` | |
| [Python SDK](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `92.25% <ø> (-0.02%)` | :arrow_down: |
| [PHP SDK](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `84.50% <ø> (-0.03%)` | :arrow_down: |
| [Node SDK](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `88.80% <ø> (-6.33%)` | :arrow_down: |
| [Go SDK](https://app.codecov.io/gh/apache/iggy/pull/3781/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `43.08% <ø> (ø)` | |
| [Files with missing lines](https://app.codecov.io/gh/apache/iggy/pull/3781?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [core/ai/mcp/src/service/mod.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fai%2Fmcp%2Fsrc%2Fservice%2Fmod.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9haS9tY3Avc3JjL3NlcnZpY2UvbW9kLnJz) | `60.17% <ø> (-0.12%)` | :arrow_down: |
| [core/common/src/traits/binary\_impls/messages.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fcommon%2Fsrc%2Ftraits%2Fbinary_impls%2Fmessages.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9jb21tb24vc3JjL3RyYWl0cy9iaW5hcnlfaW1wbHMvbWVzc2FnZXMucnM=) | `100.00% <ø> (ø)` | |
| [core/common/src/traits/binary\_impls/mod.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fcommon%2Fsrc%2Ftraits%2Fbinary_impls%2Fmod.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9jb21tb24vc3JjL3RyYWl0cy9iaW5hcnlfaW1wbHMvbW9kLnJz) | `86.66% <ø> (ø)` | |
| [core/partitions/src/iggy\_partition.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fpartitions%2Fsrc%2Figgy_partition.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9wYXJ0aXRpb25zL3NyYy9pZ2d5X3BhcnRpdGlvbi5ycw==) | `55.77% <ø> (-0.11%)` | :arrow_down: |
| [...e/sdk/src/client\_wrappers/binary\_message\_client.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fsdk%2Fsrc%2Fclient_wrappers%2Fbinary_message_client.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9zZGsvc3JjL2NsaWVudF93cmFwcGVycy9iaW5hcnlfbWVzc2FnZV9jbGllbnQucnM=) | `100.00% <ø> (ø)` | |
| [core/sdk/src/clients/binary\_message.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fsdk%2Fsrc%2Fclients%2Fbinary_message.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9zZGsvc3JjL2NsaWVudHMvYmluYXJ5X21lc3NhZ2UucnM=) | `100.00% <ø> (ø)` | |
| [core/sdk/src/clients/producer.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fsdk%2Fsrc%2Fclients%2Fproducer.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9zZGsvc3JjL2NsaWVudHMvcHJvZHVjZXIucnM=) | `65.88% <ø> (+1.51%)` | :arrow_up: |
| [core/sdk/src/clients/producer\_dispatcher.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fsdk%2Fsrc%2Fclients%2Fproducer_dispatcher.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9zZGsvc3JjL2NsaWVudHMvcHJvZHVjZXJfZGlzcGF0Y2hlci5ycw==) | `93.90% <ø> (-0.05%)` | :arrow_down: |
| [core/sdk/src/clients/producer\_sharding.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fsdk%2Fsrc%2Fclients%2Fproducer_sharding.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9zZGsvc3JjL2NsaWVudHMvcHJvZHVjZXJfc2hhcmRpbmcucnM=) | `94.56% <ø> (-0.06%)` | :arrow_down: |
| [core/sdk/src/http/messages.rs](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree&filepath=core%2Fsdk%2Fsrc%2Fhttp%2Fmessages.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9zZGsvc3JjL2h0dHAvbWVzc2FnZXMucnM=) | `100.00% <ø> (ø)` | |
| ... and [8 more](https://app.codecov.io/gh/apache/iggy/pull/3781?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | |
... and [54 files with indirect coverage changes](https://app.codecov.io/gh/apache/iggy/pull/3781/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
</details>
<details><summary> :rocket: New features to boost your workflow: </summary>
- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
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: commits-unsubscribe@iggy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat(server-ng): confirm committed sends with partition and offset [iggy]
Posted by "spetz (via GitHub)" <gi...@apache.org>.
spetz merged PR #3781:
URL: https://github.com/apache/iggy/pull/3781
--
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: commits-unsubscribe@iggy.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org