SOLR-16542: Remove OverseerConfigSetMessageHandler; always do distributed mode#1467
SOLR-16542: Remove OverseerConfigSetMessageHandler; always do distributed mode#1467vinayakphegde wants to merge 4 commits intoapache:mainfrom
Conversation
… the code accordingly but all tests are not green
solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
Outdated
Show resolved
Hide resolved
| OverseerMessageHandler.Lock lock = messageHandler.lockTask(message, batchSessionId); | ||
|
|
||
| OverseerCollectionMessageHandler.Lock lock = | ||
| this.overseerCollectionMessageHandler.lockTask(message, batchSessionId); |
There was a problem hiding this comment.
THREAD_SAFETY_VIOLATION: Unprotected write. Non-private method OverseerTaskProcessor.run() indirectly writes to field this.overseerCollectionMessageHandler.lockSession outside of synchronization.
Reporting because this access may occur on a background thread.
ℹ️ Expand to see all @sonatype-lift commands
You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.
| Command | Usage |
|---|---|
@sonatype-lift ignore |
Leave out the above finding from this PR |
@sonatype-lift ignoreall |
Leave out all the existing findings from this PR |
@sonatype-lift exclude <file|issue|path|tool> |
Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file |
Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.
Help us improve LIFT! (Sonatype LiftBot external survey)
Was this a good recommendation for you? Answering this survey will not impact your Lift settings.
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]
| Stats stats; | ||
| TimeSource timeSource; | ||
|
|
||
| public interface Lock { |
There was a problem hiding this comment.
Perhaps this better belongs in LockTree?
There was a problem hiding this comment.
Okay, will change
| * org.apache.solr.cloud.OverseerConfigSetMessageHandler#processMessage} which does a few | ||
| * checks and calls the appropriate Config Set method. | ||
| * </ul> | ||
| * to overseer queue and instead calls this method. |
There was a problem hiding this comment.
The former text was useful, I'd prefer it stay to show why it does what it does (due to legacy Overseer operation).
|
|
||
| private String thisNode; | ||
|
|
||
| private OverseerCollectionMessageHandler overseerCollectionMessageHandler; |
There was a problem hiding this comment.
I suggest simply calling this "messageHandler" as it isn't ambiguous.
There was a problem hiding this comment.
Okay, will change that.
| this.myId = myId; | ||
| this.stats = stats; | ||
| this.selector = selector; | ||
| this.overseerCollectionMessageHandler = |
There was a problem hiding this comment.
This needs to be closed. The test failures are related to this; threads leak from it thus it wasn't closed.
There was a problem hiding this comment.
Okay, got it. Thanks
| this.myId = myId; | ||
| this.stats = stats; | ||
| this.selector = selector; | ||
| this.overseerCollectionMessageHandler = |
There was a problem hiding this comment.
or simply messageHandler as it isn't ambiguous?
| log.debug( | ||
| "{}: Get the message id: {} message: {}", | ||
| messageHandler.getName(), | ||
| this.overseerCollectionMessageHandler.getName(), |
There was a problem hiding this comment.
previously, this referred to simply "messageHandler"; can we keep that?
| OverseerMessageHandler messageHandler = selector.selectOverseerMessageHandler(message); | ||
| OverseerMessageHandler.Lock lock = messageHandler.lockTask(message, batchSessionId); | ||
|
|
||
| LockTree.Lock lock = this.messageHandler.lockTask(message, batchSessionId); |
There was a problem hiding this comment.
THREAD_SAFETY_VIOLATION: Unprotected write. Non-private method OverseerTaskProcessor.run() indirectly writes to field this.messageHandler.lockSession outside of synchronization.
Reporting because this access may occur on a background thread.
ℹ️ Expand to see all @sonatype-lift commands
You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.
| Command | Usage |
|---|---|
@sonatype-lift ignore |
Leave out the above finding from this PR |
@sonatype-lift ignoreall |
Leave out all the existing findings from this PR |
@sonatype-lift exclude <file|issue|path|tool> |
Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file |
Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.
Help us improve LIFT! (Sonatype LiftBot external survey)
Was this a good recommendation for you? Answering this survey will not impact your Lift settings.
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]
| this.myId = myId; | ||
| this.stats = stats; | ||
| this.selector = selector; | ||
| this.messageHandler = |
There was a problem hiding this comment.
THREAD_SAFETY_VIOLATION: Read/Write race. Non-private method OverseerTaskProcessor(...) indirectly reads with synchronization from noggit.JSONParser.devNull.buf. Potentially races with unsynchronized write in method OverseerTaskProcessor.run().
Reporting because another access to the same memory occurs on a background thread, although this access may not.
ℹ️ Expand to see all @sonatype-lift commands
You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.
| Command | Usage |
|---|---|
@sonatype-lift ignore |
Leave out the above finding from this PR |
@sonatype-lift ignoreall |
Leave out all the existing findings from this PR |
@sonatype-lift exclude <file|issue|path|tool> |
Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file |
Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.
Help us improve LIFT! (Sonatype LiftBot external survey)
Was this a good recommendation for you? Answering this survey will not impact your Lift settings.
[ 🙁 Not relevant ] - [ 😕 Won't fix ] - [ 😑 Not critical, will fix ] - [ 🙂 Critical, will fix ] - [ 😊 Critical, fixing now ]
|
This PR had no visible activity in the past 60 days, labeling it as stale. Any new activity will remove the stale label. To attract more reviewers, please tag someone or notify the dev@solr.apache.org mailing list. Thank you for your contribution! |
|
This PR is now closed due to 60 days of inactivity after being marked as stale. Re-opening this PR is still possible, in which case it will be marked as active again. |
https://issues.apache.org/jira/browse/SOLR-16542
Description
remove the Overseer based processing of ConfigSets, thus always use DistributedCollectionConfigSetCommandRunner instead for ConfigSet processing
Checklist
Please review the following and check all that apply:
mainbranch../gradlew check.Additionally, I've updated some of the documentation to reflect these changes, but haven't made significant modifications to the overseer.doc file yet. I'll make sure to revise it once I'm confident that the changes are valid and functional.