You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Chinmay Kulkarni (Jira)" <ji...@apache.org> on 2020/08/12 00:01:19 UTC

[jira] [Created] (PHOENIX-6072) SYSTEM.MUTEX not created with a TTL on a fresh cluster connected to by a 4.15+ client

Chinmay Kulkarni created PHOENIX-6072:
-----------------------------------------

             Summary: SYSTEM.MUTEX not created with a TTL on a fresh cluster connected to by a 4.15+ client
                 Key: PHOENIX-6072
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6072
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.15.0, 5.0.0
            Reporter: Chinmay Kulkarni
             Fix For: 5.1.0, 4.16.0


If you have a fresh cluster that is directly connected to via a 4.15+ client, then SYSTEM.MUTEX gets created without a TTL (See [this|https://github.com/apache/phoenix/blob/a99db61cd82ae2b83add2a1bd74fd80baa5c91c7/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L3335]) The SYSTEM.MUTEX [DDL|https://github.com/apache/phoenix/blob/a99db61cd82ae2b83add2a1bd74fd80baa5c91c7/phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java#L367-L379] does not specify a TTL.

This will obviously be a problem when a client does any operation that requires writing a cell to SYSTEM.MUTEX via checkAndPut (like add/drop column, create view, etc.) and dies/gets disconnected before being able to delete the mutex cell. 

After that point, since the cell will stay written and never be TTL’ed, any operation which requires a checkAndPut on that cell will always fail with a ConcurrentTableMutationException, deeming any further add/drop cols or create view for the same name impossible.



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