Description
Concurrent DML operations occasionally block on metastoreDdlLock_, for cases where a user is dropping a table with a large number of partitions other operations trying to create a table in a different database block on metastoreDdlLock_
Partitioning the lock by database should help a lot, but ideally it should be hierarchal.
"Thread-197" #250 prio=5 os_prio=0 tid=0x000000000ef00000 nid=0x88af waiting for monitor entry [0x00007f1e9eb44000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.impala.service.CatalogOpExecutor.createTable(CatalogOpExecutor.java:1666) - waiting to lock <0x00000003c066aa90> (a java.lang.Object) at org.apache.impala.service.CatalogOpExecutor.createTable(CatalogOpExecutor.java:1543) at org.apache.impala.service.CatalogOpExecutor.execDdlRequest(CatalogOpExecutor.java:274) at org.apache.impala.service.JniCatalog.execDdl(JniCatalog.java:147)