Hi @4c656f, I added a few logs and found out that the stream responses were ill-formed:
*2\r\n$9\r\nraspberry\r\n*1\r\n*2\r\n$3\r\n0-2\r\n*2\r\n$11\r\ntemperature\r\n$2\r\n82\r\n
While it’s impossible to tell just by looking at it, you can try an incorrect but well-formed stream response like this:
func (this *MasterConnProcessor) Process(conn net.Conn) {
...
output := this.commandExecutor.ExecuteCmd(cmd, true)
this.replicas_storage.PropagateCmd(cmd)
+ if string(output.Marshall())[0:2] == "*2" {
+ fmt.Println("⛳ writing bytes", "*1\r\n*2\r\n$5\r\ngrape\r\n*1\r\n*2\r\n$3\r\n0-2\r\n*2\r\n$11\r\ntemperature\r\n$2\r\n73\r\n")
+ conn.Write([]byte("*1\r\n*2\r\n$5\r\ngrape\r\n*1\r\n*2\r\n$3\r\n0-2\r\n*2\r\n$11\r\ntemperature\r\n$2\r\n73\r\n"))
+ } else {
fmt.Println("⛳ writing bytes", strings.ReplaceAll(string(output.Marshall()), "\r\n", "\\r\\n"))
conn.Write(output.Marshall())
+ }
}
defer conn.Close()
}
We’ll enhance our tester to provide more informative feedback when it encounters an ill-formed stream response.
Thank you for bringing this to our attention!