@@ -182,14 +182,17 @@ func TestBufferedSenderOnOverflow(t *testing.T) {
182
182
st := cluster .MakeTestingClusterSettings ()
183
183
184
184
queueCap := int64 (24 )
185
+ streamID := int64 (1 )
186
+
185
187
RangefeedSingleBufferedSenderQueueMaxPerReg .Override (ctx , & st .SV , queueCap )
186
188
bs := NewBufferedSender (testServerStream , st , NewBufferedSenderMetrics ())
189
+ bs .addStream (streamID )
187
190
require .Equal (t , queueCap , bs .queueMu .perStreamCapacity )
188
191
189
192
val1 := roachpb.Value {RawBytes : []byte ("val" ), Timestamp : hlc.Timestamp {WallTime : 1 }}
190
193
ev1 := new (kvpb.RangeFeedEvent )
191
194
ev1 .MustSetValue (& kvpb.RangeFeedValue {Key : keyA , Value : val1 })
192
- muxEv := & kvpb.MuxRangeFeedEvent {RangeFeedEvent : * ev1 , RangeID : 0 , StreamID : 1 }
195
+ muxEv := & kvpb.MuxRangeFeedEvent {RangeFeedEvent : * ev1 , RangeID : 0 , StreamID : streamID }
193
196
194
197
for range queueCap {
195
198
require .NoError (t , bs .sendBuffered (muxEv , nil ))
@@ -235,12 +238,13 @@ func TestBufferedSenderOnOverflowMultiStream(t *testing.T) {
235
238
p , h , pStopper := newTestProcessor (t , withRangefeedTestType (scheduledProcessorWithBufferedSender ))
236
239
defer pStopper .Stop (ctx )
237
240
238
- streamID := int64 (42 )
241
+ streamID1 := int64 (42 )
242
+ streamID2 := streamID1 + 1
239
243
240
244
val1 := roachpb.Value {RawBytes : []byte ("val" ), Timestamp : hlc.Timestamp {WallTime : 1 }}
241
245
ev1 := new (kvpb.RangeFeedEvent )
242
246
ev1 .MustSetValue (& kvpb.RangeFeedValue {Key : keyA , Value : val1 })
243
- muxEv := & kvpb.MuxRangeFeedEvent {RangeFeedEvent : * ev1 , RangeID : 0 , StreamID : streamID }
247
+ muxEv := & kvpb.MuxRangeFeedEvent {RangeFeedEvent : * ev1 , RangeID : 0 , StreamID : streamID1 }
244
248
245
249
// Block the stream so that we can overflow later.
246
250
unblock := testServerStream .BlockSend ()
@@ -256,18 +260,20 @@ func TestBufferedSenderOnOverflowMultiStream(t *testing.T) {
256
260
}
257
261
258
262
// Add our stream to the stream manager.
263
+ sm .RegisteringStream (streamID1 )
259
264
registered , d , _ := p .Register (ctx , h .span , hlc.Timestamp {}, nil , /* catchUpIter */
260
265
false /* withDiff */ , false /* withFiltering */ , false /* withOmitRemote */ , noBulkDelivery ,
261
- sm .NewStream (streamID , 1 /*rangeID*/ ))
266
+ sm .NewStream (streamID1 , 1 /*rangeID*/ ))
262
267
require .True (t , registered )
263
- sm .AddStream (streamID , d )
268
+ sm .AddStream (streamID1 , d )
264
269
265
270
// Add a second stream to the stream manager.
271
+ sm .RegisteringStream (streamID2 )
266
272
registered , d , _ = p .Register (ctx , h .span , hlc.Timestamp {}, nil , /* catchUpIter */
267
273
false /* withDiff */ , false /* withFiltering */ , false /* withOmitRemote */ , noBulkDelivery ,
268
- sm .NewStream (streamID + 1 , 1 /*rangeID*/ ))
274
+ sm .NewStream (streamID2 , 1 /*rangeID*/ ))
269
275
require .True (t , registered )
270
- sm .AddStream (streamID + 1 , d )
276
+ sm .AddStream (streamID2 , d )
271
277
272
278
// At this point we actually have sent 2 events, one for each checkpoint sent
273
279
// by the registrations. One of these should get pulled off the queue and block.
@@ -283,7 +289,7 @@ func TestBufferedSenderOnOverflowMultiStream(t *testing.T) {
283
289
require .EqualError (t , err , capExceededErrStr )
284
290
285
291
// A write to a different stream should be fine
286
- muxEv .StreamID = streamID + 2
292
+ muxEv .StreamID = streamID2
287
293
err = sm .sender .sendBuffered (muxEv , nil )
288
294
require .NoError (t , err )
289
295
0 commit comments