-
Notifications
You must be signed in to change notification settings - Fork 467
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(indexer): Fix concurrency issues in ReindexThread (#30083) #30084
fix(indexer): Fix concurrency issues in ReindexThread (#30083) #30084
Conversation
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.
👍🏽
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.
Added some comments - it is important to note that this is like touching a third rail.
I like a lot of these changes and where you are going with this Steve but my question to you would be what is the smallest PR that resolves the issue we are seeing now?
We will need to test a reindex in a cluster (3 node) with more content than the starter provides - something like 10000 pieces of content.
dotCMS/src/main/java/com/dotmarketing/common/reindex/ReindexThread.java
Outdated
Show resolved
Hide resolved
dotCMS/src/main/java/com/dotmarketing/common/reindex/ReindexThread.java
Outdated
Show resolved
Hide resolved
dotCMS/src/main/java/com/dotmarketing/common/reindex/ReindexThread.java
Outdated
Show resolved
Hide resolved
Important note - none of our ITs run against or expect a cluster to exist. This specifically needs to be tested by hand in a clustered configuration - 3 nodes - and test reindex starts, stops, switchovers, manual stops and manual switchovers. |
ce89f8b
to
c39c638
Compare
c39c638
to
df44f60
Compare
@wezell Can we push in just this change, I think it will help on its own with the one issue here and we can spend some more time of general concurrency and state management issues in the new Issue I have created. |
Fixed sonarqube reported issue. |
Quality Gate passedIssues Measures |
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.
Looks great.
Fixes concurrency issues and prevents race conditions that cause the indexer from hanging or shutting down immediately after startup.
This PR resolves #30083 (Startup timeouts due to indexer concurrency issues).
This PR fixes: #30083