Update Solr to latest release 10 - #5553
Conversation
Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Solr 10 no longer supports <lib/> entries in solrconfig.xml, and the core lib/ directory only loads jar files placed directly inside it (not subdirectories). solr.sh now (re)creates the required symlinks on every start, from the jars checked into the repo and from the analysis-extras module (ICU4J is needed by the browse normalizers). The generated directory is git-ignored and self-heals across Solr upgrades. Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Built from the update_solr_10 branch of vufind-org/vufind-browse-handler (Java 17, SolrJ 10 API, Lucene 10 TotalHits record). Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
This might replace PR #4725. Up to now I did not test it in a full online instance of VuFind. |
|
Related: vufind-org/vufind-browse-handler#60. |
demiankatz
left a comment
There was a problem hiding this comment.
@stweil, is this working for you at all? When I try to start up a test instance with Solr 10, SolrMarc fails with "Error finding class solrj client while dynamically loading solrj." Is it working on your end?
In any case, I suspect this probably means that upstream SolrMarc changes are needed for Solr 10 compatibility. We can talk to @haschart about that if necessary, but I want to confirm that I'm not the only one having the problem first! :-)
|
No, it isn't working in my CI test. I now converted this PR to draft. The current PR shows that the update to Solr 10 needs a lot of changes, and more changes are obviously still missing. I'll try to find and add these missing parts. |
Thank you! I'll add some TODO checkboxes up top to help keep track of things. (I also notice that we'll need to update solr.bat to match solr.sh for Windows support -- but I don't mind leaving this until near the end of the project, so we don't have to keep two different scripts in sync while things evolve... just another checkbox worth adding). |
|
@stweil, I also looked at your CI failure outputs, and I'm not sure that all of those failures are directly related to the Solr 10 upgrades. Some look like they may be related to recent GitHub OAuth changes, and at least in the PHP 8.2 environment, it looks like there is an outdated Java version installed that is preventing things from working. |
Solr 10 no longer ships http*.jar files in the Solr webapp, so the corresponding glob no longer matches anything and the shell passes the literal pattern through, creating a broken symlink with the literal glob name that triggers a pointless regeneration on every start. Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Built from the update_solr_10 branch of solrmarc/solrmarc (pending pull request): Solr 10 removed the solrj HttpSolrClient class, so SolrCoreLoader now uses the HttpJdkSolrClient builder, and it uses a daemon thread pool for the client so that the JVM can exit after the import is finished. Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
An update is needed for solrmarc: solrmarc/solrmarc#108. |
Solr 10 requires Java 21 or later, while the default Java on GitHub's ubuntu-24.04 runners is currently 17, which made Solr refuse to start during 'phing startup'. Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
Composer 2.7.7 rejects the current GitHub token format which shivammathur/setup-php stores in the global composer auth.json, so the "phing startup" target fails in the full CI test suite. Token handling was fixed in Composer 2.9.8 (GHSA-f9f8-rm49-7jv2). Assisted-by: OpenCode / qwen3.8-27b-thinking (Alibaba Cloud) Signed-off-by: Stefan Weil <sw@weilnetz.de>
|
For what it's worth, all tests are now passing in my test environment. Thanks for the strong start on this, @stweil. I'll try to take a closer look at the changes when time permits (but I presently have a long review backlog, so I won't get to it immediately). |
TODO: