@@ -7011,12 +7011,32 @@ func TestJetStreamClusterConsumerInfoAfterCreate(t *testing.T) {
7011
7011
nc , js := jsClientConnect (t , nl )
7012
7012
defer nc .Close ()
7013
7013
7014
- _ , err := js . AddStream ( & nats.StreamConfig {
7014
+ cfg := & nats.StreamConfig {
7015
7015
Name : "TEST" ,
7016
7016
Subjects : []string {"foo" },
7017
7017
Replicas : 3 ,
7018
- })
7018
+ }
7019
+ si , err := js .AddStream (cfg )
7020
+ require_NoError (t , err )
7021
+
7022
+ // We want to ensure the consumer can be created and be applied.
7023
+ // On the non-meta-leader server we'll pause applies, so need to make
7024
+ // sure the consumer is not created on that server.
7025
+ if si .Cluster .Leader == nl .Name () {
7026
+ ml := c .leader ()
7027
+ jreq , err := json .Marshal (& JSApiLeaderStepdownRequest {Placement : & Placement {Preferred : ml .Name ()}})
7028
+ require_NoError (t , err )
7029
+ resp , err := nc .Request (fmt .Sprintf (JSApiStreamLeaderStepDownT , "TEST" ), jreq , time .Second )
7030
+ require_NoError (t , err )
7031
+ var sdr JSApiLeaderStepDownResponse
7032
+ require_NoError (t , json .Unmarshal (resp .Data , & sdr ))
7033
+ }
7034
+
7035
+ // Scale down to ensure the consumer gets created on this server.
7036
+ cfg .Replicas = 1
7037
+ si , err = js .UpdateStream (cfg )
7019
7038
require_NoError (t , err )
7039
+ require_NotEqual (t , si .Cluster .Leader , nl .Name ())
7020
7040
7021
7041
// We pause applies for the server we're connected to.
7022
7042
// This is fine for the RAFT log and allowing the consumer to be created,
0 commit comments