KYLIN-1563 Unsafe check of initiated in HybridInstance#init
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/8e10852a Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/8e10852a Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/8e10852a Branch: refs/heads/master Commit: 8e10852aa4059671d890b3bb3220887dc510c6a9 Parents: 16ff672 Author: shaofengshi <shaofeng...@apache.org> Authored: Fri Apr 8 17:07:32 2016 +0800 Committer: shaofengshi <shaofeng...@apache.org> Committed: Wed Apr 13 11:03:06 2016 +0800 ---------------------------------------------------------------------- .../java/org/apache/kylin/storage/hybrid/HybridInstance.java | 8 +++----- .../kylin/rest/security/PasswordPlaceholderConfigurer.java | 2 ++ 2 files changed, 5 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/8e10852a/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java ---------------------------------------------------------------------- diff --git a/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java b/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java index 251f7c9..5b4682b 100644 --- a/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java +++ b/core-storage/src/main/java/org/apache/kylin/storage/hybrid/HybridInstance.java @@ -64,7 +64,7 @@ public class HybridInstance extends RootPersistentEntity implements IRealization @JsonProperty("cost") private int cost = 50; - private IRealization[] realizations = null; + private volatile IRealization[] realizations = null; private List<TblColRef> allDimensions = null; private List<TblColRef> allColumns = null; private List<MeasureDesc> allMeasures = null; @@ -72,7 +72,6 @@ public class HybridInstance extends RootPersistentEntity implements IRealization private long dateRangeEnd; private boolean isReady = false; - private boolean initiated = false; private final static Logger logger = LoggerFactory.getLogger(HybridInstance.class); public List<RealizationEntry> getRealizationEntries() { @@ -91,11 +90,11 @@ public class HybridInstance extends RootPersistentEntity implements IRealization } private void init() { - if (initiated == true) + if (realizations != null) return; synchronized (this) { - if (initiated == true) + if (realizations != null) return; if (realizationEntries == null || realizationEntries.size() == 0) @@ -163,7 +162,6 @@ public class HybridInstance extends RootPersistentEntity implements IRealization }); this.realizations = realizationList.toArray(new IRealization[realizationList.size()]); - initiated = true; } } http://git-wip-us.apache.org/repos/asf/kylin/blob/8e10852a/server/src/main/java/org/apache/kylin/rest/security/PasswordPlaceholderConfigurer.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/kylin/rest/security/PasswordPlaceholderConfigurer.java b/server/src/main/java/org/apache/kylin/rest/security/PasswordPlaceholderConfigurer.java index 0c4690f..9248ef7 100644 --- a/server/src/main/java/org/apache/kylin/rest/security/PasswordPlaceholderConfigurer.java +++ b/server/src/main/java/org/apache/kylin/rest/security/PasswordPlaceholderConfigurer.java @@ -89,9 +89,11 @@ public class PasswordPlaceholderConfigurer extends PropertyPlaceholderConfigurer String encryptMethod = args[0]; String passwordTxt = args[1]; if ("AES".equalsIgnoreCase(encryptMethod)) { + // for encrypt password like LDAP password System.out.println(encryptMethod + " encrypted password is: "); System.out.println(encrypt(passwordTxt)); } else if ("BCrypt".equalsIgnoreCase(encryptMethod)) { + // for encrypt the predefined user password, like ADMIN, MODELER. BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); System.out.println(encryptMethod + " encrypted password is: "); System.out.println(bCryptPasswordEncoder.encode(passwordTxt));