Huaiyong Fu created STORM-2750:
----------------------------------

             Summary: fix HBaseSecurityUtil double_checked
                 Key: STORM-2750
                 URL: https://issues.apache.org/jira/browse/STORM-2750
             Project: Apache Storm
          Issue Type: Bug
            Reporter: Huaiyong Fu


update HBaseSecurityUtil singleton to fix double_checked 

Double-Checked Locking is widely cited and used as an efficient method for 
implementing lazy initialization in a multithreaded environment.
Unfortunately, it will not work reliably in a platform independent way when 
implemented in Java, without additional synchronization. When implemented in 
other languages, such as C++, it depends on the memory model of the processor, 
the reorderings performed by the compiler and the interaction between the 
compiler and the synchronization library. Since none of these are specified in 
a language such as C++, little can be said about the situations in which it 
will work. Explicit memory barriers can be used to make it work in C++, but 
these barriers are not available in Java.
See url link for details: 
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to