You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "Shawn Chang (Jira)" <ji...@apache.org> on 2025/02/17 18:55:00 UTC

[jira] [Created] (HUDI-9039) Unneeded lock contention

Shawn Chang created HUDI-9039:
---------------------------------

             Summary: Unneeded lock contention
                 Key: HUDI-9039
                 URL: https://issues.apache.org/jira/browse/HUDI-9039
             Project: Apache Hudi
          Issue Type: Bug
            Reporter: Shawn Chang


An EMR Hudi user reported that when upgrading from 0.8 to 0.15, with their existing multi-writer setup, they saw many lock contentions like below that they didn't have in 0.8.0:

 
{code:java}
org.apache.hudi.exception.HoodieLockException: Unable to acquire lock, lock object null
    at org.apache.hudi.client.transaction.lock.LockManager.lock(LockManager.java:91)
    at org.apache.hudi.client.transaction.TransactionManager.beginTransaction(TransactionManager.java:59)
    at org.apache.hudi.client.BaseHoodieWriteClient.doInitTable(BaseHoodieWriteClient.java:1248)
    at org.apache.hudi.client.BaseHoodieWriteClient.initTable(BaseHoodieWriteClient.java:1291)
    at org.apache.hudi.client.SparkRDDWriteClient.upsert(SparkRDDWriteClient.java:154) {code}
This is likely because of BaseHoodieWriteClient in Hudi tries upgrade and init MDT for every write, even when upgrade is not needed or MDT is not enabled. See LOC: https://github.com/apache/hudi/blob/f9b26dad4fcbf9d026aa31ae10ffa51a0db37935/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java#L1302

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)