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/09/15 16:21:33 UTC
[PR] fix/cluster startup poll routing [iggy]
hubcio opened a new pull request, #4194:
URL: https://github.com/apache/iggy/pull/4194
- **fix(consensus): scope heartbeat freshness to its view**
- **fix(cluster): retry replica mesh connections every second**
--
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] fix(cluster): prevent spurious heartbeat elections [iggy]
Posted by "numinnex (via GitHub)" <gi...@apache.org>.
numinnex commented on code in PR #4194:
URL: https://github.com/apache/iggy/pull/4194#discussion_r4018011070
##########
core/consensus/src/impls.rs:
##########
@@ -1198,9 +1198,9 @@ where
timeouts: RefCell<TimeoutManager>,
- /// Monotonic timestamp from the most recent accepted commit heartbeat.
- /// Old/replayed commit messages with a lower timestamp are ignored.
- heartbeat_timestamp: Cell<u64>,
+ /// View and counter of the last emitted or accepted heartbeat. A new
+ /// primary's counter can be lower, so freshness is scoped to its view.
Review Comment:
Maybe if we received a lower timestamp than the previous one, we can instead take max(current, new). In the VSR when message with a strictly non monotonic StartViewChange/DoViewChange is received, the default mode is to assume that it's the correct view.
--
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] fix(cluster): prevent spurious heartbeat elections [iggy]
Posted by "hubcio (via GitHub)" <gi...@apache.org>.
hubcio commented on PR #4194:
URL: https://github.com/apache/iggy/pull/4194#issuecomment-5684997044
/dst
--
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] fix(cluster): prevent spurious heartbeat elections [iggy]
Posted by "hubcio (via GitHub)" <gi...@apache.org>.
hubcio merged PR #4194:
URL: https://github.com/apache/iggy/pull/4194
--
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] fix(cluster): prevent spurious heartbeat elections [iggy]
Posted by "hubcio (via GitHub)" <gi...@apache.org>.
hubcio commented on code in PR #4194:
URL: https://github.com/apache/iggy/pull/4194#discussion_r4018081070
##########
core/consensus/src/impls.rs:
##########
@@ -1198,9 +1198,9 @@ where
timeouts: RefCell<TimeoutManager>,
- /// Monotonic timestamp from the most recent accepted commit heartbeat.
- /// Old/replayed commit messages with a lower timestamp are ignored.
- heartbeat_timestamp: Cell<u64>,
+ /// View and counter of the last emitted or accepted heartbeat. A new
+ /// primary's counter can be lower, so freshness is scoped to its view.
Review Comment:
max() on a lower counter either keeps the timer stale (bug stays) or refreshes it on any heartbeat (replay guard gone)
we compare (view, counter), so a new view's first heartbeat always wins and a lower counter inside one view is still a replay. Same as TigerBeetle, which zeroes heartbeat_timestamp on every view transition and keeps the strict compare in on_commit.
i'd leave it as is
--
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] fix/cluster startup poll routing [iggy]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #4194:
URL: https://github.com/apache/iggy/pull/4194#issuecomment-5683935689
## [Codecov](https://app.codecov.io/gh/apache/iggy/pull/4194?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 87.14%. Comparing base ([`f77d64b`](https://app.codecov.io/gh/apache/iggy/commit/f77d64b2faf01c11e77242c1a073b6b9b200d7aa?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`c3aa6d7`](https://app.codecov.io/gh/apache/iggy/commit/c3aa6d7510e41074426a813ec8fb722489e2f763?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 #4194 +/- ##
============================================
- Coverage 87.47% 87.14% -0.33%
Complexity 1575 1575
============================================
Files 1280 1278 -2
Lines 222918 222665 -253
Branches 186281 186238 -43
============================================
- Hits 195001 194047 -954
- Misses 23213 23906 +693
- Partials 4704 4712 +8
```
| [Components](https://app.codecov.io/gh/apache/iggy/pull/4194/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/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `88.55% <ø> (-0.01%)` | :arrow_down: |
| [Java SDK](https://app.codecov.io/gh/apache/iggy/pull/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `68.68% <ø> (ø)` | |
| [C# SDK](https://app.codecov.io/gh/apache/iggy/pull/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `77.42% <ø> (ø)` | |
| [Python SDK](https://app.codecov.io/gh/apache/iggy/pull/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `90.97% <ø> (ø)` | |
| [PHP SDK](https://app.codecov.io/gh/apache/iggy/pull/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `85.67% <ø> (ø)` | |
| [Node SDK](https://app.codecov.io/gh/apache/iggy/pull/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `90.76% <ø> (-5.67%)` | :arrow_down: |
| [Go SDK](https://app.codecov.io/gh/apache/iggy/pull/4194/components?src=pr&el=component&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `70.08% <ø> (ø)` | |
| [Files with missing lines](https://app.codecov.io/gh/apache/iggy/pull/4194?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [core/consensus/src/impls.rs](https://app.codecov.io/gh/apache/iggy/pull/4194?src=pr&el=tree&filepath=core%2Fconsensus%2Fsrc%2Fimpls.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9jb25zZW5zdXMvc3JjL2ltcGxzLnJz) | `93.15% <ø> (-0.02%)` | :arrow_down: |
| [core/message\_bus/src/connector.rs](https://app.codecov.io/gh/apache/iggy/pull/4194?src=pr&el=tree&filepath=core%2Fmessage_bus%2Fsrc%2Fconnector.rs&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-Y29yZS9tZXNzYWdlX2J1cy9zcmMvY29ubmVjdG9yLnJz) | `97.05% <ø> (ø)` | |
... and [53 files with indirect coverage changes](https://app.codecov.io/gh/apache/iggy/pull/4194/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