[ https://issues.apache.org/jira/browse/PHOENIX-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16968930#comment-16968930 ]
Hudson commented on PHOENIX-5544: --------------------------------- SUCCESS: Integrated in Jenkins build Phoenix-4.x-HBase-1.4 #301 (See [https://builds.apache.org/job/Phoenix-4.x-HBase-1.4/301/]) PHOENIX-5544: Dropping a base table with cascade with an older client (chinmayskulkarni: rev 0bf22da31ac7c07f4331bc5f6e14fb5b5b233a17) * (edit) phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataProtocol.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/util/ViewUtil.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/query/DelegateConnectionQueryServices.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java > Dropping a base table with cascade with an older client does not clear all > child view metadata > ---------------------------------------------------------------------------------------------- > > Key: PHOENIX-5544 > URL: https://issues.apache.org/jira/browse/PHOENIX-5544 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.15.0, 5.1.0 > Reporter: Chinmay Kulkarni > Assignee: Chinmay Kulkarni > Priority: Major > Fix For: 4.15.0, 5.1.0 > > Attachments: PHOENIX-5544-4.x-HBase-1.3-v1.patch > > Time Spent: 0.5h > Remaining Estimate: 0h > > 1) Start the HBase server with 4.15.0 Phoenix > 2) Connect with a 4.14 client > 3) Create a base table and a view on top of the base table: > {code:sql} > CREATE TABLE IF NOT EXISTS Z_BASE_TABLE (ID INTEGER NOT NULL PRIMARY KEY, > HOST VARCHAR(10), FLAG BOOLEAN); > CREATE VIEW Z_VIEW1 (col1 INTEGER, col2 INTEGER, col3 INTEGER, col4 INTEGER, > col5 INTEGER) AS SELECT * FROM Z_BASE_TABLE WHERE ID>10; > {code} > 4) Drop the base table with the cascade option: > {code:sql} > DROP TABLE Z_BASE_TABLE CASCADE; > {code} > 5) Metadata for Z_VIEW1 is still there in SYSTEM.CATALOG and should be > removed when trying to recreate the same base table: > {code:sql} > CREATE TABLE IF NOT EXISTS Z_BASE_TABLE (ID INTEGER NOT NULL PRIMARY KEY, > HOST VARCHAR(10), FLAG BOOLEAN); > {code} > 6) This should remove the metadata for Z_VIEW1, but it does not. In fact, you > can now query Z_VIEW1 as if it was a valid view created on top of the new > Z_BASE_TABLE, however there is no parent->child link i.e.: > {code:sql} > SELECT * FROM SYSTEM.CATALOG WHERE LINK_TYPE=4; > {code} > --> Returns no results. > Effectively, Z_VIEW1 is sort of an "orphan" view with child->parent links but > no parent->child links. This is dangerous if a user wants to drop and > recreate a base table, but views from the previous lifetime of the base table > can still be used to interact with the new base table. -- This message was sent by Atlassian Jira (v8.3.4#803005)