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]