diff options
| author | Paul Buetow <paul@buetow.org> | 2025-07-04 10:57:22 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-07-04 10:57:22 +0300 |
| commit | aa2f547cf2b6136dc60f541f30c27a426ec7c6c8 (patch) | |
| tree | 6180691fc7a0753f82c16aefdbf7da078928a3ae /internal/server/handlers | |
| parent | becf8a2ea235ee37adceabc1733ae8727cec5488 (diff) | |
refactor: change turbo boost to be enabled by default
- Changed environment variable from DTAIL_TURBOBOOST_ENABLE to DTAIL_TURBOBOOST_DISABLE
- Changed config field from TurboModeEnable to TurboBoostDisable
- Turbo boost is now enabled by default and must be explicitly disabled
- Updated all code references, documentation, and examples
- No change in functionality, only inverted the boolean logic
This makes turbo boost opt-out rather than opt-in, providing better
default performance for large files while allowing users to disable
it for scenarios where it adds overhead.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'internal/server/handlers')
| -rw-r--r-- | internal/server/handlers/mapcommand.go | 8 | ||||
| -rw-r--r-- | internal/server/handlers/readcommand.go | 12 |
2 files changed, 10 insertions, 10 deletions
diff --git a/internal/server/handlers/mapcommand.go b/internal/server/handlers/mapcommand.go index c804189..83c4c75 100644 --- a/internal/server/handlers/mapcommand.go +++ b/internal/server/handlers/mapcommand.go @@ -23,10 +23,10 @@ func newMapCommand(serverHandler *ServerHandler, argc int, m := mapCommand{server: serverHandler} queryStr := strings.Join(args[1:], " ") - // If turbo mode is enabled AND we're in server mode (not serverless), create a TurboAggregate - // Turbo mode is a server-side optimization and should not be used in serverless mode - dlog.Server.Debug("MapReduce mode check", "turboModeEnable", config.Server.TurboModeEnable, "serverless", serverHandler.serverless) - if config.Server.TurboModeEnable && !serverHandler.serverless { + // If turbo boost is not disabled AND we're in server mode (not serverless), create a TurboAggregate + // Turbo boost is enabled by default and is a server-side optimization + dlog.Server.Debug("MapReduce mode check", "turboBoostDisable", config.Server.TurboBoostDisable, "serverless", serverHandler.serverless) + if !config.Server.TurboBoostDisable && !serverHandler.serverless { dlog.Server.Info("Creating turbo aggregate for MapReduce", "query", queryStr) turboAggregate, err := server.NewTurboAggregate(queryStr) if err != nil { diff --git a/internal/server/handlers/readcommand.go b/internal/server/handlers/readcommand.go index 2ce1fc7..7037e5f 100644 --- a/internal/server/handlers/readcommand.go +++ b/internal/server/handlers/readcommand.go @@ -123,7 +123,7 @@ func (r *readCommand) readFiles(ctx context.Context, ltx lcontext.LContext, // In turbo mode, signal EOF after all files are processed // This is crucial for proper shutdown in server mode - if config.Server.TurboModeEnable && r.server.aggregate == nil && + if !config.Server.TurboBoostDisable && r.server.aggregate == nil && (r.mode == omode.CatClient || r.mode == omode.GrepClient || r.mode == omode.TailClient) { if r.server.IsTurboMode() && r.server.turboEOF != nil { dlog.Server.Debug(r.server.user, "Turbo mode: flushing data before EOF signal") @@ -261,12 +261,12 @@ func (r *readCommand) read(ctx context.Context, ltx lcontext.LContext, // Check if we should use the turbo boost optimizations // Enable turbo boost for cat/grep/tail modes, and now also for MapReduce operations // MapReduce now has a turbo mode implementation that bypasses channels - dlog.Server.Debug(r.server.user, "Checking turbo mode", "turboModeEnable", config.Server.TurboModeEnable, + dlog.Server.Debug(r.server.user, "Checking turbo mode", "turboBoostDisable", config.Server.TurboBoostDisable, "mode", r.mode, "hasTurboAggregate", r.server.turboAggregate != nil, "hasAggregate", r.server.aggregate != nil) // Only use turbo mode if: - // 1. Turbo mode is enabled AND + // 1. Turbo boost is NOT disabled (it's enabled by default) AND // 2. We have a turbo aggregate OR (we're in cat/grep/tail mode AND we don't have a regular aggregate) - if config.Server.TurboModeEnable && + if !config.Server.TurboBoostDisable && (r.server.turboAggregate != nil || ((r.mode == omode.CatClient || r.mode == omode.GrepClient || r.mode == omode.TailClient) && r.server.aggregate == nil)) { dlog.Server.Info(r.server.user, "Using turbo mode for reading", path, "mode", r.mode, "hasTurboAggregate", r.server.turboAggregate != nil) r.readWithTurboProcessor(ctx, ltx, path, globID, re, reader) @@ -327,8 +327,8 @@ func (r *readCommand) readWithProcessor(ctx context.Context, ltx lcontext.LConte aggregate := r.server.aggregate var lines chan *line.Line - // Use the optimized version if turbo boost is enabled - turboBoostEnabled := config.Server.TurboModeEnable + // Use the optimized version if turbo boost is not disabled (enabled by default) + turboBoostEnabled := !config.Server.TurboBoostDisable for { if aggregate != nil { |
