SENTRY-913: Thread safe improvement for sqoop binding singleton (Dapeng Sun, reviewed by Guoquan Shen)
Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/60e9b541 Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/60e9b541 Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/60e9b541 Branch: refs/heads/hive_plugin_v2 Commit: 60e9b541a6024e9fac6beadd7c771f69b2ba129f Parents: c69350b Author: Sun Dapeng <s...@apache.org> Authored: Wed Oct 14 15:59:59 2015 +0800 Committer: Sun Dapeng <s...@apache.org> Committed: Mon Nov 2 16:37:12 2015 +0800 ---------------------------------------------------------------------- .../sentry/sqoop/binding/SqoopAuthBindingSingleton.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/60e9b541/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 bdd60a4..7dd2a28 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 @@ -83,10 +83,13 @@ public class SqoopAuthBindingSingleton { } public static SqoopAuthBindingSingleton getInstance() { - if (instance != null) { - return instance; + if (instance == null) { + synchronized (SqoopAuthBindingSingleton.class) { + if (instance == null) { + instance = new SqoopAuthBindingSingleton(); + } + } } - instance = new SqoopAuthBindingSingleton(); return instance; }