forked from apache/solr
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Merge branch_9x into fs/branch_9x #169
Closed
Closed
Conversation
This file contains 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
emphasize the command to execute
apache#1809) (cherry picked from commit 9c7adc0)
* solr core - fix typos * solr core - fix typos * solr core - fix typos * run ./gradlew tidy * Update solr/core/src/java/org/apache/solr/core/backup/repository/BackupRepositoryFactory.java same capitalization * a few typos. * add CHANGES entry * revert "add CHANGES entry" This reverts commit 07533d6. * add CHANGES entry --------- Co-authored-by: Marcus <[email protected]> (cherry picked from commit 810783d)
Co-authored-by: Houston Putman <[email protected]> (cherry picked from commit 59057da)
No v2 equivalent existed prior to this commit. The new v2 API is `POST /api/cores/cName/backups`. --------- Co-authored-by: Jason Gerlowski <[email protected]>
…astructure. (apache#1786) Postlogs tool only works on Linux, and was it's own implementation of a command line tool, with different patterns then the other tools. Migrate over to "bin/solr postlogs" and it now works like other CLI tools, including working on Windows.
…ses.. (apache#1805) Classes through solr/core and solr/solrj depended on methods defined in the SimplePostTool, a auxillary class that isn't really "part" of the core Solr offering. Relocate those methods to the common Utils.java class.
…pache#1817) (cherry picked from commit 5926eda)
…#1634) We now support the Post tool on windows by reusing the SolrCLI infrastructure, instead of having a separate post.cmd. This commit does NOT remove the post.jar compilation, or the bin/post shell script. It does update the Ref Guide to refer to bin/solr post. In the future we will want to come to a resolution on the post.jar, and maybe rename bin/solr post to something else like bin/solr indexer? We have very basic bats and unit test now.
Not needed. Refactoring. No real back-compatibility concern; too internal for a JIRA.
Prior to this commit, v2 APIs had no clean way to access any solrconfig.xml configuration for their associated "requestHandler". This commit introduces an interface, APIConfigProvider, which allows us to inject this configuration to v2 API classes at call time in a "strongly-typed" way.
…ZkUpdateProcessor (apache#1484) When SolrCloud shard leaders change while indexing updates arrive, Solr could fail and return a HTTP 503 status. Switched to 510 so that CloudSolrClient will auto-retry it and probably succeed.
…t is between 55535 and 64535 (apache#1830)
No v2 equivalent existed prior to this commit. The new V2 API is `POST /api/cores/cName/restore {...}`. --------- Co-authored-by: Jason Gerlowski <[email protected]>
…p2SolrClient (apache#1789) SOLR-16265 reduce memory usage of ContentWriter based requests in Http2SolrClient (cherry picked from commit 9b1aba2)
…e starts with "1", "t" or "T" (apache#1816) * StrUtils.parseBoolean() can accept a CharSequence --------- Co-authored-by: Rahul Goswami <[email protected]>
…g of repository.json mimetype Github is a common place to store the repository.json file used by Solr Packages. While the file is .json, the mimetype from Github is text/plain, so this fixes the client being used to load the repository.json to accept text/plain as well as application/json mimetypes.
(cherry picked from commit 3b2b1b7)
(cherry picked from commit b0d3085)
(cherry picked from commit 21740ac)
…eUtils (apache#1840) (cherry picked from commit c3aef6e)
…oLower (apache#1837) (apache#1844) * SOLR-16928: Add missing unit tests for RegexFileFilter and StrUtils.toLower * SOLR-16928: Add license to RegexFileFilterTest Co-authored-by: Jonathon Henderson <[email protected]>
(cherry picked from commit 5482b35)
(cherry picked from commit 15e56e9)
… default (cherry picked from commit e371e10)
…istenerFactory (apache#2041) * Move Jetty HttpClient tracing down into InstrumentedHttpListenerFactory from other places, thus covering more scenarios. * Add Apache HttpClient tracing via InstrumentedHttpRequestExecutor. * None of this affects SolrJ because these "Instrumented" things are only in solr-core. * Reinstate Solr ExecutorService instrumentation, i.e. propagation to other threads in Solr. That was in 9x and briefly was torn out in main. Co-authored-by: Alex Deparvu <[email protected]> Co-authored-by: David Smiley <[email protected]>
(cherry picked from commit b17b17d)
This commit changes the v2 "swapcore" API to be more in line with the REST-ful design we're targeting for Solr's v2 APIs. Following these changes, the v2 API now appears as: `POST /api/cores/coreName/swap {...}` Although not shown above, the 'swap' command specifier has been removed from the request body. This commit also converts the API to the new JAX-RS framework. --------- Co-authored-by: iamsanjay <[email protected]> Co-authored-by: Jason Gerlowski <[email protected]>
… from security.json (apache#2040) (cherry picked from commit 2062d05)
…EOUT_SECS (apache#2061) (cherry picked from commit 9bff25e)
This commit changes the v2 "renamecore" API to be more in line with the REST-ful design we're targeting for Solr's v2 APIs. Following these changes, the v2 API now appears as: 1POST /api/cores/coreName/rename {...}` (Although not shown above, the 'rename' command specifier no longer appears in the request body.) This commit also converts the API to the new JAX-RS framework. --------- Co-authored-by: iamsanjay <[email protected]> Co-authored-by: Jason Gerlowski <[email protected]>
…pache#2075) (cherry picked from commit ddcec23)
(cherry picked from commit 8ad4277)
apache#2076) * 1. Changed getAllReplicasOnNode to just return a copy of `allReplicas` field, which keeps track of all replicas. Instead of computing a new list every time. 2. Added a getAllReplicaCount method to avoid creating new list of replicas if only the count is required * ./gradlew tidy * minor refactoring
./gradlew tidy
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closing this
Using #170 instead, as this PR merge beyond the merge-base of 9x and 9.4, which could complicate our future work.
Attempt to periodically update our fs/branch_9x to be in-sync with branch_9x from apache
Highlights
Http2SolrClient
In the process of resolving conflicts for
Http2SolrClient
, added the asyncListener to trigger onStart of request.However, this resulted as some pretty weird method signature becomes weird (need to add extra param at the end at here and here. Do we really need asyncListener to listen onBegin anymore?
CircuitBreaker
Our existing fs/branch_9x seems to have older changes on
CircuitBreakerManager
which is deprecated and restrucuted in the latest branch_9x. Taking changes from fs/branch_9_3 (newer changes on theCircuitBreaker
directly) insteadNode level cache
Since our fs version
CacheConfig.newInstance(core)
takes a core as the param, the newly added node level cache callCacheConfig.newInstance()
inCoreContainer
is flagged as missing arg.Based on the code in
CacheConfig#newInstance
, it should be able to handle null org (ie node level cache should not expect a core anyway)Reuse DocValues iter in SolrDocumentFetcher
The current fs/branch_9x version seems to be missing the updates in fs/branch_9_3 of #144 and #146
Cherry picked #144 and #146 from fs/branch_9_3 to fs/branch_9_x, this was necessary as similar changes are also in branch_9x, which the merge had some conflicts.
Lucene version
Lucene reference has been updated from 9.7.0 to 9.8.0.
Lucene fs/branch_9_8
We do not yet have such branch, followed steps in https://www.notion.so/OSS-Solr-Development-Guide-41a77cf7bc7246d0bf56177e6986c174?pvs=4#7dc4bc1c52ad40c5ad33d77aba46789b (but replaced with lucene) to create a new fs/branch_9_8 branch for fullstory lucene
Gradle version conflict
Solr branch 9_x now uses gradle 8.4.0, however Lucene is still using gradle 7.6.0. Manually updated Lucene to use 8.4.0. Lucene builds fine when using ./gradew build on it with 8.4.0
For completeness, also created branch_9_8 in our repo
Outstanding issue
Commits in fs/branch_9_3 that are not in fs/branch_9x
Below is the list of commits (local to FS) that appear in
fs/branch_9_3
but notfs/branch_9x
, we might want to consider including them later on in fs/branch_9x if applicable:reuse DocValues iterators in SolrDocumentFetcher/udvas (reuse DocValues iterators in SolrDocumentFetcher/udvas #144) 2023-09-15, 7:53 a.m. 9bb42b8(cherry picked in this PR)port test from upstream PR; fix multivalued reuse bug (fix multivalued dv iterator reuse #146) 2023-09-20, 10:23 a.m. 77f2cf6(cherry picked in this PR)Build issue
There's current build issue with
./gradlew build
. In order to build , we need to skip several tasks./gradlew build -x :solr:documentation:collectLuceneJavadocs -x :solr:solr-ref-guide:buildLocalSite -x :solr:solr-ref-guide:checkSiteLinks -x :checkUnusedConstraints -x :verifyLocks -x licenses
. There's still one test case failure, see next sectionThis might be okay as I see our build checks also skip those tasks (???) need to double-confirm
Unit test case NPE on RealTimeGetComponent
With test of
./gradlew :solr:core:test --tests "org.apache.solr.cloud.FullSolrCloudDistribCmdsTest.testRTGCompositeRouterWithRouterField" -Ptests.jvms=5 "-Ptests.jvmargs=-XX:TieredStopAtLevel=1 -XX:+UseParallelGC -XX:ActiveProcessorCount=1 -XX:ReservedCodeCacheSize=120m" -Ptests.seed=1EC92724168C5FD -Ptests.file.encoding=ISO-8859-1
It failed with
Take note that this is a
FullSolrCloudDistribCmdsTest.testRTGCompositeRouterWithRouterField
is a new test method recently introduced.