Per Böckman created BEAM-8851:
---------------------------------
Summary: Dataflow BiqQuery TimePartitioning integer overflow
Key: BEAM-8851
URL: https://issues.apache.org/jira/browse/BEAM-8851
Project: Beam
Issue Type: Bug
Components: io-java-gcp
Affects Versions: 2.16.0
Environment: GCP
Reporter: Per Böckman
BigQueryIO.writeTableRows()....withTimePartitioning() seems to fail to create a
new BQ table if TimePartitioning expirationMs is bigger than max int.
TimePartitioning.setExpirationMs accepts a long and if the expiry time is set
to one month (86400 * 1000 * 30 = 2592000000 ms) the BQ server responds with a
400 and the error indicates an integer overflow.
exception: "org.apache.beam.sdk.util.UserCodeException:
java.lang.RuntimeException:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad
Request \{ "code" : 400, "errors" : [ { "domain" : "global", "message" : "TTL
for interval partition must be a positive number.", "reason" : "invalid" } ],
"message" : "TTL for interval partition must be a positive number.", "status" :
"INVALID_ARGUMENT" }
at org.apache.beam.sdk.util.UserCodeException.wrap(UserCodeException.java:34)
at
org.apache.beam.sdk.io.gcp.bigquery.CreateTables$CreateTablesFn$DoFnInvoker.invokeProcessElement(Unknown
Source) at
org.apache.beam.runners.dataflow.worker.repackaged.org.apache.beam.runners.core.SimpleDoFnRunner.invokeProcessElement(SimpleDoFnRunner.java:218)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)