Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content
This repository was archived by the owner on Feb 24, 2026. It is now read-only.

Commit 38c95c2

Browse files
fix: Temporally disable test/code where breaking change is used to help pushing out the breaking change in unreleased Beta (#727)
* fix: a race condition in test * . * . * . * resolve merge conflict Co-authored-by: Stephanie Wang <stephaniewang526@users.noreply.github.com>
1 parent ab6213c commit 38c95c2

4 files changed

Lines changed: 224 additions & 107 deletions

File tree

google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1beta2/StreamWriter.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -857,18 +857,19 @@ public void onResponse(AppendRowsResponse response) {
857857
inflightBatch.onFailure(exception);
858858
}
859859
}
860-
if (inflightBatch.getExpectedOffset() > 0
861-
&& response.getOffset() != inflightBatch.getExpectedOffset()) {
862-
IllegalStateException exception =
863-
new IllegalStateException(
864-
String.format(
865-
"The append result offset %s does not match " + "the expected offset %s.",
866-
response.getOffset(), inflightBatch.getExpectedOffset()));
867-
inflightBatch.onFailure(exception);
868-
abortInflightRequests(exception);
869-
} else {
870-
inflightBatch.onSuccess(response);
871-
}
860+
// Temp for Breaking Change.
861+
// if (inflightBatch.getExpectedOffset() > 0
862+
// && response.getOffset() != inflightBatch.getExpectedOffset()) {
863+
// IllegalStateException exception =
864+
// new IllegalStateException(
865+
// String.format(
866+
// "The append result offset %s does not match " + "the expected offset %s.",
867+
// response.getOffset(), inflightBatch.getExpectedOffset()));
868+
// inflightBatch.onFailure(exception);
869+
// abortInflightRequests(exception);
870+
// } else {
871+
inflightBatch.onSuccess(response);
872+
// }
872873
} finally {
873874
streamWriter.messagesWaiter.release(inflightBatch.getByteSize());
874875
}

google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1beta2/JsonStreamWriterTest.java

Lines changed: 88 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -244,12 +244,15 @@ public void testSingleAppendSimpleJson() throws Exception {
244244
try (JsonStreamWriter writer =
245245
getTestJsonStreamWriterBuilder(TEST_STREAM, TABLE_SCHEMA).build()) {
246246

247-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
247+
// Temp for Breaking Change.
248+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
249+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
248250

249251
ApiFuture<AppendRowsResponse> appendFuture =
250252
writer.append(jsonArr, -1, /* allowUnknownFields */ false);
251-
252-
assertEquals(0L, appendFuture.get().getOffset());
253+
// Temp for Breaking Change.
254+
// assertEquals(0L, appendFuture.get().getOffset());
255+
appendFuture.get();
253256
assertEquals(
254257
1,
255258
testBigQueryWrite
@@ -288,12 +291,16 @@ public void testSingleAppendMultipleSimpleJson() throws Exception {
288291

289292
try (JsonStreamWriter writer =
290293
getTestJsonStreamWriterBuilder(TEST_STREAM, TABLE_SCHEMA).build()) {
291-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
294+
// Temp for Breaking Change.
295+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
296+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
292297

293298
ApiFuture<AppendRowsResponse> appendFuture =
294299
writer.append(jsonArr, -1, /* allowUnknownFields */ false);
295300

296-
assertEquals(0L, appendFuture.get().getOffset());
301+
// Temp for Breaking Change.
302+
// assertEquals(0L, appendFuture.get().getOffset());
303+
appendFuture.get();
297304
assertEquals(
298305
4,
299306
testBigQueryWrite
@@ -325,15 +332,21 @@ public void testMultipleAppendSimpleJson() throws Exception {
325332

326333
try (JsonStreamWriter writer =
327334
getTestJsonStreamWriterBuilder(TEST_STREAM, TABLE_SCHEMA).build()) {
328-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
329-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(1).build());
330-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(2).build());
331-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(3).build());
335+
// Temp for Breaking Change.
336+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
337+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(1).build());
338+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(2).build());
339+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(3).build());
340+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
341+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
342+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
343+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
332344
ApiFuture<AppendRowsResponse> appendFuture;
333345
for (int i = 0; i < 4; i++) {
334346
appendFuture = writer.append(jsonArr, -1, /* allowUnknownFields */ false);
335-
336-
assertEquals((long) i, appendFuture.get().getOffset());
347+
// Temp for Breaking Change.
348+
// assertEquals((long) i, appendFuture.get().getOffset());
349+
appendFuture.get();
337350
assertEquals(
338351
1,
339352
testBigQueryWrite
@@ -411,11 +424,16 @@ public void testSingleAppendComplexJson() throws Exception {
411424

412425
try (JsonStreamWriter writer =
413426
getTestJsonStreamWriterBuilder(TEST_STREAM, COMPLEX_TABLE_SCHEMA).build()) {
414-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
427+
// Temp for Breaking Change.
428+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
429+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
430+
415431
ApiFuture<AppendRowsResponse> appendFuture =
416432
writer.append(jsonArr, -1, /* allowUnknownFields */ false);
417433

418-
assertEquals(0L, appendFuture.get().getOffset());
434+
// Temp for Breaking Change.
435+
// assertEquals(0L, appendFuture.get().getOffset());
436+
appendFuture.get();
419437
assertEquals(
420438
1,
421439
testBigQueryWrite
@@ -440,17 +458,19 @@ public void testAppendMultipleSchemaUpdate() throws Exception {
440458
try (JsonStreamWriter writer =
441459
getTestJsonStreamWriterBuilder(TEST_STREAM, TABLE_SCHEMA).build()) {
442460
// Add fake resposne for FakeBigQueryWrite, first response has updated schema.
461+
// Temp for Breaking Change.
443462
testBigQueryWrite.addResponse(
444463
AppendRowsResponse.newBuilder()
445-
.setOffset(0)
464+
// .setOffset(0)
446465
.setUpdatedSchema(UPDATED_TABLE_SCHEMA)
447466
.build());
448467
testBigQueryWrite.addResponse(
449468
AppendRowsResponse.newBuilder()
450-
.setOffset(1)
469+
// .setOffset(1)
451470
.setUpdatedSchema(UPDATED_TABLE_SCHEMA_2)
452471
.build());
453-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(2).build());
472+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(2).build());
473+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
454474
// First append
455475
JSONObject foo = new JSONObject();
456476
foo.put("foo", "allen");
@@ -469,7 +489,9 @@ public void testAppendMultipleSchemaUpdate() throws Exception {
469489
millis += 100;
470490
}
471491
assertTrue(writer.getDescriptor().getFields().size() == 2);
472-
assertEquals(0L, appendFuture1.get().getOffset());
492+
// Temp for Breaking Change.
493+
// assertEquals(0L, appendFuture1.get().getOffset());
494+
appendFuture1.get();
473495
assertEquals(
474496
1,
475497
testBigQueryWrite
@@ -506,7 +528,9 @@ public void testAppendMultipleSchemaUpdate() throws Exception {
506528
millis += 100;
507529
}
508530
assertTrue(writer.getDescriptor().getFields().size() == 3);
509-
assertEquals(1L, appendFuture2.get().getOffset());
531+
// Temp for Breaking Change.
532+
// assertEquals(1L, appendFuture2.get().getOffset());
533+
appendFuture2.get();
510534
assertEquals(
511535
1,
512536
testBigQueryWrite
@@ -535,7 +559,9 @@ public void testAppendMultipleSchemaUpdate() throws Exception {
535559
ApiFuture<AppendRowsResponse> appendFuture3 =
536560
writer.append(updatedJsonArr2, -1, /* allowUnknownFields */ false);
537561

538-
assertEquals(2L, appendFuture3.get().getOffset());
562+
// Temp for Breaking Change.
563+
// assertEquals(2L, appendFuture3.get().getOffset());
564+
appendFuture3.get();
539565
assertEquals(
540566
1,
541567
testBigQueryWrite
@@ -616,7 +642,9 @@ public void testAppendOutOfRangeAndUpdateSchema() throws Exception {
616642
.setError(com.google.rpc.Status.newBuilder().setCode(11).build())
617643
.setUpdatedSchema(UPDATED_TABLE_SCHEMA)
618644
.build());
619-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
645+
// Temp for Breaking Change.
646+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
647+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(0).build());
620648

621649
JSONObject foo = new JSONObject();
622650
foo.put("foo", "allen");
@@ -648,8 +676,9 @@ public void testAppendOutOfRangeAndUpdateSchema() throws Exception {
648676

649677
ApiFuture<AppendRowsResponse> appendFuture2 =
650678
writer.append(updatedJsonArr, -1, /* allowUnknownFields */ false);
651-
652-
assertEquals(0L, appendFuture2.get().getOffset());
679+
// Temp for Breaking Change.
680+
// assertEquals(0L, appendFuture2.get().getOffset());
681+
appendFuture2.get();
653682
assertEquals(
654683
1,
655684
testBigQueryWrite
@@ -683,13 +712,16 @@ public void testSchemaUpdateWithNonemptyBatch() throws Exception {
683712
.setElementCountThreshold(2L)
684713
.build())
685714
.build()) {
715+
// Temp for Breaking Change.
686716
testBigQueryWrite.addResponse(
687717
AppendRowsResponse.newBuilder()
688-
.setOffset(0)
718+
// .setOffset(0)
689719
.setUpdatedSchema(UPDATED_TABLE_SCHEMA)
690720
.build());
691-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(2).build());
692-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(3).build());
721+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(2).build());
722+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset(3).build());
723+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
724+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
693725
// First append
694726
JSONObject foo = new JSONObject();
695727
foo.put("foo", "allen");
@@ -703,8 +735,11 @@ public void testSchemaUpdateWithNonemptyBatch() throws Exception {
703735
ApiFuture<AppendRowsResponse> appendFuture3 =
704736
writer.append(jsonArr, -1, /* allowUnknownFields */ false);
705737

706-
assertEquals(0L, appendFuture1.get().getOffset());
707-
assertEquals(1L, appendFuture2.get().getOffset());
738+
// Temp for Breaking Change.
739+
// assertEquals(0L, appendFuture1.get().getOffset());
740+
// assertEquals(1L, appendFuture2.get().getOffset());
741+
appendFuture1.get();
742+
appendFuture2.get();
708743
assertEquals(
709744
2,
710745
testBigQueryWrite
@@ -730,7 +765,9 @@ public void testSchemaUpdateWithNonemptyBatch() throws Exception {
730765
.getSerializedRows(1),
731766
FooType.newBuilder().setFoo("allen").build().toByteString());
732767

733-
assertEquals(2L, appendFuture3.get().getOffset());
768+
// Temp for Breaking Change.
769+
// assertEquals(2L, appendFuture3.get().getOffset());
770+
appendFuture3.get();
734771
assertEquals(
735772
1,
736773
testBigQueryWrite
@@ -768,7 +805,9 @@ public void testSchemaUpdateWithNonemptyBatch() throws Exception {
768805
ApiFuture<AppendRowsResponse> appendFuture4 =
769806
writer.append(updatedJsonArr, -1, /* allowUnknownFields */ false);
770807

771-
assertEquals(3L, appendFuture4.get().getOffset());
808+
// Temp for Breaking Change.
809+
// assertEquals(3L, appendFuture4.get().getOffset());
810+
appendFuture4.get();
772811
assertEquals(
773812
1,
774813
testBigQueryWrite
@@ -813,7 +852,10 @@ public void testMultiThreadAppendNoSchemaUpdate() throws Exception {
813852
int thread_nums = 5;
814853
Thread[] thread_arr = new Thread[thread_nums];
815854
for (int i = 0; i < thread_nums; i++) {
816-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset((long) i).build());
855+
// Temp for Breaking Change.
856+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset((long)
857+
// i).build());
858+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
817859
offsetSets.add((long) i);
818860
Thread t =
819861
new Thread(
@@ -823,8 +865,9 @@ public void run() {
823865
ApiFuture<AppendRowsResponse> appendFuture =
824866
writer.append(jsonArr, -1, /* allowUnknownFields */ false);
825867
AppendRowsResponse response = appendFuture.get();
826-
offsetSets.remove(response.getOffset());
868+
// offsetSets.remove(response.getOffset());
827869
} catch (Exception e) {
870+
828871
LOG.severe("Thread execution failed: " + e.getMessage());
829872
}
830873
}
@@ -836,7 +879,7 @@ public void run() {
836879
for (int i = 0; i < thread_nums; i++) {
837880
thread_arr[i].join();
838881
}
839-
assertTrue(offsetSets.size() == 0);
882+
// assertTrue(offsetSets.size() == 0);
840883
for (int i = 0; i < thread_nums; i++) {
841884
assertEquals(
842885
1,
@@ -878,14 +921,17 @@ public void testMultiThreadAppendWithSchemaUpdate() throws Exception {
878921
Thread[] thread_arr = new Thread[numberThreads];
879922
for (int i = 0; i < numberThreads; i++) {
880923
if (i == 2) {
924+
// Temp for Breaking Change.
881925
testBigQueryWrite.addResponse(
882926
AppendRowsResponse.newBuilder()
883-
.setOffset((long) i)
927+
// .setOffset((long) i)
884928
.setUpdatedSchema(UPDATED_TABLE_SCHEMA)
885929
.build());
886930
} else {
887-
testBigQueryWrite.addResponse(
888-
AppendRowsResponse.newBuilder().setOffset((long) i).build());
931+
// Temp for Breaking Change.
932+
// testBigQueryWrite.addResponse(
933+
// AppendRowsResponse.newBuilder().setOffset((long) i).build());
934+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
889935
}
890936

891937
offsetSets.add((long) i);
@@ -897,7 +943,7 @@ public void run() {
897943
ApiFuture<AppendRowsResponse> appendFuture =
898944
writer.append(jsonArr, -1, /* allowUnknownFields */ false);
899945
AppendRowsResponse response = appendFuture.get();
900-
offsetSets.remove(response.getOffset());
946+
// offsetSets.remove(response.getOffset());
901947
} catch (Exception e) {
902948
LOG.severe("Thread execution failed: " + e.getMessage());
903949
}
@@ -910,7 +956,7 @@ public void run() {
910956
for (int i = 0; i < numberThreads; i++) {
911957
thread_arr[i].join();
912958
}
913-
assertTrue(offsetSets.size() == 0);
959+
// assertTrue(offsetSets.size() == 0);
914960
for (int i = 0; i < numberThreads; i++) {
915961
assertEquals(
916962
1,
@@ -945,7 +991,10 @@ public void run() {
945991
jsonArr2.put(foo);
946992

947993
for (int i = numberThreads; i < numberThreads + 5; i++) {
948-
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset((long) i).build());
994+
// Temp for Breaking Change.
995+
// testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().setOffset((long)
996+
// i).build());
997+
testBigQueryWrite.addResponse(AppendRowsResponse.newBuilder().build());
949998
offsetSets.add((long) i);
950999
Thread t =
9511000
new Thread(
@@ -968,7 +1017,7 @@ public void run() {
9681017
for (int i = 0; i < numberThreads; i++) {
9691018
thread_arr[i].join();
9701019
}
971-
assertTrue(offsetSets.size() == 0);
1020+
// assertTrue(offsetSets.size() == 0);
9721021
for (int i = 0; i < numberThreads; i++) {
9731022
assertEquals(
9741023
1,

0 commit comments

Comments
 (0)