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

Race condition between ICA and ICQ callbacks cause ICA Ack to fail on not finding delegation #1693

Closed
joe-bowman opened this issue Jul 12, 2024 · 0 comments · Fixed by #1696

Comments

@joe-bowman
Copy link
Contributor

It is possible in the event of delayed ICA acknowledgements, that an ICQ callback may have already removed a delegation (if it reached zero), and that delivery of certain ICA acks may then fail to find said delegation (in order to reduce it).

We should short circuit if the delegation record cannot be found (as the only requirement for it is to reduce it).

We should probably also trigger a delegation ICQ query to ensure it is as up to date as possible.

joe-bowman pushed a commit that referenced this issue Jul 12, 2024
* fix: dont fail acknowledgement on delgation record race condition. fixes #1693

* ensure that src delegation is icq updated in all cases
joe-bowman pushed a commit that referenced this issue Jul 12, 2024
* add ibc v6 migration to upgrade handler

* fix v1.6.1 upgrade handler test

* dont error on nil response, it is valid if node has been pruned. log the error and try again. query will be re-raised if balance remains non-zero

* fix: do not throw error on race condition (#1694)

* fix: dont fail acknowledgement on delgation record race condition. fixes #1693

* ensure that src delegation is icq updated in all cases

* update dependencies

* more dependencie bumps

* pfm can return nil; transfer_middleware should fall through if this is the case; fixes #1695

* add no-op handler for v1.6.2

* revert docker dependency change, which caused interchaintests to fail
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 a pull request may close this issue.

1 participant