damccorm opened a new pull request, #38948: URL: https://github.com/apache/beam/pull/38948
This PR improves the error messages thrown by the BigQuery Storage Write API (both sharded and unsharded paths) when retries are exhausted or when persistent errors are encountered. ### Changes * **Surface Root Cause**: The `RuntimeException` thrown when `AppendRows` retries are exhausted now includes the last encountered error (root cause) in the exception message and propagates it as the cause of the `RuntimeException`. * **Elevate Logging Level**: Elevated the final failure logging to `ERROR` level before throwing the exception, ensuring it is visible even if the log level is set to `ERROR`. * **Actionable Advice**: Added actionable advice to the error message if the error is `PERMISSION_DENIED` or `NOT_FOUND`, suggesting the user check if the destination table exists and if the service account has the necessary `TABLES_UPDATE_DATA` permission. * **Testing**: Added a new parameterized unit test `testStorageApiWriteFailureExhaustedRetries` to `BigQueryIOWriteTest.java` that simulates `AppendRows` failures (using new mock capabilities added to `FakeDatasetService`) and verifies the improved error messages. These changes should significantly reduce troubleshooting time for users encountering write failures with the Storage Write API. -- 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]
