You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/03/02 10:50:33 UTC
[48/50] [abbrv] incubator-ignite git commit: IGNITE-342 Fixed review
notes.
IGNITE-342 Fixed review notes.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2f3b8fb6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2f3b8fb6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2f3b8fb6
Branch: refs/heads/ignite-342
Commit: 2f3b8fb6abc275e88176e535af44560ef2737b50
Parents: a69151b
Author: nikolay_tikhonov <nt...@gridgain.com>
Authored: Mon Mar 2 12:45:20 2015 +0300
Committer: nikolay_tikhonov <nt...@gridgain.com>
Committed: Mon Mar 2 12:45:20 2015 +0300
----------------------------------------------------------------------
.../affinity/GridAffinityAssignmentCache.java | 8 +-------
.../cache/GridCacheAffinityManager.java | 13 ++-----------
.../processors/cache/GridCacheContext.java | 19 +++++++++++++++++++
.../processors/cache/GridCacheProcessor.java | 15 +++++++++++++++
4 files changed, 37 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f3b8fb6/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
index 9bfcca0..3cd5bb7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
@@ -59,9 +59,6 @@ public class GridAffinityAssignmentCache {
/** Affinity mapper function. */
private final CacheAffinityKeyMapper affMapper;
- /** Default affinity mapper function. */
- private final CacheAffinityKeyMapper dfltAffMapper;
-
/** Affinity calculation results cache: topology version => partition => nodes. */
private final ConcurrentMap<Long, GridAffinityAssignment> affCache;
@@ -87,7 +84,6 @@ public class GridAffinityAssignmentCache {
* @param cacheName Cache name.
* @param aff Affinity function.
* @param affMapper Affinity key mapper.
- * @param dfltAffMapper Default affinity key mapper.
* @param backups Number of backups.
*/
@SuppressWarnings("unchecked")
@@ -95,7 +91,6 @@ public class GridAffinityAssignmentCache {
String cacheName,
CacheAffinityFunction aff,
CacheAffinityKeyMapper affMapper,
- CacheAffinityKeyMapper dfltAffMapper,
int backups)
{
this.ctx = ctx;
@@ -103,7 +98,6 @@ public class GridAffinityAssignmentCache {
this.affMapper = affMapper;
this.cacheName = cacheName;
this.backups = backups;
- this.dfltAffMapper = dfltAffMapper;
log = ctx.logger(GridAffinityAssignmentCache.class);
@@ -322,7 +316,7 @@ public class GridAffinityAssignmentCache {
* @return Affinity key.
*/
private Object affinityKey(Object key) {
- return (dfltAffMapper != null && key instanceof GridCacheInternal ? dfltAffMapper : affMapper).affinityKey(key);
+ return (key instanceof GridCacheInternal ? ctx.defaultAffMapper() : affMapper).affinityKey(key);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f3b8fb6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
index 0e0b26b..d3510e4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAffinityManager.java
@@ -44,17 +44,8 @@ public class GridCacheAffinityManager<K, V> extends GridCacheManagerAdapter<K, V
/** {@inheritDoc} */
@Override public void start0() throws IgniteCheckedException {
- GridCacheDefaultAffinityKeyMapper dfltAffKeyMapper = null;
-
- if (!cctx.config().getAffinityMapper().getClass().equals(GridCacheDefaultAffinityKeyMapper.class)) {
- dfltAffKeyMapper = new GridCacheDefaultAffinityKeyMapper();
-
- dfltAffKeyMapper.setIgnite(cctx.grid());
- dfltAffKeyMapper.setLog(cctx.logger(GridCacheDefaultAffinityKeyMapper.class));
- }
-
- aff = new GridAffinityAssignmentCache(cctx, cctx.namex(), cctx.config().getAffinity(),
- cctx.config().getAffinityMapper(), dfltAffKeyMapper, cctx.config().getBackups());
+ aff = new GridAffinityAssignmentCache(cctx, cctx.namex(), cctx.config().getAffinity(),
+ cctx.config().getAffinityMapper(), cctx.config().getBackups());
// Generate internal keys for partitions.
int partCnt = partitions();
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f3b8fb6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 3ec013c..44f8e69 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache;
import org.apache.ignite.*;
import org.apache.ignite.cache.*;
+import org.apache.ignite.cache.affinity.*;
import org.apache.ignite.cluster.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
@@ -164,6 +165,9 @@ public class GridCacheContext<K, V> implements Externalizable {
/** Cached local rich node. */
private ClusterNode locNode;
+ /** Default cache affinity mapper. */
+ private CacheAffinityKeyMapper affMapper;
+
/**
* Thread local projection. If it's set it means that method call was initiated
* by child projection of initial cache.
@@ -1016,6 +1020,20 @@ public class GridCacheContext<K, V> implements Externalizable {
}
/**
+ * @return Default affinity key mapper.
+ */
+ public CacheAffinityKeyMapper defaultAffMapper() {
+ return affMapper;
+ }
+
+ /**
+ * Sets default affinity key mapper.
+ */
+ public void defaultAffMapper(CacheAffinityKeyMapper dfltAffMapper) {
+ this.affMapper = dfltAffMapper;
+ }
+
+ /**
* @param p Single predicate.
* @return Array containing single predicate.
*/
@@ -1770,6 +1788,7 @@ public class GridCacheContext<K, V> implements Externalizable {
evictMgr = null;
qryMgr = null;
dataStructuresMgr = null;
+ affMapper = null;
mgrs.clear();
}
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f3b8fb6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
index e99c706..45fcf1d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
@@ -618,6 +618,17 @@ public class GridCacheProcessor extends GridProcessorAdapter {
U.startLifecycleAware(lifecycleAwares(cfg, jta.tmLookup(), cfgStore));
+ // Init default key mapper.
+ CacheAffinityKeyMapper dfltAffMapper;
+
+ if (cfg.getAffinityMapper().getClass().equals(GridCacheDefaultAffinityKeyMapper.class))
+ dfltAffMapper = cfg.getAffinityMapper();
+ else {
+ dfltAffMapper = new GridCacheDefaultAffinityKeyMapper();
+
+ prepare(cfg, dfltAffMapper, false);
+ }
+
cfgs[i] = cfg; // Replace original configuration value.
GridCacheAffinityManager affMgr = new GridCacheAffinityManager();
@@ -655,6 +666,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
drMgr,
jta);
+ cacheCtx.defaultAffMapper(dfltAffMapper);
+
GridCacheAdapter cache = null;
switch (cfg.getCacheMode()) {
@@ -793,6 +806,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
drMgr,
jta);
+ cacheCtx.defaultAffMapper(dfltAffMapper);
+
GridDhtCacheAdapter dht = null;
switch (cfg.getAtomicityMode()) {