You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Zoltán Borók-Nagy (Jira)" <ji...@apache.org> on 2020/10/14 18:34:00 UTC

[jira] [Created] (IMPALA-10243) ConcurrentModificationException during parallel INSERTs

Zoltán Borók-Nagy created IMPALA-10243:
------------------------------------------

             Summary: ConcurrentModificationException during parallel INSERTs
                 Key: IMPALA-10243
                 URL: https://issues.apache.org/jira/browse/IMPALA-10243
             Project: IMPALA
          Issue Type: Bug
            Reporter: Zoltán Borók-Nagy
            Assignee: Zoltán Borók-Nagy


Impala might throw a ConcurrentModificationException during a high load of INSERTs to the same table.

The exception happens during thrift serialization of TUpdateCatalogResponse which have a reference to the metastore table. The serialization happens without a lock, so another thread might modify the metastore table object in the meantime. This can potentially happen in CatalogOpExecutor.updateCatalog() which updates the catalog version and unsets table column statistics. A high load of INSERT statements increase the probability of the concurrent modification.

I think the problem is that in Table.toThrift() we set a reference to the metastore table object instead of deep copying it:

https://github.com/apache/impala/blob/481ea4ab0d476a4aa491f99c2a4e376faddc0b03/fe/src/main/java/org/apache/impala/catalog/Table.java#L505



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org