Skip to content

Conversation

@michaeljmarshall
Copy link
Member

What is the issue

Fixes: https://github.com/riptano/cndb/issues/15469

What does this PR fix and why was it fixed

This is a draft and is not yet complete.

The main open questions come from how to store vectors in an addressable way so that we can iterate them and write them to the correct location. Saving this as a draft to prevent the work from getting lost.

@github-actions
Copy link

Checklist before you submit for review

  • This PR adheres to the Definition of Done
  • Make sure there is a PR in the CNDB project updating the Converged Cassandra version
  • Use NoSpamLogger for log lines that may appear frequently in the logs
  • Verify test results on Butler
  • Test coverage for new/modified code is > 80%
  • Proper code formatting
  • Proper title for each commit staring with the project-issue number, like CNDB-1234
  • Each commit has a meaningful description
  • Each commit is not very long and contains related changes
  • Renames, moves and reformatting are in distinct commits
  • All new files should contain the DataStax copyright header instead of the Apache License one

@michaeljmarshall michaeljmarshall force-pushed the cndb-15469 branch 3 times, most recently from 46dddfb to 97aa041 Compare October 24, 2025 03:09
@michaeljmarshall michaeljmarshall marked this pull request as ready for review October 24, 2025 03:10
NVQ was added as part of jvector's on
disk file version 4. We have SAI
versioning that properly handles the
read/write upgrade implications, so
it is safe to use the jvector file
format version as the gate in addition
to the boolean flag.
@cassci-bot
Copy link

❌ Build ds-cassandra-pr-gate/PR-2030 rejected by Butler


29 regressions found
See build details here


Found 29 new test failures

Showing only first 15 new test failures

Test Explanation Runs Upstream
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[aa] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[ba] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[ca] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[db] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[dc] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[eb] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[ec] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.FeaturesVersionSupportTest.testANNSupport[ed] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorBruteforceLocalTest.multipleNonAnnSegmentsTest[ed] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorBruteforceLocalTest.multipleSegmentsMultiplePostingsTest[ed] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorBruteforceLocalTest.randomizedBqCompressedTest[ed] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorBruteforceLocalTest.randomizedTest[ed] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorCompactionTest.testOneToManyCompactionTooManyHoles[ec] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorCompactionTest.testOneToManyCompaction[ec] (compression) REGRESSION 🔴 0 / 12
o.a.c.index.sai.cql.VectorCompactionTest.testOneToManyCompaction[ed] (compression) REGRESSION 🔴 0 / 12

No known test failures found

// Use non-positive value to disable it. Period in millis to trigger a flush for SAI vector memtable index.
SAI_VECTOR_FLUSH_PERIOD_IN_MILLIS("cassandra.sai.vector_flush_period_in_millis", "-1"),
// Use nvq when building graphs in compaction
SAI_VECTOR_ENABLE_NVQ("cassandra.sai.vector.enable_nvq", "true"),
Copy link
Member Author

Choose a reason for hiding this comment

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

Talked with Ted and Mariano, it is not time to enable by default yet.

Copy link
Member Author

Choose a reason for hiding this comment

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

We might want to push it through as an index option that is disabled by default.

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