Reduce test data and add memory limits to prevent resource exhaustion - Reduce LargeQuery test from 100K to 10K records (500-record batches) - Reduce MultiNode concurrent operations from 50 to 30 - Add memory limits to all Docker containers in 1C1D config - Add memory limits to all Docker containers in 3C3D config - Addresses server resource constraints for GitHub Actions runners - Maintains test coverage for pagination (100 fetches with fetchSize=100)
diff --git a/docker-compose-1c1d.yml b/docker-compose-1c1d.yml index 8789b14..d72a391 100644 --- a/docker-compose-1c1d.yml +++ b/docker-compose-1c1d.yml
@@ -36,6 +36,12 @@ - dn_rpc_address=iotdb-datanode - dn_internal_address=iotdb-datanode - dn_seed_config_node=iotdb-confignode:10710 + deploy: + resources: + limits: + memory: 1G + reservations: + memory: 512M iotdb-confignode: image: apache/iotdb:2.0.6-confignode @@ -53,6 +59,12 @@ - cn_internal_address=iotdb-confignode - cn_internal_port=10710 - cn_seed_config_node=iotdb-confignode:10710 + deploy: + resources: + limits: + memory: 512M + reservations: + memory: 256M networks: iotdb-network:
diff --git a/docker-compose-3c3d.yml b/docker-compose-3c3d.yml index 6149d52..afdc664 100644 --- a/docker-compose-3c3d.yml +++ b/docker-compose-3c3d.yml
@@ -38,6 +38,12 @@ - cn_seed_config_node=iotdb-confignode-1:10710 - schema_replication_factor=3 - data_replication_factor=3 + deploy: + resources: + limits: + memory: 384M + reservations: + memory: 192M # ConfigNode 2 iotdb-confignode-2: @@ -61,6 +67,12 @@ - cn_seed_config_node=iotdb-confignode-1:10710 - schema_replication_factor=3 - data_replication_factor=3 + deploy: + resources: + limits: + memory: 384M + reservations: + memory: 192M # ConfigNode 3 iotdb-confignode-3: @@ -86,6 +98,12 @@ - cn_seed_config_node=iotdb-confignode-1:10710 - schema_replication_factor=3 - data_replication_factor=3 + deploy: + resources: + limits: + memory: 384M + reservations: + memory: 192M # DataNode 1 iotdb-datanode-1: @@ -112,6 +130,12 @@ - dn_rpc_port=6667 - schema_replication_factor=3 - data_replication_factor=3 + deploy: + resources: + limits: + memory: 768M + reservations: + memory: 384M # DataNode 2 iotdb-datanode-2: @@ -140,6 +164,12 @@ - dn_rpc_port=6667 - schema_replication_factor=3 - data_replication_factor=3 + deploy: + resources: + limits: + memory: 768M + reservations: + memory: 384M # DataNode 3 iotdb-datanode-3: @@ -170,6 +200,12 @@ - dn_rpc_port=6667 - schema_replication_factor=3 - data_replication_factor=3 + deploy: + resources: + limits: + memory: 768M + reservations: + memory: 384M networks: iotdb-network:
diff --git a/tests/e2e/LargeQuery.test.ts b/tests/e2e/LargeQuery.test.ts index 552685a..5becd93 100644 --- a/tests/e2e/LargeQuery.test.ts +++ b/tests/e2e/LargeQuery.test.ts
@@ -83,14 +83,14 @@ ); }); - test('Should insert large dataset (100,000 records)', async () => { + test('Should insert large dataset (10,000 records)', async () => { if (!session.isOpen()) { console.log('Skipping test - no IoTDB connection'); return; } - const batchSize = 1000; - const totalRecords = 100000; + const batchSize = 500; + const totalRecords = 10000; const baseTime = Date.now(); // Insert data in batches @@ -134,7 +134,7 @@ expect(result.columns).toBeDefined(); expect(result.columns.length).toBeGreaterThan(0); expect(result.rows).toBeDefined(); - expect(result.rows.length).toBeGreaterThanOrEqual(100000); + expect(result.rows.length).toBeGreaterThanOrEqual(10000); console.log(`Retrieved ${result.rows.length} rows with fetchSize=100`); console.log(`Columns: ${result.columns.join(', ')}`);
diff --git a/tests/e2e/MultiNode.test.ts b/tests/e2e/MultiNode.test.ts index 9a26a94..3636cfd 100644 --- a/tests/e2e/MultiNode.test.ts +++ b/tests/e2e/MultiNode.test.ts
@@ -99,7 +99,7 @@ return; } - const concurrentOperations = 50; + const concurrentOperations = 30; const promises: Promise<any>[] = []; // Mix of insert and query operations @@ -136,7 +136,7 @@ return; } - const operationCount = 20; + const operationCount = 15; const promises: Promise<any>[] = []; for (let i = 0; i < operationCount; i++) {