refactor(backend): Refactor of ReindexThread (#30109) #30110
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes significant updates to the
BulkProcessorListener
class in thedotCMS
project to improve concurrency handling and error logging. The most important changes involve replacing existing data structures with thread-safe alternatives, adding new atomic counters, and refactoring methods for better readability and functionality.Improvements to concurrency handling:
HashMap
withConcurrentHashMap
forworkingRecords
to ensure thread-safe operations. (dotCMS/src/main/java/com/dotmarketing/common/reindex/BulkProcessorListener.java
)AtomicInteger
counters for tracking total responses, success, and failure counts. (dotCMS/src/main/java/com/dotmarketing/common/reindex/BulkProcessorListener.java
)BlockingQueue<ReindexResult>
to manage reindexing results in a thread-safe manner. (dotCMS/src/main/java/com/dotmarketing/common/reindex/BulkProcessorListener.java
)Refactoring for readability and functionality:
BulkItemResponse
into a new methodgetIdFromResponse
. (dotCMS/src/main/java/com/dotmarketing/common/reindex/BulkProcessorListener.java
)addErrorToQueue
andaddSuccessToQueue
. (dotCMS/src/main/java/com/dotmarketing/common/reindex/BulkProcessorListener.java
)handleFailure
andhandleSuccess
methods with new logic to add results to the queue and increment counters. (dotCMS/src/main/java/com/dotmarketing/common/reindex/BulkProcessorListener.java
)Follows on from basic change in #30084
This PR resolves #30109 (Refactor of ReindexThread).