Skip to content

Commit 2f8188e

Browse files
author
Abigale Kim
authored
Integrate std::pmr memory tracking for class ArraySchema. (#4696)
Adding PMR tracking for all vector and unordered map variables of the ArraySchema class. --- TYPE: NO_HISTORY DESC: Integrate std::pmr memory tracking for class `ArraySchema`.
1 parent bb13be6 commit 2f8188e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+524
-274
lines changed

test/src/unit-ReadCellSlabIter.cc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,10 @@ TEST_CASE_METHOD(
257257
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
258258
HERE(),
259259
nullptr,
260-
create_test_memory_tracker(),
261260
array_->array_->array_schema_latest_ptr(),
262261
URI(),
263262
std::make_pair<uint64_t, uint64_t>(0, 0),
263+
tiledb::test::create_test_memory_tracker(),
264264
true);
265265
fragments.emplace_back(std::move(fragment));
266266

@@ -331,10 +331,10 @@ TEST_CASE_METHOD(
331331
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
332332
HERE(),
333333
nullptr,
334-
create_test_memory_tracker(),
335334
array_->array_->array_schema_latest_ptr(),
336335
URI(),
337336
std::make_pair<uint64_t, uint64_t>(0, 0),
337+
tiledb::test::create_test_memory_tracker(),
338338
true);
339339
fragments.emplace_back(std::move(fragment));
340340

@@ -409,10 +409,10 @@ TEST_CASE_METHOD(
409409
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
410410
HERE(),
411411
nullptr,
412-
create_test_memory_tracker(),
413412
array_->array_->array_schema_latest_ptr(),
414413
URI(),
415414
std::make_pair<uint64_t, uint64_t>(0, 0),
415+
tiledb::test::create_test_memory_tracker(),
416416
true);
417417
fragments.emplace_back(std::move(fragment));
418418
}
@@ -492,10 +492,10 @@ TEST_CASE_METHOD(
492492
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
493493
HERE(),
494494
nullptr,
495-
create_test_memory_tracker(),
496495
array_->array_->array_schema_latest_ptr(),
497496
URI(),
498497
std::make_pair<uint64_t, uint64_t>(0, 0),
498+
tiledb::test::create_test_memory_tracker(),
499499
true);
500500
fragments.emplace_back(std::move(fragment));
501501
}
@@ -712,10 +712,10 @@ TEST_CASE_METHOD(
712712
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
713713
HERE(),
714714
nullptr,
715-
create_test_memory_tracker(),
716715
array_->array_->array_schema_latest_ptr(),
717716
URI(),
718717
std::make_pair<uint64_t, uint64_t>(0, 0),
718+
tiledb::test::create_test_memory_tracker(),
719719
true);
720720
fragments.emplace_back(std::move(fragment));
721721

@@ -898,10 +898,10 @@ TEST_CASE_METHOD(
898898
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
899899
HERE(),
900900
nullptr,
901-
create_test_memory_tracker(),
902901
array_->array_->array_schema_latest_ptr(),
903902
URI(),
904903
std::make_pair<uint64_t, uint64_t>(0, 0),
904+
tiledb::test::create_test_memory_tracker(),
905905
true);
906906
fragments.emplace_back(std::move(fragment));
907907

@@ -1097,10 +1097,10 @@ TEST_CASE_METHOD(
10971097
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
10981098
HERE(),
10991099
nullptr,
1100-
create_test_memory_tracker(),
11011100
array_->array_->array_schema_latest_ptr(),
11021101
URI(),
11031102
std::make_pair<uint64_t, uint64_t>(0, 0),
1103+
tiledb::test::create_test_memory_tracker(),
11041104
true);
11051105
fragments.emplace_back(std::move(fragment));
11061106

@@ -1343,10 +1343,10 @@ TEST_CASE_METHOD(
13431343
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
13441344
HERE(),
13451345
nullptr,
1346-
create_test_memory_tracker(),
13471346
array_->array_->array_schema_latest_ptr(),
13481347
URI(),
13491348
std::make_pair<uint64_t, uint64_t>(0, 0),
1349+
tiledb::test::create_test_memory_tracker(),
13501350
true);
13511351
fragments.emplace_back(std::move(fragment));
13521352
}

test/src/unit-Reader.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@
3131
*/
3232

3333
#include "test/support/src/helpers.h"
34+
#include "test/support/src/mem_helpers.h"
3435
#include "test/support/src/vfs_helpers.h"
3536
#include "tiledb/common/common.h"
3637
#include "tiledb/common/dynamic_memory/dynamic_memory.h"
3738
#include "tiledb/common/heap_memory.h"
3839
#include "tiledb/common/logger.h"
3940
#include "tiledb/common/memory_tracker.h"
4041
#include "tiledb/sm/c_api/tiledb_struct_def.h"
42+
#include "tiledb/sm/enums/array_type.h"
4143
#include "tiledb/sm/enums/encryption_type.h"
4244
#include "tiledb/sm/misc/types.h"
4345
#include "tiledb/sm/query/legacy/reader.h"
@@ -250,18 +252,18 @@ TEST_CASE_METHOD(
250252
CHECK(dom->add_dimension(d1).ok());
251253
CHECK(dom->add_dimension(d2).ok());
252254

253-
auto schema = make_shared<ArraySchema>(HERE());
255+
auto schema = make_shared<ArraySchema>(HERE(), ArrayType::DENSE, tracker_);
254256
CHECK(schema->set_domain(dom).ok());
255257

256258
std::vector<shared_ptr<FragmentMetadata>> fragments;
257259
for (uint64_t i = 0; i < frag_tile_domains.size() + 1; i++) {
258260
shared_ptr<FragmentMetadata> fragment = make_shared<FragmentMetadata>(
259261
HERE(),
260262
nullptr,
261-
create_test_memory_tracker(),
262263
schema,
263264
URI(),
264265
std::make_pair<uint64_t, uint64_t>(0, 0),
266+
tracker_,
265267
true);
266268
fragments.emplace_back(std::move(fragment));
267269
}

test/src/unit-capi-array.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2586,11 +2586,13 @@ TEST_CASE_METHOD(
25862586
1,
25872587
&buff);
25882588
REQUIRE(rc == TILEDB_OK);
2589+
auto memory_tracker = ctx_->resources().create_memory_tracker();
25892590
auto st = tiledb::sm::serialization::array_deserialize(
25902591
array->array_.get(),
25912592
tiledb::sm::SerializationType::CAPNP,
25922593
buff->buffer(),
2593-
ctx_->storage_manager());
2594+
ctx_->storage_manager(),
2595+
memory_tracker);
25942596
REQUIRE(st.ok());
25952597

25962598
// 6. Server: Close array and clean up

test/src/unit-cppapi-schema-evolution.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
*/
3232

3333
#include <test/support/tdb_catch.h>
34+
#include "test/support/src/mem_helpers.h"
3435
#include "tiledb/sm/array_schema/array_schema.h"
3536
#include "tiledb/sm/array_schema/array_schema_evolution.h"
3637
#include "tiledb/sm/array_schema/attribute.h"
@@ -808,7 +809,9 @@ TEST_CASE(
808809
ase->set_timestamp_range(std::make_pair(1, 1));
809810

810811
auto schema = make_shared<tiledb::sm::ArraySchema>(
811-
HERE(), tiledb::sm::ArrayType::SPARSE);
812+
HERE(),
813+
tiledb::sm::ArrayType::SPARSE,
814+
tiledb::test::create_test_memory_tracker());
812815
auto dim = make_shared<tiledb::sm::Dimension>(
813816
HERE(), "dim1", tiledb::sm::Datatype::INT32);
814817
int range[2] = {0, 1000};

0 commit comments

Comments
 (0)