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

Reset pending trade protocol of same offer #6487

Conversation

HenrikJannsen
Copy link
Collaborator

No description provided.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
Add map for maintaining pending protocols by offerID.

Fixes a bug when the same taker got an early failure in a take offer attempt before the maker removes the offer and the taker did not persist the failed trade, thus the protection to not be permitted to take the same offer after a failure does not prevent another take offer attempt of the same taker. In such a case the maker has the old pending protocol listening for the trade messages and both the old and new protocol instance process those messages. In case the model data has changes (e.g. diff. inputs) this can cause a failed trade.
We do not remove the message listeners on failures to tolerate minor failures which can be recovered by resend routines.
There could be more solid fixes for that issue but this approach seems to carry less risks.
@HenrikJannsen HenrikJannsen force-pushed the reset_pending_trade_protocol_of_same_offer branch from 8c9c3c7 to 3f4a069 Compare December 26, 2022 19:07
Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

utACK

@alejandrogarcia83 alejandrogarcia83 added this to the v1.9.9 milestone Dec 29, 2022
Copy link
Contributor

@alejandrogarcia83 alejandrogarcia83 left a comment

Choose a reason for hiding this comment

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

utACK

@alejandrogarcia83 alejandrogarcia83 merged commit eef7846 into bisq-network:master Dec 29, 2022
@HenrikJannsen HenrikJannsen deleted the reset_pending_trade_protocol_of_same_offer branch December 29, 2022 17:37
@alejandrogarcia83 alejandrogarcia83 modified the milestones: v1.9.9, v1.9.10 Jan 3, 2023
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.

2 participants