diff options
| author | Paul Buetow <paul@buetow.org> | 2025-07-03 16:13:26 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-07-03 16:13:26 +0300 |
| commit | f1ae8e6eb80c8f2f4b4b18b5b93893ad3249c6a1 (patch) | |
| tree | a9348d535148dae1a93f1b08e17d9870a30e7c75 /integrationtests/dmap_test.go | |
| parent | a4eb3cc769c13312fdd4b7aaa20659e408f734b7 (diff) | |
fix: implement thread-safe turbo mode for MapReduce operations
- Add SafeAggregateSet wrapper with mutex protection for concurrent access
- Implement TurboAggregate for direct line processing without channels
- Fix race conditions in turbo mode MapReduce aggregation
- Add proper synchronization for batch processing completion
- Update shutdown sequence to ensure all data is serialized
- Add integration test configuration for high-concurrency scenarios
The turbo mode now correctly handles MapReduce queries with significant
performance improvements while maintaining data integrity and preventing
race conditions during concurrent aggregation.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'integrationtests/dmap_test.go')
| -rw-r--r-- | integrationtests/dmap_test.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/integrationtests/dmap_test.go b/integrationtests/dmap_test.go index fc51b3c..243ceeb 100644 --- a/integrationtests/dmap_test.go +++ b/integrationtests/dmap_test.go @@ -251,7 +251,8 @@ func testDMap3Serverless(t *testing.T, logger *TestLogger) { } // Simply run dmap with multiple input files directly - ctxTimeout, cancel := createTestContextWithTimeout(t) + // Use longer timeout for processing 100 files + ctxTimeout, cancel := createTestContextWithLongTimeout(t) ctx := WithTestLogger(ctxTimeout, logger) defer cancel() @@ -288,7 +289,7 @@ func testDMap3WithServer(t *testing.T, logger *TestLogger) { Port: server.port, BindAddress: server.bindAddress, LogLevel: "error", - ExtraArgs: []string{"--cfg", "test_server_complete.json"}, + ExtraArgs: []string{"--cfg", "test_server_100files.json"}, Env: map[string]string{"DTAIL_TURBOBOOST_ENABLE": "yes"}, } if err := server.StartWithConfig(cfg); err != nil { |
