-
Notifications
You must be signed in to change notification settings - Fork 825
SOLR-18094 Support running embedded-zk in "ensemble" mode with new node role #2391
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
Draft
gerlowskija
wants to merge
62
commits into
apache:main
Choose a base branch
from
gerlowskija:spike-zk-quorum
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 35 commits
Commits
Show all changes
62 commits
Select commit
Hold shift + click to select a range
1fb376b
Revert "SOLR-17153: CloudSolrClient should not throw "Collection not …
gerlowskija 7f3e980
Allow embedded-ZK to run in quorum/ensemble mode
gerlowskija 459ecf6
Revert "Revert "SOLR-17153: CloudSolrClient should not throw "Collect…
gerlowskija de59401
Merge branch 'main' into spike-zk-quorum
gerlowskija ff0a9ca
Merge remote-tracking branch 'upstream/main' into pr/2391
epugh cd6ecc5
Take advantage of Solr node roles to determine when to start embedded zk
epugh 9e6ef68
Strip out old log4j workaround not needed, look at ide warnings.
epugh 479e85f
check in some work to be removed
epugh 0601701
Merge branch 'refs/heads/main' into spike-zk-quorum
janhoy 27ea8e9
Properly clean up ZK server resources
janhoy 6bd62ec
Fix precommit in ZkContainer
janhoy 8ee628d
New test TestEmbeddedZkQuorum
janhoy d8bac96
Handle standalone case in ZkContainer.initZookeeper
janhoy c5ee205
Spent too much time on this, backing it out.
epugh 991ba1e
Merge remote-tracking branch 'upstream/main' into spike-zk-quorum
epugh 47e928b
add change log
epugh 7cd745d
Redo explanation to be clearer
epugh 42d5213
update variable name
epugh f8d4f8a
remove unneed variable and if statement, and add a reminder
epugh bacb4af
remove the /solr/initialized zk node, it appears to be a multi thread…
epugh 5199b84
Remove intermediate test class and simplify cluster set up
epugh 3f785da
Better nesting of zkServerEnabled check and if in quorum mode...
epugh 367d37b
zkEnabled does actually do anything!
epugh 898897a
Merge branch 'main' into spike-zk-quorum
janhoy ac9bf9e
Update code to work with latest main
janhoy 227f8cc
Safer port allocation in MiniSolrCloudCluster
janhoy 92b8420
Two new tests for resilience
janhoy 74f5f58
Improve and refactor the new tests a bit
janhoy 881c1ec
Improve resilience test by waiting for active collection
janhoy c835284
Precommit
janhoy ce27f55
ForbiddenAPI
janhoy d185c99
Changelog with JIRA link
janhoy 408b879
Move ZooKeeperServerMain init into own static method on SolrZkServer
janhoy 00ff572
Merge main into spike-zk-quorum to bring branch up to date
janhoy 4d4426a
Tidy
janhoy 9038b90
Fix test failure
janhoy ff8e204
ForbiddenAPI: replace Collections.singletonList with List.of
janhoy a439a7d
SOLR-18094: Fix @AwaitsFix placeholder URL in TestEmbeddedZkQuorum
janhoy c67c774
SOLR-18094: Fix NPE in newSolrClient when zkServer is null in quorum …
janhoy f39af91
SOLR-18094: Fix quorum/leader port derivation to match SolrZkServerPr…
janhoy f25e0ce
SOLR-18094: Reserve quorum/election ports (+1/+2) in reservePortPairs
janhoy 26c9e85
SOLR-18094: Replace hard sleep with ZK connectivity wait for quorum f…
janhoy 5dcf04b
SOLR-18094: Add TODO comments for waitForLiveNodes and myId host matc…
janhoy 63dc879
SOLR-18094: Make zkServerEmbedded field volatile
janhoy 8b25153
SOLR-18094: Wait for ZK quorum threads to stop after embedded ZK shut…
janhoy 5adaaef
SOLR-18094: Validate zkHost entry format when starting quorum mode
janhoy 442e3c9
SOLR-18094: Revert unrelated changes from libs.versions.toml and pack…
janhoy 4228fa8
SOLR-18094: Add ref-guide documentation for zookeeper_quorum node rol…
janhoy 0cc2d38
Add major-changes doc header
janhoy d954146
SOLR-18094: Add null check for zkThread in SolrZkServer.stop()
janhoy 47251b9
SOLR-18094: zookeeper_quorum role alone is sufficient to start embedd…
janhoy c573590
SOLR-18094: Log 'Closed embedded ZK' after thread-drain wait, not before
janhoy 9db9a2c
SOLR-18094: Add TODO comment explaining dead code in SolrZkServer.inj…
janhoy 829ec2f
SOLR-18094: Pass Properties directly to startZooKeeperServerEmbedded,…
janhoy 1e1f7f2
SOLR-18094: Add zookeeper_quorum to node-roles API example output
janhoy 5d969e5
SOLR-18094: Fix port-collision in embedded ZK ensemble doc example
janhoy ccf6ec3
Avoid zoo_home collision on same host
janhoy f281185
Eliminate SolrZkServer in favour of using ZooKeeperServerEmbedded
epugh fe81c20
Much nicer to read.
epugh f51ee69
Better solution for zoo_home configuration in the example
janhoy b071bd2
Use zoo_data as default zk data dir, relative to SOLR_HOME
janhoy 197e0cf
Make ZK port offsets configurable
janhoy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc | ||
| title: Capability for Solr to run embedded ZooKeeper in a quorum/ensemble mode, allowing multiple Solr nodes to form a distributed ZooKeeper ensemble within their own processes. Controlled by a new solr node-role. | ||
| type: added # added, changed, fixed, deprecated, removed, dependency_update, security, other | ||
| authors: | ||
| - name: Eric Pugh | ||
| - name: Jason Gerlowski | ||
| - name: Jan Høydahl | ||
| links: | ||
| - name: SOLR-18094 | ||
| url: https://issues.apache.org/jira/browse/SOLR-18094 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
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.
@epugh This line was modified by you and causes the below if() to be dead code. Remember what's going on here?
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.
not totally... And I think it was me hacking around a bit trying to figure out all the various sys props that existed!
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.
Feel like figuring out what is the correct code here?