diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2021-02-05 13:45:46 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2021-02-05 13:45:46 +0100 |
commit | 0fe1e548d3d0447b5117cb5c0479f63f96420c2a (patch) | |
tree | a03855b53994c91d13f7d24dde4c3fe08d00185e /searchlib | |
parent | 4bcef4ebd8133c5be2bb6062a4ae76bfec565dea (diff) |
Fix onhold accounting for SerializedFastValueAttribute.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp | 15 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp index cbdb2c9bd22..f1d910f2635 100644 --- a/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp +++ b/searchlib/src/tests/attribute/tensorattribute/tensorattribute_test.cpp @@ -482,6 +482,7 @@ struct Fixture { void testCompaction(); void testTensorTypeFileHeaderTag(); void testEmptyTensor(); + void testOnHoldAccounting(); }; @@ -658,6 +659,19 @@ Fixture::testEmptyTensor() } } +void +Fixture::testOnHoldAccounting() +{ + { + AttributeGuard guard(_attr); + EXPECT_EQUAL(0u, getStatus().getOnHold()); + set_empty_tensor(1); + clearTensor(1); + EXPECT_NOT_EQUAL(0u, getStatus().getOnHold()); + } + EXPECT_EQUAL(0u, getStatus().getOnHold()); +} + template <class MakeFixture> void testAll(MakeFixture &&f) { @@ -667,6 +681,7 @@ void testAll(MakeFixture &&f) TEST_DO(f()->testCompaction()); TEST_DO(f()->testTensorTypeFileHeaderTag()); TEST_DO(f()->testEmptyTensor()); + TEST_DO(f()->testOnHoldAccounting()); } TEST("Test sparse tensors with generic tensor attribute") diff --git a/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp b/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp index bc510077a4d..4ca761159fe 100644 --- a/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp +++ b/searchlib/src/vespa/searchlib/tensor/streamed_value_store.cpp @@ -174,7 +174,7 @@ StreamedValueStore::TensorBufferType::cleanHold(void* buffer, size_t offset, Ele StreamedValueStore::StreamedValueStore(const ValueType &tensor_type) : TensorStore(_concrete_store), - _concrete_store(), + _concrete_store(std::make_unique<TensorBufferType>()), _tensor_type(tensor_type) { _concrete_store.enableFreeLists(); |