Repository navigation
create_vector_index: describe mutations_before_rebuild as the floor it is - #111
Merged
Merged
Conversation
…t is (#110) The engine rebuilds after max(mutationsBeforeRebuild, min(graph size x rebuildGraphRatio, maxPendingMutations)) changes (LSMVectorIndex.computeRebuildThreshold, the same on 26.10.1, 26.10.2 and main), so the old docstring's 'override' and its 100-800 ranges had no effect past a few thousand vectors. The docstring now gives the formula, the defaults, and the setting that does lower the threshold (rebuildGraphRatio). A regression test pins the floor through get_stats()['effectiveMutationsThreshold'] on a 1000-vector index: floors 10 and 100 give 200, 5000 gives 5000. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 28, 2026
Docs: how to change a database-scope engine setting (e.g. the vector rebuild ratio) from Python
#112
Closed
tae898
added a commit
to humemai/arcadedb-embedded-python
that referenced
this pull request
Oct 28, 2026
…550) The engine computes max(mutationsBeforeRebuild, min(graph size x rebuildGraphRatio, maxPendingMutations)) in 26.10.1, 26.10.2 and main (computeRebuildThreshold, read from the database configuration), so the "override" wording and the 26.10.1 workaround "a lower mutations_before_rebuild" were wrong past 500 vectors. The guide now gives the formula and the ALTER DATABASE route for rebuildGraphRatio (main c3af6d9: 1,000 to 250 at 5,000 vectors). Same fix as ArcadeData/arcadedb-python#111 and #113. Closes #549 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
Closes #110
create_vector_indexdocumentedmutations_before_rebuildas an override with suggested ranges (100-300, 300-800). The engine uses it as a floor: the graph is rebuilt aftermax(mutationsBeforeRebuild, min(graph size x rebuildGraphRatio, maxPendingMutations))changes (LSMVectorIndex.computeRebuildThreshold, defaults 100, 0.2 and 50,000; the same formula on 26.10.1, 26.10.2 and current main), so values below the ratio term change nothing.src/arcadedb/core.py: the docstring gives the formula, the defaults, a worked example (100,000 vectors: 20,000 whether the floor is 100 or 800), and the setting that lowers the threshold (rebuildGraphRatio; with the ratio at 0 the threshold is exactly the floor). No behaviour change.tests/test_vector_index_introspection.py:TestRebuildThresholdpins the floor on both wheels throughget_stats()["effectiveMutationsThreshold"]on a 1,000-vector index: floors 10 and 100 give 200, 5,000 gives 5,000.Checked locally: black 26.10.1 and isort 9.0.2 (the pre-commit pins), bandit (no issues), compile and pyflakes. The test runs in CI.
🤖 Generated with Claude Code