@@ -62,7 +62,7 @@ public void testCoordinateReads() {
62
62
public void testWriteBuffer () {
63
63
// Need to set concurrentWrites to 0, other the write buffer gets flushed immediately:
64
64
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 0 , 32 , Long .MAX_VALUE );
65
- startTask (task , 64 , -1 );
65
+ startTask (task , 63 , -1 );
66
66
67
67
task .coordinateReads ();
68
68
assertThat (shardChangesRequests .size (), equalTo (1 ));
@@ -234,11 +234,11 @@ public void testReceiveNonRetryableError() {
234
234
235
235
public void testHandleReadResponse () {
236
236
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
237
- startTask (task , 64 , -1 );
237
+ startTask (task , 63 , -1 );
238
238
239
239
task .coordinateReads ();
240
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 64L );
241
- task .innerHandleReadResponse (0L , 64L , response );
240
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 63L );
241
+ task .innerHandleReadResponse (0L , 63L , response );
242
242
243
243
assertThat (bulkShardOperationRequests .size (), equalTo (1 ));
244
244
assertThat (bulkShardOperationRequests .get (0 ), equalTo (Arrays .asList (response .getOperations ())));
@@ -248,8 +248,8 @@ public void testHandleReadResponse() {
248
248
assertThat (status .getNumberOfConcurrentReads (), equalTo (1 ));
249
249
assertThat (status .getNumberOfConcurrentReads (), equalTo (1 ));
250
250
assertThat (status .getNumberOfConcurrentWrites (), equalTo (1 ));
251
- assertThat (status .getLastRequestedSeqno (), equalTo (64L ));
252
- assertThat (status .getLeaderGlobalCheckpoint (), equalTo (64L ));
251
+ assertThat (status .getLastRequestedSeqno (), equalTo (63L ));
252
+ assertThat (status .getLeaderGlobalCheckpoint (), equalTo (63L ));
253
253
assertThat (status .getFollowerGlobalCheckpoint (), equalTo (-1L ));
254
254
}
255
255
@@ -263,7 +263,7 @@ public void testReceiveLessThanRequested() {
263
263
assertThat (shardChangesRequests .get (0 )[1 ], equalTo (64L ));
264
264
265
265
shardChangesRequests .clear ();
266
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 32 , 0L , 31L );
266
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 31 , 0L , 31L );
267
267
task .innerHandleReadResponse (0L , 64L , response );
268
268
269
269
assertThat (shardChangesRequests .size (), equalTo (1 ));
@@ -288,7 +288,7 @@ public void testCancelAndReceiveLessThanRequested() {
288
288
289
289
shardChangesRequests .clear ();
290
290
task .markAsCompleted ();
291
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 32 , 0L , 31L );
291
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 31 , 0L , 31L );
292
292
task .innerHandleReadResponse (0L , 64L , response );
293
293
294
294
assertThat (shardChangesRequests .size (), equalTo (0 ));
@@ -310,8 +310,8 @@ public void testReceiveNothingExpectedSomething() {
310
310
assertThat (shardChangesRequests .get (0 )[1 ], equalTo (64L ));
311
311
312
312
shardChangesRequests .clear ();
313
- ShardChangesAction . Response response = generateShardChangesResponse ( 0 , 0 , 0L , 0L );
314
- task . innerHandleReadResponse ( 0L , 64L , response );
313
+ task . innerHandleReadResponse ( 0L , 64L ,
314
+ new ShardChangesAction . Response ( 0 , 0 , new Translog . Operation [ 0 ]) );
315
315
316
316
assertThat (shardChangesRequests .size (), equalTo (1 ));
317
317
assertThat (shardChangesRequests .get (0 )[0 ], equalTo (0L ));
@@ -331,30 +331,30 @@ public void testDelayCoordinatesRead() {
331
331
task .run ();
332
332
};
333
333
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
334
- startTask (task , 64 , -1 );
334
+ startTask (task , 63 , -1 );
335
335
336
336
task .coordinateReads ();
337
337
assertThat (shardChangesRequests .size (), equalTo (1 ));
338
338
assertThat (shardChangesRequests .get (0 )[0 ], equalTo (0L ));
339
339
assertThat (shardChangesRequests .get (0 )[1 ], equalTo (64L ));
340
340
341
341
shardChangesRequests .clear ();
342
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 65 , 0L , 64L );
342
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 63L );
343
343
// Also invokes coordinateReads()
344
- task .innerHandleReadResponse (0L , 64L , response );
345
- response = generateShardChangesResponse ( 0 , 0 , 0L , 64L );
346
- task . innerHandleReadResponse ( 65L , 64L , response );
344
+ task .innerHandleReadResponse (0L , 63L , response );
345
+ task . innerHandleReadResponse ( 64L , 63L ,
346
+ new ShardChangesAction . Response ( 0 , 63L , new Translog . Operation [ 0 ]) );
347
347
assertThat (counter [0 ], equalTo (1 ));
348
348
}
349
349
350
350
public void testMappingUpdate () {
351
351
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
352
- startTask (task , 64 , -1 );
352
+ startTask (task , 63 , -1 );
353
353
354
354
imdVersions .add (1L );
355
355
task .coordinateReads ();
356
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 1L , 64L );
357
- task .handleReadResponse (0L , 64L , response );
356
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 1L , 63L );
357
+ task .handleReadResponse (0L , 63L , response );
358
358
359
359
assertThat (bulkShardOperationRequests .size (), equalTo (1 ));
360
360
assertThat (bulkShardOperationRequests .get (0 ), equalTo (Arrays .asList (response .getOperations ())));
@@ -363,23 +363,23 @@ public void testMappingUpdate() {
363
363
assertThat (status .getIndexMetadataVersion (), equalTo (1L ));
364
364
assertThat (status .getNumberOfConcurrentReads (), equalTo (1 ));
365
365
assertThat (status .getNumberOfConcurrentWrites (), equalTo (1 ));
366
- assertThat (status .getLastRequestedSeqno (), equalTo (64L ));
367
- assertThat (status .getLeaderGlobalCheckpoint (), equalTo (64L ));
366
+ assertThat (status .getLastRequestedSeqno (), equalTo (63L ));
367
+ assertThat (status .getLeaderGlobalCheckpoint (), equalTo (63L ));
368
368
assertThat (status .getFollowerGlobalCheckpoint (), equalTo (-1L ));
369
369
}
370
370
371
371
public void testMappingUpdateRetryableError () {
372
372
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
373
- startTask (task , 64 , -1 );
373
+ startTask (task , 63 , -1 );
374
374
375
375
int max = randomIntBetween (1 , 10 );
376
376
for (int i = 0 ; i < max ; i ++) {
377
377
mappingUpdateFailures .add (new ConnectException ());
378
378
}
379
379
imdVersions .add (1L );
380
380
task .coordinateReads ();
381
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 1L , 64L );
382
- task .handleReadResponse (0L , 64L , response );
381
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 1L , 63L );
382
+ task .handleReadResponse (0L , 63L , response );
383
383
384
384
assertThat (mappingUpdateFailures .size (), equalTo (0 ));
385
385
assertThat (bulkShardOperationRequests .size (), equalTo (1 ));
@@ -388,8 +388,8 @@ public void testMappingUpdateRetryableError() {
388
388
assertThat (status .getIndexMetadataVersion (), equalTo (1L ));
389
389
assertThat (status .getNumberOfConcurrentReads (), equalTo (1 ));
390
390
assertThat (status .getNumberOfConcurrentWrites (), equalTo (1 ));
391
- assertThat (status .getLastRequestedSeqno (), equalTo (64L ));
392
- assertThat (status .getLeaderGlobalCheckpoint (), equalTo (64L ));
391
+ assertThat (status .getLastRequestedSeqno (), equalTo (63L ));
392
+ assertThat (status .getLeaderGlobalCheckpoint (), equalTo (63L ));
393
393
394
394
}
395
395
@@ -439,25 +439,25 @@ public void testMappingUpdateNonRetryableError() {
439
439
440
440
public void testCoordinateWrites () {
441
441
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
442
- startTask (task , 64 , -1 );
442
+ startTask (task , 63 , -1 );
443
443
444
444
task .coordinateReads ();
445
445
assertThat (shardChangesRequests .size (), equalTo (1 ));
446
446
assertThat (shardChangesRequests .get (0 )[0 ], equalTo (0L ));
447
447
assertThat (shardChangesRequests .get (0 )[1 ], equalTo (64L ));
448
448
449
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 64L );
449
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 63L );
450
450
// Also invokes coordinatesWrites()
451
- task .innerHandleReadResponse (0L , 64L , response );
451
+ task .innerHandleReadResponse (0L , 63L , response );
452
452
453
453
assertThat (bulkShardOperationRequests .size (), equalTo (1 ));
454
454
assertThat (bulkShardOperationRequests .get (0 ), equalTo (Arrays .asList (response .getOperations ())));
455
455
456
456
ShardFollowNodeTask .Status status = task .getStatus ();
457
457
assertThat (status .getNumberOfConcurrentReads (), equalTo (1 ));
458
458
assertThat (status .getNumberOfConcurrentWrites (), equalTo (1 ));
459
- assertThat (status .getLastRequestedSeqno (), equalTo (64L ));
460
- assertThat (status .getLeaderGlobalCheckpoint (), equalTo (64L ));
459
+ assertThat (status .getLastRequestedSeqno (), equalTo (63L ));
460
+ assertThat (status .getLeaderGlobalCheckpoint (), equalTo (63L ));
461
461
assertThat (status .getFollowerGlobalCheckpoint (), equalTo (-1L ));
462
462
}
463
463
@@ -507,7 +507,7 @@ public void testMaxBatchOperationCount() {
507
507
508
508
public void testRetryableError () {
509
509
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
510
- startTask (task , 64 , -1 );
510
+ startTask (task , 63 , -1 );
511
511
512
512
task .coordinateReads ();
513
513
assertThat (shardChangesRequests .size (), equalTo (1 ));
@@ -518,9 +518,9 @@ public void testRetryableError() {
518
518
for (int i = 0 ; i < max ; i ++) {
519
519
writeFailures .add (new ShardNotFoundException (new ShardId ("leader_index" , "" , 0 )));
520
520
}
521
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 64L );
521
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 63L );
522
522
// Also invokes coordinatesWrites()
523
- task .innerHandleReadResponse (0L , 64L , response );
523
+ task .innerHandleReadResponse (0L , 63L , response );
524
524
525
525
// Number of requests is equal to initial request + retried attempts:
526
526
assertThat (bulkShardOperationRequests .size (), equalTo (max + 1 ));
@@ -535,7 +535,7 @@ public void testRetryableError() {
535
535
536
536
public void testRetryableErrorRetriedTooManyTimes () {
537
537
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
538
- startTask (task , 64 , -1 );
538
+ startTask (task , 63 , -1 );
539
539
540
540
task .coordinateReads ();
541
541
assertThat (shardChangesRequests .size (), equalTo (1 ));
@@ -546,9 +546,9 @@ public void testRetryableErrorRetriedTooManyTimes() {
546
546
for (int i = 0 ; i < max ; i ++) {
547
547
writeFailures .add (new ShardNotFoundException (new ShardId ("leader_index" , "" , 0 )));
548
548
}
549
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 64L );
549
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 643 );
550
550
// Also invokes coordinatesWrites()
551
- task .innerHandleReadResponse (0L , 64L , response );
551
+ task .innerHandleReadResponse (0L , 63L , response );
552
552
553
553
// Number of requests is equal to initial request + retried attempts:
554
554
assertThat (bulkShardOperationRequests .size (), equalTo (11 ));
@@ -563,17 +563,17 @@ public void testRetryableErrorRetriedTooManyTimes() {
563
563
564
564
public void testNonRetryableError () {
565
565
ShardFollowNodeTask task = createShardFollowTask (64 , 1 , 1 , Integer .MAX_VALUE , Long .MAX_VALUE );
566
- startTask (task , 64 , -1 );
566
+ startTask (task , 63 , -1 );
567
567
568
568
task .coordinateReads ();
569
569
assertThat (shardChangesRequests .size (), equalTo (1 ));
570
570
assertThat (shardChangesRequests .get (0 )[0 ], equalTo (0L ));
571
571
assertThat (shardChangesRequests .get (0 )[1 ], equalTo (64L ));
572
572
573
573
writeFailures .add (new RuntimeException ());
574
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 64L );
574
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 63L );
575
575
// Also invokes coordinatesWrites()
576
- task .innerHandleReadResponse (0L , 64L , response );
576
+ task .innerHandleReadResponse (0L , 63L , response );
577
577
578
578
assertThat (bulkShardOperationRequests .size (), equalTo (1 ));
579
579
assertThat (bulkShardOperationRequests .get (0 ), equalTo (Arrays .asList (response .getOperations ())));
@@ -592,7 +592,7 @@ public void testMaxBatchBytesLimit() {
592
592
assertThat (shardChangesRequests .get (0 )[0 ], equalTo (0L ));
593
593
assertThat (shardChangesRequests .get (0 )[1 ], equalTo (64L ));
594
594
595
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 64L );
595
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 64L );
596
596
// Also invokes coordinatesWrites()
597
597
task .innerHandleReadResponse (0L , 64L , response );
598
598
@@ -610,7 +610,7 @@ public void testHandleWriteResponse() {
610
610
611
611
shardChangesRequests .clear ();
612
612
followerGlobalCheckpoints .add (63L );
613
- ShardChangesAction .Response response = generateShardChangesResponse (0 , 64 , 0L , 63L );
613
+ ShardChangesAction .Response response = generateShardChangesResponse (0 , 63 , 0L , 63L );
614
614
// Also invokes coordinatesWrites()
615
615
task .innerHandleReadResponse (0L , 63L , response );
616
616
@@ -702,10 +702,10 @@ public void markAsFailed(Exception e) {
702
702
};
703
703
}
704
704
705
- private static ShardChangesAction .Response generateShardChangesResponse (long fromSeqNo , int size , long imdVersion ,
705
+ private static ShardChangesAction .Response generateShardChangesResponse (long fromSeqNo , long toSeqNo , long imdVersion ,
706
706
long leaderGlobalCheckPoint ) {
707
707
List <Translog .Operation > ops = new ArrayList <>();
708
- for (long seqNo = fromSeqNo ; seqNo < size ; seqNo ++) {
708
+ for (long seqNo = fromSeqNo ; seqNo <= toSeqNo ; seqNo ++) {
709
709
String id = UUIDs .randomBase64UUID ();
710
710
byte [] source = "{}" .getBytes (StandardCharsets .UTF_8 );
711
711
ops .add (new Translog .Index ("doc" , id , seqNo , 0 , source ));
0 commit comments