aIbrahiim commented on code in PR #38132:
URL: https://github.com/apache/beam/pull/38132#discussion_r3080423338


##########
sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/StorageApiWriteUnshardedRecords.java:
##########
@@ -850,7 +850,7 @@ long flush(
               boolean hasPersistentErrors =
                   failedContext.getError() instanceof 
Exceptions.StreamFinalizedException
                       || statusCode.equals(Status.Code.INVALID_ARGUMENT)
-                      || statusCode.equals(Status.Code.NOT_FOUND)
+                      || (!this.useDefaultStream && 
statusCode.equals(Status.Code.NOT_FOUND))

Review Comment:
   yeah I'm seeing it in 
StorageApiSinkFailedRowsIT.testSchemaMismatchCaughtByBeam[1] 
(AT_LEAST_ONCE/default stream path). In the failing logs, createNewTable 
succeeds, then append to .../streams/_default immediately returns NOT_FOUND for 
that same table, which lookd like a transient storage API visibility race 
rather than a permanently missing stream so the intent here is to retry 
NOT_FOUND for default stream only and keep it persistent for non default 
streams and also I noticed the current snippet has duplicated NOT_FOUND checks, 
and the unconditional one should be removed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to