@@ -3860,6 +3860,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
38603860 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
38613861 ASSERT_EQ (hnsw_index->indexSize (), 1 );
38623862 ASSERT_EQ (hnsw_index->indexCapacity (), blockSize);
3863+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), blockSize);
3864+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
3865+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
3866+ hnsw_index->indexMetaDataCapacity () +
3867+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
38633868
38643869 // add up to block size
38653870 for (size_t i = 1 ; i < blockSize; i++) {
@@ -3870,6 +3875,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
38703875 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
38713876 ASSERT_EQ (hnsw_index->indexSize (), blockSize);
38723877 ASSERT_EQ (hnsw_index->indexCapacity (), blockSize);
3878+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), blockSize);
3879+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
3880+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
3881+ hnsw_index->indexMetaDataCapacity () +
3882+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
38733883
38743884 // add one more vector to trigger another resize
38753885 GenerateAndAddVector<TEST_DATA_T>(tiered_index, dim, blockSize);
@@ -3879,6 +3889,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
38793889 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
38803890 ASSERT_EQ (hnsw_index->indexSize (), blockSize + 1 );
38813891 ASSERT_EQ (hnsw_index->indexCapacity (), 2 * blockSize);
3892+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
3893+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
3894+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
3895+ hnsw_index->indexMetaDataCapacity () +
3896+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
38823897
38833898 // delete a vector to shrink data blocks
38843899 ASSERT_EQ (VecSimIndex_DeleteVector (tiered_index, 0 ), 1 ) << " Failed to delete vector 0" ;
@@ -3890,6 +3905,8 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
38903905 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
38913906 ASSERT_EQ (hnsw_index->indexSize (), blockSize);
38923907 ASSERT_EQ (hnsw_index->indexCapacity (), blockSize);
3908+ // meta data capacity should not shrink
3909+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
38933910
38943911 // add this vector again and verify lock was acquired to resize
38953912 GenerateAndAddVector<TEST_DATA_T>(tiered_index, dim, 0 );
@@ -3898,6 +3915,11 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
38983915 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
38993916 ASSERT_EQ (hnsw_index->indexSize (), blockSize + 1 );
39003917 ASSERT_EQ (hnsw_index->indexCapacity (), 2 * blockSize);
3918+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
3919+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
3920+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
3921+ hnsw_index->indexMetaDataCapacity () +
3922+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
39013923
39023924 // add up to block size (count = 2 blockSize), the lock shouldn't be acquired because no resize
39033925 // is required
@@ -3908,4 +3930,9 @@ TYPED_TEST(HNSWTieredIndexTestBasic, HNSWResize) {
39083930 ASSERT_EQ (tiered_index->getMainIndexGuardWriteLockCount (), resize_operations);
39093931 ASSERT_EQ (hnsw_index->indexSize (), 2 * blockSize);
39103932 ASSERT_EQ (hnsw_index->indexCapacity (), 2 * blockSize);
3933+ ASSERT_EQ (hnsw_index->indexMetaDataCapacity (), 2 * blockSize);
3934+ ASSERT_EQ (tiered_index->frontendIndex ->indexMetaDataCapacity (), 0 );
3935+ ASSERT_EQ (tiered_index->indexMetaDataCapacity (),
3936+ hnsw_index->indexMetaDataCapacity () +
3937+ tiered_index->frontendIndex ->indexMetaDataCapacity ());
39113938}
0 commit comments