summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2021-12-08 20:52:24 +0100
committerTor Egge <Tor.Egge@online.no>2021-12-08 21:06:01 +0100
commit993565d2b2c4662c73990c64bdf2efc8ca892ea5 (patch)
tree50625160442db979c1dc4323dd4f236ffd016d62
parent1a1c4ce8d54b45ecd6bd0419343d44d35164c4e4 (diff)
Add IEnumStore::get_values_address_space_usage() abstract member function.
-rw-r--r--searchlib/src/tests/attribute/enumstore/enumstore_test.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumstore.hpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/i_enum_store.h9
-rw-r--r--vespalib/src/vespa/vespalib/datastore/compaction_spec.h2
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store.h2
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store.hpp2
8 files changed, 20 insertions, 13 deletions
diff --git a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
index 06ee0060c7a..33477e015d6 100644
--- a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
+++ b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
@@ -362,16 +362,16 @@ TEST(EnumStoreTest, address_space_usage_is_reported)
NumericEnumStore store(false, DictionaryConfig::Type::BTREE);
using vespalib::AddressSpace;
- EXPECT_EQ(AddressSpace(1, 1, ADDRESS_LIMIT), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(1, 1, ADDRESS_LIMIT), store.get_values_address_space_usage());
EnumIndex idx1 = store.insert(10);
- EXPECT_EQ(AddressSpace(2, 1, ADDRESS_LIMIT), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(2, 1, ADDRESS_LIMIT), store.get_values_address_space_usage());
EnumIndex idx2 = store.insert(20);
// Address limit increases because buffer is re-sized.
- EXPECT_EQ(AddressSpace(3, 1, ADDRESS_LIMIT + 2), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(3, 1, ADDRESS_LIMIT + 2), store.get_values_address_space_usage());
dec_ref_count(store, idx1);
- EXPECT_EQ(AddressSpace(3, 2, ADDRESS_LIMIT + 2), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(3, 2, ADDRESS_LIMIT + 2), store.get_values_address_space_usage());
dec_ref_count(store, idx2);
- EXPECT_EQ(AddressSpace(3, 3, ADDRESS_LIMIT + 2), store.get_address_space_usage());
+ EXPECT_EQ(AddressSpace(3, 3, ADDRESS_LIMIT + 2), store.get_values_address_space_usage());
}
class BatchUpdaterTest : public ::testing::Test {
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
index 2c6ac521b30..3e578856c2b 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
@@ -81,7 +81,7 @@ void
EnumAttribute<B>::populate_address_space_usage(AddressSpaceUsage& usage) const
{
B::populate_address_space_usage(usage);
- usage.set(AddressSpaceComponents::enum_store, _enumStore.get_address_space_usage());
+ usage.set(AddressSpaceComponents::enum_store, _enumStore.get_values_address_space_usage());
}
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.h b/searchlib/src/vespa/searchlib/attribute/enumstore.h
index 12871c967ff..9dba988fb6a 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.h
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.h
@@ -96,7 +96,7 @@ public:
vespalib::MemoryUsage get_values_memory_usage() const override { return _store.get_allocator().get_data_store().getMemoryUsage(); }
vespalib::MemoryUsage get_dictionary_memory_usage() const override { return _dict->get_memory_usage(); }
- vespalib::AddressSpace get_address_space_usage() const;
+ vespalib::AddressSpace get_values_address_space_usage() const override;
void transfer_hold_lists(generation_t generation);
void trim_hold_lists(generation_t first_used);
diff --git a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
index 2c985d2edf5..c5d377c6b19 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumstore.hpp
@@ -92,9 +92,9 @@ EnumStoreT<EntryT>::~EnumStoreT() = default;
template <typename EntryT>
vespalib::AddressSpace
-EnumStoreT<EntryT>::get_address_space_usage() const
+EnumStoreT<EntryT>::get_values_address_space_usage() const
{
- return _store.get_address_space_usage();
+ return _store.get_values_address_space_usage();
}
template <typename EntryT>
diff --git a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h
index 558cc275f38..cfd7a330d2c 100644
--- a/searchlib/src/vespa/searchlib/attribute/i_enum_store.h
+++ b/searchlib/src/vespa/searchlib/attribute/i_enum_store.h
@@ -6,7 +6,13 @@
#include "enum_store_types.h"
#include <vespa/vespalib/datastore/entryref.h>
#include <vespa/vespalib/datastore/unique_store_enumerator.h>
-#include <vespa/vespalib/util/memoryusage.h>
+
+namespace vespalib {
+
+class AddressSpace;
+class MemoryUsage;
+
+}
namespace vespalib::datastore {
@@ -52,6 +58,7 @@ public:
virtual const IEnumStoreDictionary& get_dictionary() const = 0;
virtual uint32_t get_num_uniques() const = 0;
virtual vespalib::MemoryUsage get_values_memory_usage() const = 0;
+ virtual vespalib::AddressSpace get_values_address_space_usage() const = 0;
virtual vespalib::MemoryUsage get_dictionary_memory_usage() const = 0;
virtual vespalib::MemoryUsage update_stat() = 0;
virtual std::unique_ptr<EnumIndexRemapper> consider_compact_values(const CompactionStrategy& compaction_strategy) = 0;
diff --git a/vespalib/src/vespa/vespalib/datastore/compaction_spec.h b/vespalib/src/vespa/vespalib/datastore/compaction_spec.h
index bd50b88796b..5bc2d838f9a 100644
--- a/vespalib/src/vespa/vespalib/datastore/compaction_spec.h
+++ b/vespalib/src/vespa/vespalib/datastore/compaction_spec.h
@@ -16,7 +16,7 @@ class CompactionSpec
bool _compact_memory;
bool _compact_address_space;
public:
- CompactionSpec(bool compact_memory_, bool compact_address_space_)
+ CompactionSpec(bool compact_memory_, bool compact_address_space_) noexcept
: _compact_memory(compact_memory_),
_compact_address_space(compact_address_space_)
{
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store.h b/vespalib/src/vespa/vespalib/datastore/unique_store.h
index b50f753ed03..aea98f406e8 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store.h
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store.h
@@ -59,7 +59,7 @@ public:
vespalib::MemoryUsage getMemoryUsage() const;
vespalib::MemoryUsage get_values_memory_usage() const { return _store.getMemoryUsage(); }
vespalib::MemoryUsage get_dictionary_memory_usage() const { return _dict->get_memory_usage(); }
- vespalib::AddressSpace get_address_space_usage() const;
+ vespalib::AddressSpace get_values_address_space_usage() const;
// TODO: Consider exposing only the needed functions from allocator
Allocator& get_allocator() { return _allocator; }
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store.hpp b/vespalib/src/vespa/vespalib/datastore/unique_store.hpp
index 2c06788ded8..b73b714a6bc 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store.hpp
@@ -178,7 +178,7 @@ UniqueStore<EntryT, RefT, Compare, Allocator>::getMemoryUsage() const
template <typename EntryT, typename RefT, typename Compare, typename Allocator>
vespalib::AddressSpace
-UniqueStore<EntryT, RefT, Compare, Allocator>::get_address_space_usage() const
+UniqueStore<EntryT, RefT, Compare, Allocator>::get_values_address_space_usage() const
{
return _allocator.get_data_store().getAddressSpaceUsage();
}