-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SUPPORT] Occasional delay in write stages w/ upsert operation #11821
Comments
I saved a thread dump but here is a screenshot of the thread dump for the executor, which suggests that it's getting hung up here: https://github.com/apache/hudi/blob/release-0.11.1/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java#L147 |
My speculation is that it is because of the false positive of bloom_filter index, while because you are still using 0.11 release, maybe you can try simple index instead. |
Thanks for the response! Is there any way to confirm the fp rate? |
There is a stage named like "buildPartitionProfile" which would take long time if the fp happens. |
Thanks. Switching to SIMPLE index doesn't seem to help. Job fails at the following job and stage: The task logs show OOM error:
For settings, I set simple index and upsert parallelism to 1500, but it doesn't seem to be using that setting here. Are there any HUDI config knobs you recommend tweaking to increase the throughput here? |
Tips before filing an issue
Have you gone through our FAQs?
Join the mailing list to engage in conversations and get faster support at dev-subscribe@hudi.apache.org.
If you have triaged this as a bug, then file an issue directly.
We're experiencing a strange issue when deleting records from a table with an UPSERT command. We're noticing, that occasionally, our job will get stuck on the
Doing partition and writing data
stage for multiple hours. We generally see this vary between 5 - 30 minutes, but will sometimes see this take several hours. For example, in this screen shot, the one task took 5-ish hours (the remaining tasks were skipped).Our job runs in a loop and works of batches of data, so it is a long running job. We have not yet identified commonalities in the data batches when we run into this. We have not observed high CPU, OOM, loss of data nodes or high datanode space usage, during this time.
We do not see any errors in the driver application logs or the executor/task logs that indicate that something is going wrong. We do see a lot heartbeat files that are written during this time. Digging into the task logs for an example task that took a long time. We see something like:
The next time we see this task id in the logs, we see:
Note the 5th line that says that elapsed seconds (6699 = 1.86 hours). When looking at the uploaded file in question, I notice that it is about ~800MB in size. Is it expected that such a file size would bottleneck the job like this?
Here's the config we're using (with sensitive info redacted):
Environment Description
Hudi version : 0.11.1
Spark version : 3.2.1
Hive version : 3.1.3
Hadoop version : 3.2.1
Storage (HDFS/S3/GCS..) : S3
Running on Docker? (yes/no) : no
Happy to provide more info. Thanks!
Editing to add cluster specifics:
The text was updated successfully, but these errors were encountered: