@@ -4364,6 +4364,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
43644364 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
43654365 ASSERT_EQ (hnsw_index->indexSize (), 1 );
43664366 ASSERT_EQ (hnsw_index->indexCapacity (), blockSize);
4367+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), blockSize);
4368+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
4369+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
4370+ hnsw_index->indexMetaDataCapacity () +
4371+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
43674372
43684373 // add up to block size
43694374 for (size_t i = 1 ; i < blockSize; i++) {
@@ -4374,6 +4379,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
43744379 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
43754380 ASSERT_EQ (hnsw_index->indexSize (), blockSize);
43764381 ASSERT_EQ (hnsw_index->indexCapacity (), blockSize);
4382+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), blockSize);
4383+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
4384+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
4385+ hnsw_index->indexMetaDataCapacity () +
4386+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
43774387
43784388 // add one more vector to trigger another resize
43794389 GenerateAndAddVector<TEST_DATA_T>(tiered_index, dim, blockSize);
@@ -4383,6 +4393,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
43834393 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
43844394 ASSERT_EQ (hnsw_index->indexSize (), blockSize + 1 );
43854395 ASSERT_EQ (hnsw_index->indexCapacity (), 2 * blockSize);
4396+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
4397+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
4398+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
4399+ hnsw_index->indexMetaDataCapacity () +
4400+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
43864401
43874402 // delete a vector to shrink data blocks
43884403 ASSERT_EQ (VecSimIndex_DeleteVector (tiered_index, 0 ), 1 ) << " Failed to delete vector 0" ;
@@ -4394,6 +4409,8 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
43944409 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
43954410 ASSERT_EQ (hnsw_index->indexSize (), blockSize);
43964411 ASSERT_EQ (hnsw_index->indexCapacity (), blockSize);
4412+ // meta data capacity should not shrink
4413+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
43974414
43984415 // add this vector again and verify lock was acquired to resize
43994416 GenerateAndAddVector<TEST_DATA_T>(tiered_index, dim, 0 );
@@ -4402,6 +4419,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
44024419 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
44034420 ASSERT_EQ (hnsw_index->indexSize (), blockSize + 1 );
44044421 ASSERT_EQ (hnsw_index->indexCapacity (), 2 * blockSize);
4422+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
4423+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
4424+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
4425+ hnsw_index->indexMetaDataCapacity () +
4426+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
44054427
44064428 // add up to block size (count = 2 blockSize), the lock shouldn't be acquired because no resize
44074429 // is required
@@ -4412,4 +4434,9 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
44124434 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
44134435 ASSERT_EQ (hnsw_index->indexSize (), 2 * blockSize);
44144436 ASSERT_EQ (hnsw_index->indexCapacity (), 2 * blockSize);
4437+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
4438+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
4439+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
4440+ hnsw_index->indexMetaDataCapacity () +
4441+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
44154442}
0 commit comments