From aede1d8c24f9f580d5a96c089878e9b258b88d04 Mon Sep 17 00:00:00 2001 From: Waqar Ahmed Khan Date: Wed, 18 Sep 2024 14:46:59 -0700 Subject: [PATCH] Fix MemoryLimit primary_allocated stat (#453) --- source/s3_buffer_pool.c | 1 + tests/s3_buffer_pool_tests.c | 1 + 2 files changed, 2 insertions(+) diff --git a/source/s3_buffer_pool.c b/source/s3_buffer_pool.c index a4396c6a3..9d63fe65e 100644 --- a/source/s3_buffer_pool.c +++ b/source/s3_buffer_pool.c @@ -232,6 +232,7 @@ void s_buffer_pool_trim_synced(struct aws_s3_buffer_pool *buffer_pool) { aws_array_list_get_at_ptr(&buffer_pool->blocks, (void **)&block, i); if (block->alloc_bit_mask == 0) { + buffer_pool->primary_allocated -= block->block_size; aws_mem_release(buffer_pool->base_allocator, block->block_ptr); aws_array_list_erase(&buffer_pool->blocks, i); /* do not increment since we just released element */ diff --git a/tests/s3_buffer_pool_tests.c b/tests/s3_buffer_pool_tests.c index bdf05378d..5f184745e 100644 --- a/tests/s3_buffer_pool_tests.c +++ b/tests/s3_buffer_pool_tests.c @@ -158,6 +158,7 @@ static int s_test_s3_buffer_pool_trim(struct aws_allocator *allocator, void *ctx struct aws_s3_buffer_pool_usage_stats stats_after = aws_s3_buffer_pool_get_usage(buffer_pool); ASSERT_TRUE(stats_before.primary_num_blocks > stats_after.primary_num_blocks); + ASSERT_TRUE(stats_before.primary_allocated > stats_after.primary_allocated); for (size_t i = 20; i < 40; ++i) { aws_s3_buffer_pool_release_ticket(buffer_pool, tickets[i]);