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

Sam Tunnicliffe commented on CASSANDRA-16914:
---------------------------------------------

The VTs here are more fine grained than they need to be, i.e. than the caches 
themselves and their nodetool equivalents. 
For instance, we don't cache or enable the invalidation of individual 
permissions, so modelling the perms cache table with individual permissions as 
clustering columns is unnecessary. The underlying cache impl and {{nodetool 
invalidatepermissionscache}} work on the level of role + resource, so I would 
suggest modelling the VT likewise with Role as partition key and resource as 
the clustering column. 

Whether the actual permissions themselves even need to be included in the VT is 
a valid question IMO. It could be argued that the purpose of this set of VTs is 
not to expose the full set of cached data, but to provide a way to invalidate 
cached items, i.e. these VTs represent the _commands_ rather than the 
_contents_. If we agree with that, then only the cache keys need to be exposed 
via the VTs. The counter argument would be that a difference in the models of 
the base auth tables and the cache VTs could be confusing (though there are 
already differences in your proposal).


> Implement Virtual Tables for Auth Caches
> ----------------------------------------
>
>                 Key: CASSANDRA-16914
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16914
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Feature/Authorization, Feature/Virtual Tables
>            Reporter: Aleksei Zotov
>            Assignee: Aleksei Zotov
>            Priority: Low
>             Fix For: 4.x
>
>
> {{NodeTool}} commands for Auth Caches invalidation were implemented as a part 
> of CASSANDRA-16404 ticket. While discussing that ticket it was agreed that 
> there is a need to develop the same kind of functionality through Vitrual 
> Tables. Unfortunately, VT did not have {{TRUNCATE}} and {{DELETE}} support. 
> And CASSANDRA-16806 was created for that reason. Once it is completed, 
> further work can be started.
> The goal of this ticket is to create VTs for the following caches:
>  * {{CredentialsCache}}
>  * {{JmxPermissionsCache}}
>  * {{NetworkPermissionsCache}}
>  * {{PermissionsCache}}
>  * {{RolesCache}}
> The VTs should support reading from and modification of the in the Auth 
> Caches.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to