Benoy Antony created HADOOP-10852:
-------------------------------------

             Summary: NetgroupCache is not thread-safe
                 Key: HADOOP-10852
                 URL: https://issues.apache.org/jira/browse/HADOOP-10852
             Project: Hadoop Common
          Issue Type: Bug
          Components: security
    Affects Versions: 2.4.1
            Reporter: Benoy Antony
            Assignee: Benoy Antony


_NetgroupCache_ internally uses two _ConcurrentHashMap_s and a boolean variable 
to signal updates on one of the _ConcurrentHashMap_s 
None of the functions are synchronized  and hence is possible to have 
unexpected results due to race condition between different threads.

As an example, consider the following sequence:

Thread1 :
{{add}} a group
{{netgroupToUsersMap}} is updated.
{{netgroupToUsersMapUpdated}} is set to true.
Thread 2:
calls {{getNetgroups}} for a user
Due to re-ordering, {{netgroupToUsersMapUpdated=true}} is visible, but updates 
in {{netgroupToUsersMap}} is not visible.
Does a wrong update with older {{netgroupToUsersMap}} values. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to