Nikolai Romanov created BEAM-12449:
--------------------------------------

             Summary: OutOfMemoryError in GoogleDataflow pipeline in 2.29.0
                 Key: BEAM-12449
                 URL: https://issues.apache.org/jira/browse/BEAM-12449
             Project: Beam
          Issue Type: Bug
          Components: io-java-gcp
    Affects Versions: 2.29.0
            Reporter: Nikolai Romanov


Our pipeline reads data from PubSub and writes it to BigQuery.

When we updated our beam version to 2.29.0 we started  having  lots of errors 
like
{quote}"*~*~*~ Channel ManagedChannelImpl\{logId=59, 
target=bigquerystorage.googleapis.com:443} was not shutdown properly!!! ~*~*~*
{quote}
which is already mentioned in tickets:

https://issues.apache.org/jira/browse/BEAM-12365
https://issues.apache.org/jira/browse/BEAM-12356

But for us the worst thing was the fact we started having lots of 
OutOfMemoryError errors:

{code:JSON}
{
  "insertId": "3218987470810364545:19344:0:33525266",
  "jsonPayload": {
    "thread": "36781",
    "job": "2021-06-02_05_56_45-14040068175423437671",
    "stage": "P2",
    "exception": "java.lang.OutOfMemoryError: unable to create native thread: 
possibly out of memory or process/resource limits reached\n\tat 
java.base/java.lang.Thread.start0(Native Method)\n\tat 
java.base/java.lang.Thread.start(Thread.java:803)\n\tat 
java.base/java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:937)\n\tat
 
java.base/java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1005)\n\tat
 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat
 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)\n\tat
 java.base/java.lang.Thread.run(Thread.java:834)\n",
    "work": "ac872063622e9bea-1fc5c3cfe1c5e604",
    "logger": "org.apache.beam.runners.dataflow.worker.StreamingDataflowWorker",
    "worker": "text-events-processor-06020556-7d78-harness-b3z1",
    "message": "Uncaught exception in main thread. Exiting with status code 1."
  },
  "resource": {
    "type": "dataflow_step",
    "labels": {
      "project_id": "bolcom-stg-trex-c7d",
      "job_name": "text-events-processor",
      "region": "europe-west1",
      "job_id": "2021-06-02_05_56_45-14040068175423437671",
      "step_id": ""
    }
  },
  "timestamp": "2021-06-02T22:28:07.363Z",
  "severity": "ERROR",
  "labels": {
    "dataflow.googleapis.com/job_id": 
"2021-06-02_05_56_45-14040068175423437671",
    "compute.googleapis.com/resource_id": "3218987470810364545",
    "compute.googleapis.com/resource_name": 
"text-events-processor-06020556-7d78-harness-b3z1",
    "dataflow.googleapis.com/region": "europe-west1",
    "dataflow.googleapis.com/log_type": "supportability",
    "compute.googleapis.com/resource_type": "instance",
    "dataflow.googleapis.com/job_name": "text-events-processor"
  },
  "logName": 
"projects/bolcom-stg-trex-c7d/logs/dataflow.googleapis.com%2Fworker",
  "receiveTimestamp": "2021-06-02T22:28:09.656481597Z"
}
{code}

I suspect that these two errors are related, but I think OutOfMemory shouldn't 
be ignored at all.

We had to rollback to 2.28.0. The pipeline works fine now, without any errors.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to