Skip to content

Commit a87c2ea

Browse files
authored
Fix bug with relative Vamana indexes in Python (#344)
1 parent c51d0b2 commit a87c2ea

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

apis/python/src/tiledb/vector_search/index.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from tiledb.vector_search import _tiledbvspy as vspy
88
from tiledb.vector_search.module import *
99
from tiledb.vector_search.storage_formats import storage_formats
10+
from tiledb.vector_search.utils import add_to_group
1011

1112
MAX_UINT64 = np.iinfo(np.dtype("uint64")).max
1213
MAX_INT32 = np.iinfo(np.dtype("int32")).max
@@ -375,7 +376,7 @@ def open_updates_array(self, timestamp: int = None):
375376
tiledb.Array.create(self.updates_array_uri, updates_schema)
376377
self.group.close()
377378
self.group = tiledb.Group(self.uri, "w")
378-
self.group.add(self.updates_array_uri, name=updates_array_name)
379+
add_to_group(self.group, self.updates_array_uri, updates_array_name)
379380
self.group.close()
380381
self.group = tiledb.Group(self.uri, "r")
381382
if timestamp is None:

apis/python/test/test_ingestion.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -642,14 +642,13 @@ def test_ingestion_with_updates_and_timetravel(tmp_path):
642642
index = index_class(uri=index_uri, timestamp=101)
643643
_, result = index.query(queries, k=k, nprobe=partitions)
644644
assert accuracy(result, gt_i, updated_ids=updated_ids) == 1.0
645-
646-
# TODO(paris): Fix Vamana bug and re-enable:
647-
if index_type == "VAMANA":
648-
continue
649-
650645
index_uri = move_local_index_to_new_location(index_uri)
651646
index = index_class(uri=index_uri, timestamp=(0, 101))
652647
_, result = index.query(queries, k=k, nprobe=partitions)
648+
# TODO(paris): Fix Vamana accuracy bug and re-enable:
649+
# assert 0.105 == 1.0
650+
if index_type == "VAMANA":
651+
continue
653652
assert accuracy(result, gt_i, updated_ids=updated_ids) == 1.0
654653
index = index_class(uri=index_uri, timestamp=(0, None))
655654
_, result = index.query(queries, k=k, nprobe=partitions)
@@ -860,10 +859,7 @@ def test_ingestion_with_additions_and_timetravel(tmp_path):
860859
)
861860
updated_ids[i] = i + update_ids_offset
862861

863-
# TODO(paris): Fix Vamana bug and re-enable:
864-
# tiledb.cc.TileDBError: [TileDB::ArrayDirectory] Error: Cannot open array; Array does not exist.
865-
if index_type != "VAMANA":
866-
index_uri = move_local_index_to_new_location(index_uri)
862+
index_uri = move_local_index_to_new_location(index_uri)
867863
index = index_class(uri=index_uri)
868864
_, result = index.query(queries, k=k, nprobe=partitions, opt_l=k * 2)
869865
assert 0.45 < accuracy(result, gt_i)

0 commit comments

Comments
 (0)