Skip to content

[IMPROVED] Pre-acks handling, detecting ack for out of bounds sequence.#6109

Merged
derekcollison merged 3 commits intomainfrom
preacks-imp
Nov 12, 2024
Merged

[IMPROVED] Pre-acks handling, detecting ack for out of bounds sequence.#6109
derekcollison merged 3 commits intomainfrom
preacks-imp

Conversation

@derekcollison
Copy link
Copy Markdown
Member

Detect if we receive an ack past our last stream sequence.

We also no longer register pre-acks when we detect this from a consumer snapshot since we properly handle this now and this could lead to excessive memory usage.

Signed-off-by: Derek Collison derek@nats.io

@derekcollison derekcollison requested a review from a team as a code owner November 11, 2024 20:46
@derekcollison
Copy link
Copy Markdown
Member Author

Question for the team, currently I do return if the ack is waiting for a reply. Currently we do not respond with any errors in 2.10.x so that will need to wait for 2.11 (@jnmoyne) but should we not return and let the ack timeout instead?

@ripienaar interested in your thoughts here.

Copy link
Copy Markdown
Member

@neilalexander neilalexander left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

We also no longer register pre-acks when we detect this from a consumer snapshot since we properly handle this now and this could lead to excessive memory usage.

Signed-off-by: Derek Collison <derek@nats.io>
Signed-off-by: Derek Collison <derek@nats.io>
Signed-off-by: Derek Collison <derek@nats.io>
@derekcollison
Copy link
Copy Markdown
Member Author

ok after thinking I believe we should timeout on an AckSync and err when we hit 2.11.

I force pushed the change to the code and the test.

@jnmoyne
Copy link
Copy Markdown
Contributor

jnmoyne commented Nov 12, 2024

ok after thinking I believe we should timeout on an AckSync and err when we hit 2.11.

I agree that it should error out in 2.11 (e.g. especially if at the same time we start erroring out also in case it's the message is already ack'd).

@derekcollison derekcollison merged commit 1418887 into main Nov 12, 2024
@derekcollison derekcollison deleted the preacks-imp branch November 12, 2024 16:20
neilalexander added a commit that referenced this pull request Nov 12, 2024
Includes the following:

* Some tweaks to the NRG test helpers
* #6055
* #6061
* #6065 
* #6041 (but with `math/rand`
instead of `math/rand/v2` due to an older Go version in CI for 2.10.x)
* #6066
* #6067
* #6069
* #6075
* #6082
* #6087
* #6086
* #6088
* #6089
* #6092
* #6096
* #6098
* #6097
* #6105
* #6104
* #6106
* #6109
* #6111
* #6112

Signed-off-by: Neil Twigg <neil@nats.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants