You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by am...@apache.org on 2015/05/19 09:54:26 UTC
[4/8] incubator-lens git commit: LENS-522 : Fix
ConcurrentModificationException in FieldValidator (amareshwari)
LENS-522 : Fix ConcurrentModificationException in FieldValidator (amareshwari)
Project: http://git-wip-us.apache.org/repos/asf/incubator-lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-lens/commit/81302fad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/81302fad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/81302fad
Branch: refs/heads/master
Commit: 81302fad5cc904a747214a4ccb6addeb930f7897
Parents: 52d6df6
Author: Amareshwari Sriramadasu <am...@apache.org>
Authored: Thu Apr 23 15:39:00 2015 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Thu Apr 23 15:39:29 2015 +0530
----------------------------------------------------------------------
.../apache/lens/cube/metadata/DerivedCube.java | 22 +++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/81302fad/lens-cube/src/main/java/org/apache/lens/cube/metadata/DerivedCube.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/DerivedCube.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/DerivedCube.java
index ab5dbec..e7012f7 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/DerivedCube.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/DerivedCube.java
@@ -62,24 +62,26 @@ public class DerivedCube extends AbstractCubeTable implements CubeInterface {
this.parent = parent;
}
- private Set<CubeMeasure> cachedMeasures;
- private Set<CubeDimAttribute> cachedDims;
+ private Set<CubeMeasure> cachedMeasures = new HashSet<CubeMeasure>();
+ private Set<CubeDimAttribute> cachedDims = new HashSet<CubeDimAttribute>();
public Set<CubeMeasure> getMeasures() {
- if (cachedMeasures == null) {
- cachedMeasures = new HashSet<CubeMeasure>();
- for (String msr : measures) {
- cachedMeasures.add(parent.getMeasureByName(msr));
+ synchronized (measures) {
+ if (cachedMeasures.isEmpty()) {
+ for (String msr : measures) {
+ cachedMeasures.add(parent.getMeasureByName(msr));
+ }
}
}
return cachedMeasures;
}
public Set<CubeDimAttribute> getDimAttributes() {
- if (cachedDims == null) {
- cachedDims = new HashSet<CubeDimAttribute>();
- for (String dim : dimensions) {
- cachedDims.add(parent.getDimAttributeByName(dim));
+ synchronized (dimensions) {
+ if (cachedDims.isEmpty()) {
+ for (String dim : dimensions) {
+ cachedDims.add(parent.getDimAttributeByName(dim));
+ }
}
}
return cachedDims;