Skip to content
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

Fix an incorrect check in the recovery router (v2) #448

Merged
merged 1 commit into from
May 22, 2024

Conversation

ifakhrutdinov
Copy link
Contributor

The recovery facility might erroneously free the state cell-pool if an ABEND occurs right after the ESTAEX has been set but before any recovery states with the retry option have been pushed; this issued is caused by an incorrectly coded check in the recovery router code (the check is inverted).

Proposed changes

The PR fixes the incorrect instruction and adds some code to leave "bread crumbs" when the state cell-pool is deleted.

This PR addresses Issue: #446

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

PR Checklist

Please delete options that are not relevant.

  • If the changes in this PR are meant for the next release / mainline, this PR targets the "staging" branch.
  • My code follows the style guidelines of this project (see: Contributing guideline)
  • I have commented my code, particularly in hard-to-understand areas
  • Relevant update to CHANGELOG.md
  • [x My changes generate no new warnings

Testing

There is no reliable way to reproduce this, but in the context of the cross-memory server, one could write a service which disables all the recovery states and then ABENDs on purpose; all the subsequent calls to this server should ABEND without the fix.

@ifakhrutdinov ifakhrutdinov added the bug Something isn't working label May 7, 2024
@ifakhrutdinov ifakhrutdinov requested a review from JoeNemo May 7, 2024 15:02
@ifakhrutdinov ifakhrutdinov self-assigned this May 7, 2024
@ifakhrutdinov ifakhrutdinov changed the title Fix an incorrect check in the recovery router Fix an incorrect check in the recovery router (v2) May 7, 2024
Copy link
Contributor

@JoeNemo JoeNemo left a comment

Choose a reason for hiding this comment

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

Approved.

@ifakhrutdinov ifakhrutdinov force-pushed the bugfix/bad-cellpool-logic-in-recovery branch from b137cc9 to f420084 Compare May 8, 2024 16:13
The recovery facility might erroneously free the state cell-pool if an
ABEND occurs right after the ESTAEX has been set but before any recovery
states with the retry option have been pushed; this issued is caused
by an incorrectly coded check in the recovery router code (the check is
inverted).

The commit fixes the incorrect instruction and adds some code to leave
"bread crumbs" when the state cell-pool is deleted.

Fixes: #446
Signed-off-by: Irek Fakhrutdinov <[email protected]>
@ifakhrutdinov ifakhrutdinov force-pushed the bugfix/bad-cellpool-logic-in-recovery branch from f420084 to 1ecbdb4 Compare May 22, 2024 15:32
@ifakhrutdinov ifakhrutdinov added the priority-high An important issue that should be at least considered for the next PI, ideally within this one, if t label May 22, 2024
@JoeNemo JoeNemo merged commit 041d803 into v2.x/staging May 22, 2024
9 checks passed
@ifakhrutdinov ifakhrutdinov deleted the bugfix/bad-cellpool-logic-in-recovery branch May 22, 2024 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority-high An important issue that should be at least considered for the next PI, ideally within this one, if t
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants