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

Proposed changes to caching saga fix #2532

Merged

Conversation

CodeDrivenMitch
Copy link
Member

The current fix can still trigger the ConcurrentModificationException.
This PR contains a testcase that will reliably create an exception by using the CachingSagaStore directly without modelling intervention. It does so by ending/creating saga's and querying saga's from multiple threads, causing the exception.
It also contains a fix which should be discussed. It introduces locking on the associationsCache.

… the delegate in a synchronised set to prevent concurrency issues leading to a ConcurrentModificationException in some cases.
… check whether value is still not garbage collected or cleaned
@smcvb smcvb added Type: Enhancement Use to signal an issue enhances an already existing feature of the project. Priority 1: Must Highest priority. A release cannot be made if this issue isn’t resolved. Status: In Progress Use to signal this issue is actively worked on. labels Dec 28, 2022
@smcvb smcvb added this to the Release 4.6.3 milestone Dec 28, 2022
@smcvb smcvb requested review from a team, gklijs and smcvb and removed request for a team December 28, 2022 09:27
Copy link
Member

@smcvb smcvb left a comment

Choose a reason for hiding this comment

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

Great addition, @MORLACK! Looks good to me to pull this into the IT adjustments.

@smcvb smcvb merged commit c6f2a47 into enhancement/caching-saga-it Dec 28, 2022
@smcvb smcvb deleted the enhancement/caching-saga-it-morlack branch December 28, 2022 09:57
@smcvb smcvb added Status: Resolved Use to signal that work on this issue is done. and removed Status: In Progress Use to signal this issue is actively worked on. labels Dec 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority 1: Must Highest priority. A release cannot be made if this issue isn’t resolved. Status: Resolved Use to signal that work on this issue is done. Type: Enhancement Use to signal an issue enhances an already existing feature of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants