Skip to content

Vector rows no longer carry a record key (ArcadeDB #10898): one test fails everywhere, native find_nearest would return None records #128

Closed

Description

@tae898

Since the arcadedata/arcadedb:latest snapshot that carries ArcadeData/arcadedb#10900 (merged 2026-10-28 21:23 UTC, fixing #10898), every test leg on every PR fails one test: tests/test_vector.py::TestLSMVectorIndex::test_lsm_vector_search_approximate_persistence, assert None is not None on vertex.get("record"). The engine now lists a vector row's record properties once, on the row itself ({embedding, @rid, @type, distance}), and no longer enumerates the record key, so our row dicts have no record. Seen on #123, #125 and #127 (1 failed, 1834 passed on linux/amd64 3.12); main passed at 18:58 UTC on the older snapshot.

The same change breaks the native backend silently: NativeVectorIndex._run_search (src/arcadedb/_native/schema_objects.py) builds each result from row.get("record"), so with a native image built from the new engine find_nearest would return (None, distance) tuples. The JVM find_nearest calls the Java index API directly and is not affected.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions