-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Preventing serialization errors in the nodes stats API #90319
Preventing serialization errors in the nodes stats API #90319
Conversation
Pinging @elastic/es-data-management (Team:Data Management) |
Hi @masseyke, I've created a changelog YAML for you. |
Hi @masseyke, I've updated the changelog YAML for you. |
@elasticmachine run elasticsearch-ci/part-1 |
@elasticmachine run elasticsearch-ci/bwc |
@elasticmachine update branch |
Anything else you'd like to see here @DaveCTurner? It LGTM, but I don't want to front run your ✅ if there's something else you'd like to see. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, nothing more from me, I was just passing through 😁
Preventing serialization errors in the nodes stats API, and adding logging to the ingest counter code so that we can find the root cause of the problem in the future.
💔 Backport failed
You can use sqren/backport to manually backport by running |
Preventing serialization errors in the nodes stats API, and adding logging to the ingest counter code so that we can find the root cause of the problem in the future.
Preventing serialization errors in the nodes stats API, and adding logging to the ingest counter code so that we can find the root cause of the problem in the future. Co-authored-by: Elastic Machine <[email protected]>
* Update docs for v8.4.3 release * Update release highlights for 8.4.3 version. * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/highlights.asciidoc Co-authored-by: Adam Locke <[email protected]> * Make link external type * Update release notes to include #90319 PR after creating BC2. * Remove release note for #90302 * Minor grammar fix Co-authored-by: Adam Locke <[email protected]>
* Update docs for v8.4.3 release * Update release highlights for 8.4.3 version. * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/highlights.asciidoc Co-authored-by: Adam Locke <[email protected]> * Make link external type * Update release notes to include elastic#90319 PR after creating BC2. * Remove release note for elastic#90302 * Minor grammar fix Co-authored-by: Adam Locke <[email protected]> (cherry picked from commit 25a196f) # Conflicts: # docs/reference/release-notes.asciidoc # docs/reference/release-notes/highlights.asciidoc
* Update docs for v8.4.3 release * Update release highlights for 8.4.3 version. * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/highlights.asciidoc Co-authored-by: Adam Locke <[email protected]> * Make link external type * Update release notes to include elastic#90319 PR after creating BC2. * Remove release note for elastic#90302 * Minor grammar fix Co-authored-by: Adam Locke <[email protected]> (cherry picked from commit 25a196f) # Conflicts: # docs/reference/release-notes.asciidoc # docs/reference/release-notes/highlights.asciidoc
* Update docs for v8.4.3 release * Update release highlights for 8.4.3 version. * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/highlights.asciidoc Co-authored-by: Adam Locke <[email protected]> * Make link external type * Update release notes to include #90319 PR after creating BC2. * Remove release note for #90302 * Minor grammar fix Co-authored-by: Adam Locke <[email protected]> (cherry picked from commit 25a196f) # Conflicts: # docs/reference/release-notes.asciidoc # docs/reference/release-notes/highlights.asciidoc Co-authored-by: Slobodan Adamović <[email protected]>
* Update docs for v8.4.3 release * Update release highlights for 8.4.3 version. * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/8.4.3.asciidoc Co-authored-by: Adam Locke <[email protected]> * Update docs/reference/release-notes/highlights.asciidoc Co-authored-by: Adam Locke <[email protected]> * Make link external type * Update release notes to include #90319 PR after creating BC2. * Remove release note for #90302 * Minor grammar fix Co-authored-by: Adam Locke <[email protected]> (cherry picked from commit 25a196f) # Conflicts: # docs/reference/release-notes.asciidoc # docs/reference/release-notes/highlights.asciidoc Co-authored-by: Slobodan Adamović <[email protected]>
Preventing serialization errors in the nodes stats API, and adding logging to the ingest counter code so that we can find the root cause of the problem in the future.
On a few occasions we have seen the nodes stats API fail with this (this stack is from 7.14.0, but we have also seen it on higher 7.x versions and 8.x):
The cause is that the
ingestCurrent
counter has gone below 0, andwriteVLong
cannot handle negative numbers. TheingestCurrent
counter ought to never be below 0. I have not been able to reproduce this despite trying a lot of things. I believe that the only way that this could happen (before 7.17.2 anyway) is if a processor's listener is called more than once, since the counter is always incremented before the processor is run, and then decremented once in the processor's listener. Unfortunately I have not been able to find any place where a listener is called more than once, and there are hundreds of listener uses we would need to go through. Since I have not found the root cause, this PR is meant to detect and prevent the serialization problem, and to log the stack trace when it is found (so that we can potentially find the root cause(s)).Closes #77973
Related #84838