Repository navigation
fix(extension): default to recursive chunker, keep doc metadata - #53
Merged
Merged
Conversation
The extension set no chunker, so every host had to pass one or ingest returned ErrNoChunker. It now starts the engine with the recursive chunker, and a chunker set through WithEngineOption still wins. The engine also copies a document's metadata onto each of its chunks, so a search hit carries it. A key the chunker sets itself wins over the document's, and weave's own keys (tenant_id, document_id and the rest) still win over both.
juicycleff
force-pushed
the
fix/default-chunker
branch
from
November 4, 2026 14:21
ceec9c4 to
39a3991
Compare
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment Thanks for integrating Codecov - We've got you covered ☂️ |
Also moves vessel to v1.0.5.
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.
If you hand nexus a database, it no longer closes it when it stops. Your host keeps a working database for its own shutdown.
That covers a store you pass with
nexus.WithDatabase(on the gateway or on the Forge extension) and agrove.DBthe extension picks up from the Forge container.Gateway.Shutdown, and so the extension'sStop, still flushes usage records first. It then closes the store only when the gateway built that store itself, which today means the in-memory default. If you relied onShutdownto close a store you handed in, close it yourself afterShutdownreturns.Before this,
Shutdownclosed whatever store it held. A host that shares one database with nexus (Loomplane does) saw the pool closed while it was still stopping its own services, so it wrapped the store in a type whoseClosedoes nothing. With this change that wrapper can go.We tracked ownership with an
ownsStoreflag set inInitializewhere the default store is created.WithDatabasedocs and the custom store guide now say who closes what.Weave's engine also closes the store in
Stop, so it may want the same treatment. We left it alone here.Verification
WithDatabasestore open, leaves agrove.DBfrom the container usable (a ping afterStopworks), and the gateway leaves a handed store open.Shutdownstill closes a store the gateway opened itself.make testacross every module,make vet, andgolangci-lint run ./...are clean.gofmt -llists nothing.release.ymlruns, so there is no file to update.This branch also moves grove (and its mongo, pg and sqlite drivers) to v1.10.2 and vessel to v1.0.5. Forge, fabriq and go-utils are already the latest.
The nexus embedder module is on nexus v1.9.2 too, so weave is now on the latest forge ecosystem releases.