You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Kadir OZDEMIR (JIRA)" <ji...@apache.org> on 2018/12/21 00:43:00 UTC

[jira] [Created] (PHOENIX-5076) DROP TABLE and DROP VIEW commands fail to drop second or higher level child views

Kadir OZDEMIR created PHOENIX-5076:
--------------------------------------

             Summary: DROP TABLE and DROP VIEW commands fail to drop second or higher level child views
                 Key: PHOENIX-5076
                 URL: https://issues.apache.org/jira/browse/PHOENIX-5076
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.14.0
            Reporter: Kadir OZDEMIR


We have seen large number of orphan views in our production environments. We know that if the metadata operations involve in updating multiple rows and these operations are interrupted because of failures, we do not have a way of auto-recovering from these failures and completing these interrupted operations. Our tables can have views and these views can have their views recursively. Multiple levels of views are not rare in our production clusters. While failures during drop table operation can lead to orphan views, they are not sufficient to explain why we experience large number of orphan views. 
 
It turns out that the method (doDropTable) that is used to drop tables and views drops only the first level child views of tables. This seems to be the main root cause for orphan views. doDropTable() is recursive only when the table type is TABLE or SYSTEM. The table type for views is VIEW. The findChildViews method returns the first level child views. So, doDropTable ignores dropping views of views (i.e., second or higher level views).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)