summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <pbuetow@mimecast.com>2022-02-15 14:08:39 +0000
committerPaul Buetow <pbuetow@mimecast.com>2022-02-15 14:08:39 +0000
commita18e837d28fb555a64a55e337e5a95932987c140 (patch)
tree63b214ebd95565cc9bed2b865ecc5151437932b6
parent3fff274d1b52b1011b7a134f1d6b07ae4e0e8dd0 (diff)
add missing newlines to server messages when running mapreduce queries too
-rw-r--r--internal/clients/handlers/maprhandler.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/internal/clients/handlers/maprhandler.go b/internal/clients/handlers/maprhandler.go
index 8718b35..4c11470 100644
--- a/internal/clients/handlers/maprhandler.go
+++ b/internal/clients/handlers/maprhandler.go
@@ -16,6 +16,7 @@ type MaprHandler struct {
baseHandler
aggregate *client.Aggregate
query *mapr.Query
+ removedNl bool
}
// NewMaprHandler returns a new mapreduce client handler.
@@ -40,16 +41,21 @@ func (h *MaprHandler) Write(p []byte) (n int, err error) {
for _, b := range p {
switch b {
case '\n':
- continue
+ h.removedNl = true
case protocol.MessageDelimiter:
message := h.baseHandler.receiveBuf.String()
dlog.Client.Debug(message)
if message[0] == 'A' {
h.handleAggregateMessage(message)
} else {
- h.baseHandler.handleMessage(message)
+ if h.removedNl {
+ h.baseHandler.handleMessage(message + "\n")
+ } else {
+ h.baseHandler.handleMessage(message)
+ }
}
h.baseHandler.receiveBuf.Reset()
+ h.removedNl = false
default:
h.baseHandler.receiveBuf.WriteByte(b)
}