What happened?
For unbounded collections and FileLoads writing method default value for maxRetryJobs is 1000. It delays step failure if the error is permanent, for example if TableRow contains timestamp field with invalid value (out of accepted range).
I found the following comment in the code:
// When running in streaming (unbounded mode) we want to retry failed load jobs
// indefinitely. Failing the bundle is expensive, so we set a fairly high limit on retries.
if (IsBounded.UNBOUNDED.equals(input.isBounded())) {
batchLoads.setMaxRetryJobs(getMaxRetryJobs());
}
public static <T> Write<T> write() {
return new AutoValue_BigQueryIO_Write.Builder<T>()
...
.setMaxRetryJobs(1000)
...
.build()
I would expect:
- no retries for persistent errors
- a few retries for transient errors but much less than 1000
In addition the Documentation is far for complete:
- No information that settings is only applicable for FileLoads
- No information about behaviour if maxRetryJobs is not specified
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components
What happened?
For unbounded collections and FileLoads writing method default value for maxRetryJobs is 1000. It delays step failure if the error is permanent, for example if TableRow contains timestamp field with invalid value (out of accepted range).
I found the following comment in the code:
I would expect:
In addition the Documentation is far for complete:
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components