Skip to content

Update Solr to latest release 10 - #5553

Draft
stweil wants to merge 10 commits into
vufind-org:devfrom
stweil:update_solr_10
Draft

Update Solr to latest release 10#5553
stweil wants to merge 10 commits into
vufind-org:devfrom
stweil:update_solr_10

Conversation

@stweil

@stweil stweil commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

TODO:

stweil added 5 commits August 24, 2026 10:29
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>
@stweil

stweil commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

This might replace PR #4725. Up to now I did not test it in a full online instance of VuFind.

@stweil

stweil commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

Related: vufind-org/vufind-browse-handler#60.

@demiankatz demiankatz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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! :-)

@stweil
stweil marked this pull request as draft August 25, 2026 11:41
@stweil

stweil commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

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.

@demiankatz

Copy link
Copy Markdown
Member

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).

@demiankatz

Copy link
Copy Markdown
Member

@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.

stweil added 2 commits August 25, 2026 14:27
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>
@stweil

stweil commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

An update is needed for solrmarc: solrmarc/solrmarc#108.

stweil added 3 commits August 25, 2026 14:57
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>
@demiankatz

Copy link
Copy Markdown
Member

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants