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/10/15 23:33:00 UTC

[jira] [Created] (PHOENIX-6191) We should also do checkAndPut checks on SYSTEM.MUTEX when creating a view which has its own new columns

Chinmay Kulkarni created PHOENIX-6191:
-----------------------------------------

             Summary: We should also do checkAndPut checks on SYSTEM.MUTEX when creating a view which has its own new columns
                 Key: PHOENIX-6191
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6191
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.15.0, 5.0.0
            Reporter: Chinmay Kulkarni
             Fix For: 5.1.0, 4.16.0


Currently, when creating a view we do conditional writes with a checkAndPut to SYSTEM.MUTEX for the keys:
(<physical parent's schema name>, <physical parent's table name>, <column name>)

for each column in the view WHERE clause. Similarly, when issuing an ALTER TABLE/VIEW, we do a conditional write with a checkAndPut to SYSTEM.MUTEX for the key:
(<physical parent's schema name>, <physical parent's table name>, <name of the column to add/drop>)

to prevent conflicting modifications between a base table/view and its child views. However, if we create a view with its own new columns, for ex:
{code:sql}
CREATE VIEW V1 (NEW_COL1 INTEGER, NEW_COL2 INTEGER) AS SELECT * FROM T1 WHERE B = 10;
{code}
we will not do a checkAndPut with the new columns being added to the view (NEW_COL1 and NEW_COL2) thus conflicting concurrent mutations may occur to a parent in this case. 




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