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)