Fix dense vector field schema and guard CI against solr-only regressions#73
Merged
Conversation
hnswEfConstruction is not a recognized attribute on solr.DenseVectorField in Solr 9.10, causing the plone core to fail to load on startup. The correct attribute name is hnswBeamWidth.
A solr-only change like the broken DenseVectorField attribute slipped through CI because: - main.yml's push trigger and config.yml's acceptance path-filter both excluded solr/**, so the acceptance suite (the only thing that boots Solr) never ran for solr-only PRs. - solr.yml built and pushed the image but did not start it, so a schema that fails to load on core startup still produced a green build. Add solr/** to both filters so acceptance runs on solr-only PRs against the locally-built solr-acceptance service, and add a smoke-test step to solr.yml that boots the freshly built image and pings the plone core before the multi-arch push.
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
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.
Summary
knn_vector_768field type in solr/etc/conf/schema.xml: replace the unrecognizedhnswEfConstructionattribute withhnswBeamWidth. With the broken attribute onmainthe Solrplonecore fails to load on startup (org.apache.solr.common.SolrException: Unable to create core [plone]), so the indexer is non-functional on the currentlatestimage. Verified the valid attribute names by inspectingDenseVectorField.classinsideghcr.io/kitconcept/solr:latest.solr/**changes.main.yml's push trigger andconfig.yml'sacceptancepath-filter both omittedsolr/**, so a solr-only PR (like the one that introduced the broken attribute) silently bypassed every test that actually starts Solr. Thesolr-acceptanceservice is built from the working tree (docker-compose-ci.yml), so this immediately tests the latest schema with no extra plumbing.solr.yml. The image-build workflow previously diddocker build+docker pushonly — a schema that fails core-load still produces a buildable image. The new step boots the freshly built amd64 image and polls/solr/plone/admin/ping, which returns 404 when the core failed to load. Multi-arch push only runs if the smoke test passes, so we stop publishing broken:latestimages.Test plan
Solr image creationworkflow runs — including the new smoke-test step — and the multi-arch push only happens after it passes.kitconcept Solr CI(main.yml) now triggers on this PR (previously a solr-only change wouldn't have triggered it at all).solr-acceptancecontainer.