Observed behavior
Clients stall forever when attempting to do a jetstream publish to a non existent stream with a core listener.
Expected behavior
A stream does not exist error, or a successful publish
Server and client version
Server Version: 2.12.2
Host environment
No response
Steps to reproduce
package main
import (
"fmt"
"log"
"time"
"github.com/nats-io/nats.go"
"github.com/nats-io/nats.go/jetstream"
)
func main() {
nc, err := nats.Connect(nats.DefaultURL)
if err != nil {
log.Fatal(err)
}
defer nc.Close()
js, err := jetstream.New(nc)
if err != nil {
log.Fatal(err)
}
nc.Subscribe("test2.hello", func(m *nats.Msg) {})
fmt.Println("About to publish")
fut, err := js.PublishAsync( "test2.hello", []byte("world"))
if err != nil {
log.Fatal("publish (matching subject):", err)
}
fmt.Println("publish (matching subject) sent")
select {
case <-fut.Ok():
fmt.Println("publish (matching subject) succeeded")
case err:=<-fut.Err():
fmt.Printf("publish (matching subject) failed: %v\n", err)
case <-time.After(5 * time.Second):
fmt.Println("publish (matching subject) timed out")
}
}
Prints
About to publish
publish (matching subject) sent
publish (matching subject) timed out
Observed behavior
Clients stall forever when attempting to do a jetstream publish to a non existent stream with a core listener.
Expected behavior
A stream does not exist error, or a successful publish
Server and client version
Server Version: 2.12.2
Host environment
No response
Steps to reproduce
Prints
About to publish
publish (matching subject) sent
publish (matching subject) timed out