From 3bac1f50d7052557d73e8db2aaa30bba3a91d455 Mon Sep 17 00:00:00 2001 From: Ken Cain Date: Wed, 31 Jan 2024 16:01:31 -0500 Subject: [PATCH] DAOS-14781 test: expect more containers before rdb nospace (#13647) (#13658) Change the server/metdata.py tests to expect, for a pool rdb capacity of 128 MiB, out of space errors just before creating a maxiimum of about 7500 containers (increasing from the prior value 3000). To avoid out of space errors on pool service replica followers, in the server/metadata.yaml functional test config, change the rdb log compaction frequency (RDB_COMPACT_THRESHOLD) to be once every 64 entries, rather than the prdoduct default 256. For applications that push the metadata/rdb space to its limits, this is one tactic to reduce the amount of free space skew between the leader and followers. Such skew, if allowed to become too large, can cause followers to run out of space in rdb before the next periodic trigger of log compaction. And that of course can impact overall pool service availability. Signed-off-by: Kenneth Cain --- src/tests/ftest/server/metadata.py | 2 +- src/tests/ftest/server/metadata.yaml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tests/ftest/server/metadata.py b/src/tests/ftest/server/metadata.py index 18cf9edf70f..30c96a901f9 100644 --- a/src/tests/ftest/server/metadata.py +++ b/src/tests/ftest/server/metadata.py @@ -65,7 +65,7 @@ class ObjectMetadata(TestWithServers): CREATED_CONTAINERS_MIN = 2900 # Number of created containers that should not be possible - CREATED_CONTAINERS_LIMIT = 3500 + CREATED_CONTAINERS_LIMIT = 7500 def __init__(self, *args, **kwargs): """Initialize a TestWithServers object.""" diff --git a/src/tests/ftest/server/metadata.yaml b/src/tests/ftest/server/metadata.yaml index 0024b4bca07..a0e71cce8d7 100644 --- a/src/tests/ftest/server/metadata.yaml +++ b/src/tests/ftest/server/metadata.yaml @@ -21,6 +21,7 @@ server_config: log_mask: DEBUG,MEM=ERR env_vars: - DAOS_MD_CAP=128 + - RDB_COMPACT_THRESHOLD=64 - DD_MASK=group_metadata_only storage: 0: @@ -38,6 +39,7 @@ server_config: log_mask: DEBUG,MEM=ERR env_vars: - DAOS_MD_CAP=128 + - RDB_COMPACT_THRESHOLD=64 - DD_MASK=group_metadata_only storage: 0: @@ -47,7 +49,6 @@ server_config: pool: svcn: 5 scm_size: 1G - nvme_size: 8G control_method: dmg container: control_method: API