[
https://issues.apache.org/jira/browse/SENTRY-1961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16179165#comment-16179165
]
Na Li commented on SENTRY-1961:
-------------------------------
the key of matching is a list of KayValue instead of serialized string. And
each string in KayValue is interned. So all strings of the same value are using
the same instance. The privilege object is used in map. So the same privilege
does not result in multiple copies of string in the map. code review link is
attached in this case.
> Optimize memory usage for SimplePrivilegeCache
> -----------------------------------------------
>
> Key: SENTRY-1961
> URL: https://issues.apache.org/jira/browse/SENTRY-1961
> Project: Sentry
> Issue Type: Task
> Components: Sentry
> Affects Versions: 2.0.0
> Reporter: Na Li
> Assignee: Na Li
>
> The implementation of SimplePrivilegeCache and in particular the 2
> map<String, Set<String>> fields, cachedAuthzPrivileges and wildCardAuthz is
> not memory efficient. The strings stored in these structures can be quite
> long e.g. (server=server1->database=b1,
> (server=server1->database=b1->action=insert)). For really big installations
> with lots of entities (roles and privileges) these fields may end up taking
> some non-substantial amount of memory.
> We should come up with of a more efficient memory representation to implement
> PrivilegeCache
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)