Repository: incubator-sentry
Updated Branches:
  refs/heads/master d2913b8d5 -> 6052eb2d8


SENTRY-966: SqoopAuthBindingSingleton uses bad double check locking idiom (Colm 
O hEigeartaigh via Dapeng Sun)


Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/6052eb2d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/6052eb2d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/6052eb2d

Branch: refs/heads/master
Commit: 6052eb2d8b33bed1cb302fd09f360fc3ef13797f
Parents: d2913b8
Author: Sun Dapeng <s...@apache.org>
Authored: Fri Nov 27 09:48:50 2015 +0800
Committer: Sun Dapeng <s...@apache.org>
Committed: Fri Nov 27 09:48:50 2015 +0800

----------------------------------------------------------------------
 .../sqoop/binding/SqoopAuthBindingSingleton.java    | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/6052eb2d/sentry-binding/sentry-binding-sqoop/src/main/java/org/apache/sentry/sqoop/binding/SqoopAuthBindingSingleton.java
----------------------------------------------------------------------
diff --git 
a/sentry-binding/sentry-binding-sqoop/src/main/java/org/apache/sentry/sqoop/binding/SqoopAuthBindingSingleton.java
 
b/sentry-binding/sentry-binding-sqoop/src/main/java/org/apache/sentry/sqoop/binding/SqoopAuthBindingSingleton.java
index 7dd2a28..39e001f 100644
--- 
a/sentry-binding/sentry-binding-sqoop/src/main/java/org/apache/sentry/sqoop/binding/SqoopAuthBindingSingleton.java
+++ 
b/sentry-binding/sentry-binding-sqoop/src/main/java/org/apache/sentry/sqoop/binding/SqoopAuthBindingSingleton.java
@@ -19,7 +19,6 @@ package org.apache.sentry.sqoop.binding;
 import java.net.MalformedURLException;
 import java.net.URL;
 
-import org.apache.hadoop.conf.Configuration;
 import org.apache.sentry.sqoop.conf.SqoopAuthConf;
 import org.apache.sentry.sqoop.conf.SqoopAuthConf.AuthzConfVars;
 import org.apache.sqoop.core.SqoopConfiguration;
@@ -31,7 +30,11 @@ import com.google.common.base.Strings;
 
 public class SqoopAuthBindingSingleton {
   private static Logger log = 
LoggerFactory.getLogger(SqoopAuthBindingSingleton.class);
-  private static SqoopAuthBindingSingleton instance = null;
+
+  // Lazy init holder class idiom to avoid DTL
+  private static class SqoopAuthBindingSingletonHolder {
+    static final SqoopAuthBindingSingleton instance = new 
SqoopAuthBindingSingleton();
+  }
 
   private SqoopAuthBinding binding;
 
@@ -83,14 +86,7 @@ public class SqoopAuthBindingSingleton {
   }
 
   public static SqoopAuthBindingSingleton getInstance() {
-    if (instance == null) {
-      synchronized (SqoopAuthBindingSingleton.class) {
-        if (instance == null) {
-          instance = new SqoopAuthBindingSingleton();
-        }
-      }
-    }
-    return instance;
+    return SqoopAuthBindingSingletonHolder.instance;
   }
 
   public SqoopAuthBinding getAuthBinding() {

Reply via email to