diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-10-11 16:52:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-11 16:52:30 +0200 |
commit | 274bcee5a55fb61a7c819e6be6acca554fe7a3ae (patch) | |
tree | d01ef596666f441c4f9871532aa462e3e4117bd0 /searchlib | |
parent | 12a1252225e3dd606066250699789b0c342980a3 (diff) | |
parent | 79e553fb451b09437dad80070597fa317515ae3a (diff) |
Merge pull request #24393 from vespa-engine/toregge/rename-icompactable-move-to-move-on-compactv8.67.17
Rename ICompactable::move to move_on_compact.
Diffstat (limited to 'searchlib')
8 files changed, 16 insertions, 19 deletions
diff --git a/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp b/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp index 8b21952b2d1..64cb6a6c146 100644 --- a/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp +++ b/searchlib/src/tests/tensor/direct_tensor_store/direct_tensor_store_test.cpp @@ -107,7 +107,7 @@ TEST_F(DirectTensorStoreTest, hold_adds_entry_to_hold_list) EXPECT_GT(mem_2.allocatedBytesOnHold(), mem_1.allocatedBytesOnHold() + tensor_mem_usage.allocatedBytes()); } -TEST_F(DirectTensorStoreTest, move_allocates_new_entry_and_puts_old_entry_on_hold) +TEST_F(DirectTensorStoreTest, move_on_compact_allocates_new_entry_and_leaves_old_entry_alone) { auto t = make_tensor(5); auto* exp = t.get(); @@ -115,12 +115,13 @@ TEST_F(DirectTensorStoreTest, move_allocates_new_entry_and_puts_old_entry_on_hol auto ref_1 = store.store_tensor(std::move(t)); auto mem_1 = store.getMemoryUsage(); - auto ref_2 = store.move(ref_1); + auto ref_2 = store.move_on_compact(ref_1); auto mem_2 = store.getMemoryUsage(); EXPECT_NE(ref_1, ref_2); expect_tensor(exp, ref_1); expect_tensor(exp, ref_2); - EXPECT_GT(mem_2.allocatedBytesOnHold(), mem_1.allocatedBytesOnHold() + tensor_mem_usage.allocatedBytes()); + EXPECT_EQ(0, mem_2.allocatedBytesOnHold()); + EXPECT_GT(mem_2.usedBytes(), mem_1.usedBytes() + tensor_mem_usage.allocatedBytes()); } GTEST_MAIN_RUN_ALL_TESTS() diff --git a/searchlib/src/tests/tensor/tensor_buffer_store/tensor_buffer_store_test.cpp b/searchlib/src/tests/tensor/tensor_buffer_store/tensor_buffer_store_test.cpp index 101b84e01aa..3bbb6cd334e 100644 --- a/searchlib/src/tests/tensor/tensor_buffer_store/tensor_buffer_store_test.cpp +++ b/searchlib/src/tests/tensor/tensor_buffer_store/tensor_buffer_store_test.cpp @@ -29,7 +29,7 @@ protected: vespalib::nbostream encode_stored_tensor(EntryRef ref); void assert_store_load(const TensorSpec& tensor_spec); void assert_store_load_many(const TensorSpec& tensor_spec); - void assert_store_move_load(const TensorSpec& tensor_spec); + void assert_store_move_on_compact_load(const TensorSpec& tensor_spec); void assert_store_encode_store_encoded_load(const TensorSpec& tensor_spec); }; @@ -102,10 +102,10 @@ TensorBufferStoreTest::assert_store_load_many(const TensorSpec& tensor_spec) } void -TensorBufferStoreTest::assert_store_move_load(const TensorSpec& tensor_spec) +TensorBufferStoreTest::assert_store_move_on_compact_load(const TensorSpec& tensor_spec) { auto ref = store_tensor(tensor_spec); - auto ref2 = _store.move(ref); + auto ref2 = _store.move_on_compact(ref); EXPECT_NE(ref, ref2); auto loaded_spec = load_tensor_spec(ref2); _store.holdTensor(ref2); @@ -147,10 +147,10 @@ TEST_F(TensorBufferStoreTest, tensor_can_be_stored_and_loaded_many_times) } } -TEST_F(TensorBufferStoreTest, stored_tensor_can_be_copied) +TEST_F(TensorBufferStoreTest, stored_tensor_can_be_moved_on_compact) { for (auto& tensor_spec : tensor_specs) { - assert_store_move_load(tensor_spec); + assert_store_move_on_compact_load(tensor_spec); } } diff --git a/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.cpp b/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.cpp index ba7e8526146..60a3546578a 100644 --- a/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.cpp +++ b/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.cpp @@ -121,7 +121,7 @@ DenseTensorStore::holdTensor(EntryRef ref) } TensorStore::EntryRef -DenseTensorStore::move(EntryRef ref) +DenseTensorStore::move_on_compact(EntryRef ref) { if (!ref.valid()) { return RefType(); @@ -129,7 +129,6 @@ DenseTensorStore::move(EntryRef ref) auto oldraw = getRawBuffer(ref); auto newraw = allocRawBuffer(); memcpy(newraw.data, static_cast<const char *>(oldraw), getBufSize()); - _concreteStore.holdElem(ref, _tensorSizeCalc.alignedSize()); return newraw.ref; } diff --git a/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.h b/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.h index 1b25bdad464..298e58ee410 100644 --- a/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.h +++ b/searchlib/src/vespa/searchlib/tensor/dense_tensor_store.h @@ -63,7 +63,7 @@ public: } vespalib::datastore::Handle<char> allocRawBuffer(); void holdTensor(EntryRef ref) override; - EntryRef move(EntryRef ref) override; + EntryRef move_on_compact(EntryRef ref) override; vespalib::MemoryUsage update_stat(const vespalib::datastore::CompactionStrategy& compaction_strategy) override; std::unique_ptr<vespalib::datastore::ICompactionContext> start_compact(const vespalib::datastore::CompactionStrategy& compaction_strategy) override; EntryRef store_tensor(const vespalib::eval::Value &tensor) override; diff --git a/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.cpp b/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.cpp index 1184cca37e7..013e7dedeba 100644 --- a/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.cpp +++ b/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.cpp @@ -71,16 +71,14 @@ DirectTensorStore::holdTensor(EntryRef ref) } EntryRef -DirectTensorStore::move(EntryRef ref) +DirectTensorStore::move_on_compact(EntryRef ref) { if (!ref.valid()) { return EntryRef(); } const auto& old_tensor = _tensor_store.getEntry(ref); assert(old_tensor); - auto new_ref = add_entry(old_tensor); - _tensor_store.holdElem(ref, 1, old_tensor->get_memory_usage().allocatedBytes()); - return new_ref; + return add_entry(old_tensor); } vespalib::MemoryUsage diff --git a/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.h b/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.h index ff9540a27b3..c55dda5646a 100644 --- a/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.h +++ b/searchlib/src/vespa/searchlib/tensor/direct_tensor_store.h @@ -49,7 +49,7 @@ public: EntryRef store_tensor(std::unique_ptr<vespalib::eval::Value> tensor); void holdTensor(EntryRef ref) override; - EntryRef move(EntryRef ref) override; + EntryRef move_on_compact(EntryRef ref) override; vespalib::MemoryUsage update_stat(const vespalib::datastore::CompactionStrategy& compaction_strategy) override; std::unique_ptr<vespalib::datastore::ICompactionContext> start_compact(const vespalib::datastore::CompactionStrategy& compaction_strategy) override; EntryRef store_tensor(const vespalib::eval::Value& tensor) override; diff --git a/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.cpp b/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.cpp index 800311adfd6..6b96a91ec1c 100644 --- a/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.cpp +++ b/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.cpp @@ -48,7 +48,7 @@ TensorBufferStore::holdTensor(EntryRef ref) } EntryRef -TensorBufferStore::move(EntryRef ref) +TensorBufferStore::move_on_compact(EntryRef ref) { if (!ref.valid()) { return EntryRef(); @@ -56,7 +56,6 @@ TensorBufferStore::move(EntryRef ref) auto buf = _array_store.get(ref); auto new_ref = _array_store.add(buf); _ops.copied_labels(buf); - _array_store.remove(ref); return new_ref; } diff --git a/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.h b/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.h index 6611660b410..1b5520233e1 100644 --- a/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.h +++ b/searchlib/src/vespa/searchlib/tensor/tensor_buffer_store.h @@ -27,7 +27,7 @@ public: TensorBufferStore(const vespalib::eval::ValueType& tensor_type, std::shared_ptr<vespalib::alloc::MemoryAllocator> allocator, uint32_t max_small_subspaces_type_id); ~TensorBufferStore(); void holdTensor(EntryRef ref) override; - EntryRef move(EntryRef ref) override; + EntryRef move_on_compact(EntryRef ref) override; vespalib::MemoryUsage update_stat(const vespalib::datastore::CompactionStrategy& compaction_strategy) override; std::unique_ptr<vespalib::datastore::ICompactionContext> start_compact(const vespalib::datastore::CompactionStrategy& compaction_strategy) override; EntryRef store_tensor(const vespalib::eval::Value& tensor) override; |