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