From bc2402fbb52a4396b8168d4e21ca0848f7b88437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Moyne?= Date: Tue, 19 Sep 2023 19:38:01 -0700 Subject: [PATCH] Fix The server consumer creation code is picky and does indeed not accept a request send to the ExT subject if that request specifies the subject filter in the array (even if there is only one entry in the array). --- server/stream.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/stream.go b/server/stream.go index e6f5f9287ce..12b0339b445 100644 --- a/server/stream.go +++ b/server/stream.go @@ -2895,7 +2895,9 @@ func (mset *stream) setSourceConsumer(iname string, seq uint64, startTime time.T subject = fmt.Sprintf(JSApiConsumerCreateExT, si.name, req.Config.Name, req.Config.FilterSubject) } else if len(req.Config.FilterSubjects) == 1 { req.Config.Name = fmt.Sprintf("src-%s", createConsumerName()) - subject = fmt.Sprintf(JSApiConsumerCreateExT, si.name, req.Config.Name, req.Config.FilterSubjects[0]) + req.Config.FilterSubject = req.Config.FilterSubjects[0] + req.Config.FilterSubjects = []string{} + subject = fmt.Sprintf(JSApiConsumerCreateExT, si.name, req.Config.Name, req.Config.FilterSubject) } else { subject = fmt.Sprintf(JSApiConsumerCreateT, si.name) }