Open clongnguyen6 opened 6 months ago
Is the error transient?
Is the error transient? No, the error is not transient It occurs frequently in the pipeline logs
Since this is a streaming job, is the job often stuck? I also suggest you open a GCP support ticket (https://cloud.google.com/dataflow/docs/support/getting-support). I have seen some issues similar to this but they are often caused by some Java package mismatches.
Since this is a streaming job, is the job often stuck? I also suggest you open a GCP support ticket (https://cloud.google.com/dataflow/docs/support/getting-support). I have seen some issues similar to this but they are often caused by some Java package mismatches.
The job is not stuck and is running normally, but the error logs are quite annoying.
@liferoad, Sorry because the above information is not correct, the Job will be stuck.
The trackstace points to here: https://github.com/apache/beam/blob/8c6e1a4654bced7bf732e1a46092908580da561b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryServicesImpl.java#L1459
indicates the client is already closed when one trying to write records via "StorageApiWritesShardedRecords".
"closed" could only be true when StreamAppendClient.close is called.
Sounds like some racing condition happened there.
Note that "WritesShardedRecords" is used to write spilled records that not handled by "WritesUnShardedRecords" and is a less execised code.
In any case, open a support ticket so cloud support could inspect your job ID. I see a public bug opened for https://b.corp.google.com/issues/345352979 this is not a usual process
The trackstace points to here:
indicates the client is already closed when one trying to write records via "StorageApiWritesShardedRecords".
"closed" could only be true when StreamAppendClient.close is called.
Sounds like some racing condition happened there.
Note that "WritesShardedRecords" is used to write spilled records that not handled by "WritesUnShardedRecords" and is a less execised code.
In any case, open a support ticket so cloud support could inspect your job ID. I see a public bug opened for https://b.corp.google.com/issues/345352979 this is not a usual process
I created a GCP support ticket.
There are two places closing the client:
Apparent racing condition most likely client already marked closed here, then in
it tries to use the client and fails precondition.
It's hard to locate where the client get closed (async and lambda programming code style). Basically, there is a APPEND_CLIENTS cache:
removal of cache item will trigger appendClientInfo.close
which calls getCloseAppendClient().accept(client)
that is the code above.
Then what happens is the cache entry contains the client get invalidated before it's going to be used again.
What happened?
I am running a Beam pipeline in Google Dataflow (Beam SDK version
2.56.0
) that reads messages from Pub/Sub and writes data to a BigQuery table using the STORAGE_WRITE_API method. This is the BigQueryIO configuration I'm using:I observed an IllegalStateException error in the pipeline logs when running load test:
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
Issue Components