You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Hao Zhong (JIRA)" <ji...@apache.org> on 2017/04/05 07:33:41 UTC

[jira] [Commented] (CASSANDRA-13358) AlterViewStatement.checkAccess can throw exceptions

    [ https://issues.apache.org/jira/browse/CASSANDRA-13358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15956442#comment-15956442 ] 

Hao Zhong commented on CASSANDRA-13358:
---------------------------------------

I modified the code according to the Cassandra style. Although the original code has an if check, it can avoid only NPE, not InvalidRequestException. As a result, the patch is still necessary. 

> AlterViewStatement.checkAccess can throw exceptions
> ---------------------------------------------------
>
>                 Key: CASSANDRA-13358
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13358
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Hao Zhong
>            Assignee: Hao Zhong
>             Fix For: 2.1.18
>
>         Attachments: cassandra.patch
>
>
> The AlterViewStatement.checkAccess method has code lines as follow:
> {code:title=AlterViewStatement.java|borderStyle=solid}
>   if (baseTable != null)
>             state.hasColumnFamilyAccess(keyspace(), baseTable.name, Permission.ALTER);
> {code}
> These lines can throw InvalidRequestException. Indeed, DropTableStatement.checkAccess has a similar problem, and was fixed in CASSANDRA-6687. The fixed code is as follow:
> {code:title=DropTableStatement.java|borderStyle=solid}
>  try
>         {
>             state.hasColumnFamilyAccess(keyspace(), columnFamily(), Permission.DROP);
>         }
>         catch (InvalidRequestException e)
>         {
>             if (!ifExists)
>                 throw e;
>         }
> {code}
> Please fix the problem as CASSANDRA-6687 did.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)