summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-29 12:23:20 +0300
committerPaul Buetow <paul@buetow.org>2025-06-29 12:23:20 +0300
commitaa7e7afebf2bb65fb5a86183bd1f7190d6502b4d (patch)
tree967c4570a181a0ac9904e3906ebb3a685ef02539 /internal/server
parent0aa3222cef46d527bb9437afa9ddd90f3a80a9d8 (diff)
fix: resolve dcat test failures with channel-less implementation
- Fix serverless mode extra blank lines by removing DTail 3 backward compatibility fallthrough for '\n' character - Fix empty line handling in client message processing - Update integration test framework to inherit environment variables, allowing turbo boost testing - Clean up debug logging code Note: dcat1d.txt test fails because DTail adds newline to files without trailing newlines - this is a protocol limitation where newlines are stripped during transmission and re-added by the client. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/handlers/readcommand.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/internal/server/handlers/readcommand.go b/internal/server/handlers/readcommand.go
index abdbe9c..23c3175 100644
--- a/internal/server/handlers/readcommand.go
+++ b/internal/server/handlers/readcommand.go
@@ -53,6 +53,7 @@ func (r *readCommand) Start(ctx context.Context, ltx lcontext.LContext,
// e.g.: grep foo bar.log | dmap 'from STATS select ...'
// Only read from pipe if no file argument is provided
isPipe := r.isInputFromPipe() && (argc < 2 || args[1] == "" || args[1] == "-")
+
if isPipe {
dlog.Server.Debug("Reading data from stdin pipe")
// Empty file path and globID "-" represents reading from the stdin pipe.
@@ -212,6 +213,7 @@ func (r *readCommand) readWithProcessor(ctx context.Context, ltx lcontext.LConte
path, globID string, re regex.Regex, reader fs.FileReader) {
dlog.Server.Info(r.server.user, "Using channel-less grep implementation", path, globID)
+
// Use the existing lines channel but with the processor-based reader
lines := r.server.lines