Index: modules/core/src/main/java/org/gridgain/grid/dr/cache/receiver/ReceiverCacheConflictContext.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/dr/cache/receiver/ReceiverCacheConflictContext.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/cache/CacheConflictContext.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -7,28 +7,27 @@ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ */ -package org.gridgain.grid.dr.cache.receiver; +package org.gridgain.grid.cache; -import org.gridgain.grid.dr.cache.*; import org.jetbrains.annotations.*; /** - * Data center replication receiver cache conflict resolution context. + * Cache conflict resolution context. */ -public interface ReceiverCacheConflictContext { +public interface CacheConflictContext { /** * Gets old (existing) cache entry. * * @return Old (existing) cache entry. */ - public DrCacheEntry oldEntry(); + public ConflictCacheEntry oldEntry(); /** * Gets new cache entry. * * @return New cache entry. */ - public DrCacheEntry newEntry(); + public ConflictCacheEntry newEntry(); /** * Force cache to ignore new entry and leave old (existing) entry unchanged. @@ -38,9 +37,8 @@ /** * Force cache to apply new entry overwriting old (existing) entry. *

- * Note that updates from remote data centers always have explicit TTL , while local data center - * updates will only have explicit TTL in case {@link org.apache.ignite.cache.CacheEntry#timeToLive(long)} was called - * before update. In the latter case new entry will pick TTL of the old (existing) entry, even + * Note that updates from remote data centers always have explicit TTL. + * In the latter case new entry will pick TTL of the old (existing) entry, even * if it was set through update from remote data center. it means that depending on concurrent * update timings new update might pick unexpected TTL. For example, consider that three updates * of the same key are performed: local update with explicit TTL (1) followed by another local Index: modules/core/src/main/java/org/gridgain/grid/cache/ConflictCacheEntry.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/cache/ConflictCacheEntry.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) +++ modules/core/src/main/java/org/gridgain/grid/cache/ConflictCacheEntry.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -0,0 +1,74 @@ +/* @java.file.header */ + +/* _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +package org.gridgain.grid.cache; + +import org.jetbrains.annotations.*; + +/** + * Cache entry along with version information. + */ +public interface ConflictCacheEntry { + /** + * Gets entry's key. + * + * @return Entry's key. + */ + public K key(); + + /** + * Gets entry's value. + * + * @return Entry's value. + */ + @Nullable + public V value(); + + /** + * Gets entry's TTL. + * + * @return Entry's TTL. + */ + public long ttl(); + + /** + * Gets entry's expire time. + * + * @return Entry's expire time. + */ + public long expireTime(); + + /** + * Gets ID of initiator data center. + * + * @return ID of initiator data center. + */ + public byte dataCenterId(); + + /** + * Gets entry's topology version in initiator data center. + * + * @return Entry's topology version in initiator data center. + */ + public int topologyVersion(); + + /** + * Gets entry's order in initiator data center. + * + * @return Entry's order in initiator data center + */ + public long order(); + + /** + * Gets entry's global time in initiator data center. + * + * @return Entry's global time in initiator data center + */ + public long globalTime(); +} Index: modules/core/src/main/java/org/gridgain/grid/configuration/CacheConflictResolver.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/configuration/CacheConflictResolver.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/configuration/CacheConflictResolver.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -9,10 +9,10 @@ package org.gridgain.grid.configuration; -import org.gridgain.grid.dr.cache.receiver.*; +import org.gridgain.grid.cache.*; /** - * Data center replication receiver cache conflict resolver. In case particular cache can be updated from multiple + * Cache conflict resolver. In case particular cache can be updated from multiple * topologies (e.g. from local topology and remote data center, or from several remote data centers, etc.), then * conflict resolver will be used to determine which value to pick in case conflicting topologies update the same key * and this conflict cannot be resolved automatically for some reason. @@ -25,5 +25,5 @@ * * @param ctx Conflict resolution context. */ - public void resolve(ReceiverCacheConflictContext ctx); + public void resolve(CacheConflictContext ctx); } Index: modules/core/src/main/java/org/gridgain/grid/configuration/DrReceiverCacheConflictResolverMode.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/configuration/DrReceiverCacheConflictResolverMode.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/configuration/CacheConflictResolverMode.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -12,13 +12,13 @@ import org.jetbrains.annotations.*; /** - * Data center replication receiver cache conflict resolver mode. + * Cache conflict resolver mode. *

* Each cache entry has data center ID. In case cache update is performed and either old or new cache entry has data - * center ID which differs from local data center ID defined by {@link org.apache.ignite.configuration.IgniteConfiguration#getDataCenterId()}, then + * center ID which differs from local data center ID defined by {@link org.gridgain.grid.configuration.GridGainConfiguration#getDataCenterId()}, then * we consider such situation as conflict. *

- * If both entries participating in conflict have the same data cneter ID (i.e. they both were replicated from the same + * If both entries participating in conflict have the same data center ID (i.e. they both were replicated from the same * remote data center), then GridGain can potentially resolve this conflict automatically based on entry metadata. *

* But in case old and new entries have different data center IDs (i.e. in active-active scenario when cache is updated @@ -27,29 +27,29 @@ *

* This enumeration provides several different strategies for conflict resolution. */ -public enum DrReceiverCacheConflictResolverMode { +public enum CacheConflictResolverMode { /** * GridGain will automatically resolve conflicts when possible (i.e. when both old and new entries have the same * data center ID). In all other situations, conflict resolution will be delegated to * {@link CacheConflictResolver} configured through - * {@link DrReceiverCacheConfiguration#getConflictResolver()}. In case conflict resolver is not configured, + * {@link GridGainCacheConfiguration#getConflictResolver()}. In case conflict resolver is not configured, * GridGain will overwrite old entry with a new one. *

* This mode is default. */ - DR_AUTO, + AUTO, /** * GridGain will always delegate to conflict resolver. This applies to all possible cases, even if both old and new * entries have local data center ID and therefore are not considered conflicting when cache is not data center * replication receiver. *

- * In this mode {@link DrReceiverCacheConfiguration#getConflictResolver()} is mandatory. + * In this mode {@link GridGainCacheConfiguration#getConflictResolver()} is mandatory. */ - DR_ALWAYS; + ALWAYS; /** Enumerated values. */ - private static final DrReceiverCacheConflictResolverMode[] VALS = values(); + private static final CacheConflictResolverMode[] VALS = values(); /** * Efficiently gets enumerated value from its ordinal. @@ -57,7 +57,7 @@ * @param ord Ordinal value. * @return Enumerated value or {@code null} if ordinal out of range. */ - @Nullable public static DrReceiverCacheConflictResolverMode fromOrdinal(int ord) { + @Nullable public static CacheConflictResolverMode fromOrdinal(int ord) { return ord >= 0 && ord < VALS.length ? VALS[ord] : null; } } Index: modules/core/src/main/java/org/gridgain/grid/configuration/GridGainCacheConfiguration.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/configuration/GridGainCacheConfiguration.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/configuration/GridGainCacheConfiguration.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -13,26 +13,26 @@ import org.apache.ignite.internal.util.typedef.internal.*; import org.jetbrains.annotations.*; -import static org.gridgain.grid.configuration.DrReceiverCacheConflictResolverMode.*; +import static org.gridgain.grid.configuration.CacheConflictResolverMode.*; /** * Cache configuration. */ public class GridGainCacheConfiguration { /** Default data center replication receiver cache conflict resolver mode. */ - public static final DrReceiverCacheConflictResolverMode DFLT_CONFLICT_RSLVR_MODE = DR_AUTO; + public static final CacheConflictResolverMode DFLT_CONFLICT_RSLVR_MODE = AUTO; /** Cache name. */ private String name; /** Receiver cache conflict resolver mode. */ - private DrReceiverCacheConflictResolverMode conflictRslvrMode = DFLT_CONFLICT_RSLVR_MODE; + private CacheConflictResolverMode conflictRslvrMode = DFLT_CONFLICT_RSLVR_MODE; /** Receiver cache conflict resolver. */ private CacheConflictResolver conflictRslvr; /** */ - private boolean receiverEnabled; + private boolean drReceiverEnabled; /** */ private DrSenderCacheConfiguration drSndCacheCfg; @@ -61,7 +61,7 @@ name = cc.getName(); portableEnabled = cc.isPortableEnabled(); - receiverEnabled = cc.isReceiverEnabled(); + drReceiverEnabled = cc.isDrReceiverEnabled(); conflictRslvr = cc.getConflictResolver(); conflictRslvrMode = cc.getConflictResolverMode(); } @@ -154,27 +154,27 @@ * * @return Data center replication receiver enabled flag. */ - public boolean isReceiverEnabled() { - return receiverEnabled; + public boolean isDrReceiverEnabled() { + return drReceiverEnabled; } /** * Sets data center replication receiver enabled flag. * - * @param receiverEnabled enabled flag. + * @param drReceiverEnabled enabled flag. */ - public void setReceiverEnabled(boolean receiverEnabled) { - this.receiverEnabled = receiverEnabled; + public void setDrReceiverEnabled(boolean drReceiverEnabled) { + this.drReceiverEnabled = drReceiverEnabled; } /** - * Gets conflict resolver mode. See {@link DrReceiverCacheConflictResolverMode} for more information. + * Gets conflict resolver mode. See {@link CacheConflictResolverMode} for more information. *

* Defaults to {@link #DFLT_CONFLICT_RSLVR_MODE}. * * @return Conflict resolution mode. */ - public DrReceiverCacheConflictResolverMode getConflictResolverMode() { + public CacheConflictResolverMode getConflictResolverMode() { return conflictRslvrMode; } @@ -184,17 +184,17 @@ * * @param conflictRslvrMode Conflict resolver mode. */ - public void setConflictResolverMode(DrReceiverCacheConflictResolverMode conflictRslvrMode) { + public void setConflictResolverMode(CacheConflictResolverMode conflictRslvrMode) { this.conflictRslvrMode = conflictRslvrMode; } /** * Gets conflict resolver. *

- * For {@link DrReceiverCacheConflictResolverMode#DR_AUTO} mode this parameter can be {@code null} and in + * For {@link CacheConflictResolverMode#AUTO} mode this parameter can be {@code null} and in * this case new entry will always overwrite the old one. *

- * For {@link DrReceiverCacheConflictResolverMode#DR_ALWAYS} mode this parameter is mandatory. + * For {@link CacheConflictResolverMode#ALWAYS} mode this parameter is mandatory. *

* Default value is {@code null}. * Index: modules/core/src/main/java/org/gridgain/grid/dr/cache/DrCacheEntry.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/dr/cache/DrCacheEntry.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/dr/cache/DrCacheEntry.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -31,44 +31,9 @@ public V value(); /** - * Gets entry's TTL. - * - * @return Entry's TTL. - */ - public long ttl(); - - /** - * Gets entry's expire time. - * - * @return Entry's expire time. - */ - public long expireTime(); - - /** * Gets ID of initiator data center. * * @return ID of initiator data center. */ public byte dataCenterId(); - - /** - * Gets entry's topology version in initiator data center. - * - * @return Entry's topology version in initiator data center. - */ - public int topologyVersion(); - - /** - * Gets entry's order in initiator data center. - * - * @return Entry's order in initiator data center - */ - public long order(); - - /** - * Gets entry's global time in initiator data center. - * - * @return Entry's global time in initiator data center - */ - public long globalTime(); } Index: modules/core/src/main/java/org/gridgain/grid/dr/cache/receiver/DrReceiverCacheMetrics.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/dr/cache/receiver/DrReceiverCacheMetrics.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/dr/cache/receiver/DrReceiverCacheMetrics.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -22,7 +22,7 @@ /** * Gets total amount of conflicts resolved by using new value. See - * {@link ReceiverCacheConflictContext#useNew()} for more info. + * {@link org.gridgain.grid.cache.CacheConflictContext#useNew()} for more info. * * @return Total amount of conflicts resolved by using new value. */ @@ -30,7 +30,7 @@ /** * Gets total amount of conflicts resolved by using old value. See - * {@link ReceiverCacheConflictContext#useOld()} for more info. + * {@link org.gridgain.grid.cache.CacheConflictContext#useOld()} for more info. * * @return Total amount of conflicts resolved by using old value. */ @@ -38,7 +38,7 @@ /** * Gets total amount of conflicts resolved by merge. See - * {@link ReceiverCacheConflictContext#merge(Object, long)} for more info. + * {@link org.gridgain.grid.cache.CacheConflictContext#merge(Object, long)} for more info. * * @return Total amount of conflicts resolved by merge. */ Index: modules/core/src/main/java/org/gridgain/grid/internal/GridPluginProvider.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/GridPluginProvider.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/GridPluginProvider.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -44,7 +44,7 @@ import static org.apache.ignite.IgniteSystemProperties.*; import static org.apache.ignite.cache.CacheDistributionMode.*; import static org.apache.ignite.cache.CacheMode.*; -import static org.gridgain.grid.configuration.DrReceiverCacheConflictResolverMode.*; +import static org.gridgain.grid.configuration.CacheConflictResolverMode.*; import static org.gridgain.grid.internal.GridPluginNodeAttributes.*; import static org.gridgain.grid.internal.processors.dr.GridDrUtils.*; @@ -155,8 +155,8 @@ return (T)new GridEntSecurityProcessor(igniteCtx); else if (cls.equals(GridSegmentationProcessor.class)) return (T)new GridEntSegmentationProcessor(igniteCtx); - else if (cls.equals(CacheConflictResolverManager.class)) - return (T)new GridCacheConflictResolverManager(cfg); + else if (cls.equals(CacheConflictManager.class)) + return (T)new GridCacheConflictManager(cfg); return null; } @@ -282,21 +282,17 @@ } // Validate DR receive configuration. - GridCacheDrReceiveAttributes locRcvAttrs = locAttr.drReceiveAttributes(); - - GridCacheDrReceiveAttributes rmtRcvAttrs = rmtAttr.drReceiveAttributes(); - - if (locRcvAttrs != null && rmtRcvAttrs != null) { + if (locAttr.isDrReceiverEnabled() && rmtAttr.isDrReceiverEnabled()) { CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "conflictResolverPolicy", - "Policy for conflict resolver", locRcvAttrs.conflictResolverMode(), - rmtRcvAttrs.conflictResolverMode(), true); + "Policy for conflict resolver", locAttr.conflictResolverMode(), + rmtAttr.conflictResolverMode(), true); CU.checkAttributeMismatch(log, rmtAttr.cacheName(), rmt, "conflictResolverClassName", - "Class name for conflict resolver", locRcvAttrs.conflictResolverClassName(), - rmtRcvAttrs.conflictResolverClassName(), true); + "Class name for conflict resolver", locAttr.conflictResolverClassName(), + rmtAttr.conflictResolverClassName(), true); } - else if (!(locRcvAttrs == null && rmtRcvAttrs == null)) { - UUID nullAttrNode = locRcvAttrs == null ? ctx.localNode().id() : rmt.id(); + else if (!(!locAttr.isDrReceiverEnabled() && !rmtAttr.isDrReceiverEnabled())) { + UUID nullAttrNode = !locAttr.isDrReceiverEnabled() ? ctx.localNode().id() : rmt.id(); throw new IgniteCheckedException("DR receiver cache should be enabled for all nodes or " + "disabled for all of them (configuration is not set for nodeId=" + nullAttrNode + ")."); @@ -323,7 +319,7 @@ if (!hasHubCfg) for (GridGainCacheConfiguration cacheCfg : ggCfg.getCacheConfiguration()) { - if (cacheCfg.getDrSenderConfiguration() != null || cacheCfg.isReceiverEnabled()) { + if (cacheCfg.getDrSenderConfiguration() != null || cacheCfg.isDrReceiverEnabled()) { hasHubCfg = true; break; @@ -363,7 +359,7 @@ boolean igfsCache = CU.isIgfsCache(cfg, ggCcfg.getName()); if (ccfg.getDistributionMode() == CLIENT_ONLY) { - if (ggCcfg.getDrSenderConfiguration() != null || ggCcfg.isReceiverEnabled()) + if (ggCcfg.getDrSenderConfiguration() != null || ggCcfg.isDrReceiverEnabled()) U.warn(log, "Data center replication configuration is ignored for cache when distribution mode is " + "set to " + CLIENT_ONLY.toString() + ": " + ccfg.getName()); } @@ -404,7 +400,7 @@ } // Validate DR receive configuration. - if (ggCcfg.isReceiverEnabled()) { + if (ggCcfg.isDrReceiverEnabled()) { if (igfsCache) throw new IgniteException("IGFS cache cannot be data center replication receiver cache: " + ggCcfg.getName()); @@ -413,12 +409,12 @@ throw new IgniteException("Mongo cache cannot be data center replication receiver cache: " + ggCcfg.getName()); - DrReceiverCacheConflictResolverMode rslvrMode = ggCcfg.getConflictResolverMode(); + CacheConflictResolverMode rslvrMode = ggCcfg.getConflictResolverMode(); assertParameter(rslvrMode != null, "cfg.getDrReceiverConfiguration().getConflictResolverPolicy() != null"); - if (rslvrMode != DR_AUTO && ggCcfg.getConflictResolver() == null) + if (rslvrMode != AUTO && ggCcfg.getConflictResolver() == null) throw new IgniteException("Conflict resolver must be not null with " + rslvrMode + " resolving policy"); } Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/dr/ent/ReceiverCacheConflictContextImpl.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/dr/ent/ReceiverCacheConflictContextImpl.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/CacheConflictContextImpl.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -7,17 +7,16 @@ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ */ -package org.gridgain.grid.internal.processors.dr.ent; +package org.gridgain.grid.internal.processors.cache; import org.apache.ignite.internal.processors.cache.version.*; -import org.gridgain.grid.dr.cache.*; -import org.gridgain.grid.dr.cache.receiver.*; +import org.gridgain.grid.cache.*; import org.jetbrains.annotations.*; /** - * DR conflict context implementation. + * Conflict context implementation. */ -public class ReceiverCacheConflictContextImpl implements ReceiverCacheConflictContext { +public class CacheConflictContextImpl implements CacheConflictContext { /** Underlying cache conflict context. */ private final GridCacheVersionConflictContext ctx; @@ -26,18 +25,18 @@ * * @param ctx Underlying cache conflict context. */ - public ReceiverCacheConflictContextImpl(GridCacheVersionConflictContext ctx) { + public CacheConflictContextImpl(GridCacheVersionConflictContext ctx) { this.ctx = ctx; } /** {@inheritDoc} */ - @Override public DrCacheEntry oldEntry() { - return new DrCacheEntryImpl<>(ctx.oldEntry()); + @Override public ConflictCacheEntry oldEntry() { + return new ConflictCacheEntryImpl<>(ctx.oldEntry()); } /** {@inheritDoc} */ - @Override public DrCacheEntry newEntry() { - return new DrCacheEntryImpl<>(ctx.newEntry()); + @Override public ConflictCacheEntry newEntry() { + return new ConflictCacheEntryImpl<>(ctx.newEntry()); } /** {@inheritDoc} */ Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/dr/ent/DrCacheEntryImpl.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/dr/ent/DrCacheEntryImpl.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/ConflictCacheEntryImpl.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -7,16 +7,16 @@ * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ */ -package org.gridgain.grid.internal.processors.dr.ent; +package org.gridgain.grid.internal.processors.cache; import org.apache.ignite.internal.processors.cache.version.*; -import org.gridgain.grid.dr.cache.*; +import org.gridgain.grid.cache.*; import org.jetbrains.annotations.*; /** - * DR cache entry implementation. + * Conflict cache entry implementation. */ -public class DrCacheEntryImpl implements DrCacheEntry { +public class ConflictCacheEntryImpl implements ConflictCacheEntry { /** Underlying cache versioned entry. */ private final GridCacheVersionedEntry entry; @@ -25,7 +25,7 @@ * * @param entry Underlying cache versioned entry. */ - public DrCacheEntryImpl(GridCacheVersionedEntry entry) { + public ConflictCacheEntryImpl(GridCacheVersionedEntry entry) { this.entry = entry; } Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/GridPluginCacheAttributes.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/GridPluginCacheAttributes.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/GridPluginCacheAttributes.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -26,12 +26,18 @@ /** Cache name. */ private String name; - /** DR receive attributes. */ - private GridCacheDrReceiveAttributes drRcvAttrs; - /** DR send attributes. */ private GridCacheDrSendAttributes drSndAttrs; + /** Policy for conflict resolver. */ + private CacheConflictResolverMode conflictRslvrMode; + + /** Conflict resolver class name. */ + private String conflictRslvrClsName; + + /** Dr receiver enabled. */ + private boolean drReceiverEnabled; + /** * TODO this should be removed. */ @@ -52,12 +58,15 @@ this.name = name; if (cfg != null) { - drRcvAttrs = cfg.isReceiverEnabled() ? - new GridCacheDrReceiveAttributes(cfg.getConflictResolver(), cfg.getConflictResolverMode()) : null; - drSndAttrs = cfg.getDrSenderConfiguration() != null ? new GridCacheDrSendAttributes(cfg.getDrSenderConfiguration()) : null; + conflictRslvrClsName = className(cfg.getConflictResolver()); + + conflictRslvrMode = cfg.getConflictResolverMode(); + + drReceiverEnabled = cfg.isDrReceiverEnabled(); + portableEnabled = cfg.isPortableEnabled(); } } @@ -77,26 +86,43 @@ } /** - * @return DR receive attributes. + * @return DR send attributes. */ - @Nullable public GridCacheDrReceiveAttributes drReceiveAttributes() { - return drRcvAttrs; + @Nullable public GridCacheDrSendAttributes drSendAttributes() { + return drSndAttrs; } /** - * @return DR send attributes. + * @return Dr receiver enabled flag. */ - @Nullable public GridCacheDrSendAttributes drSendAttributes() { - return drSndAttrs; + public boolean isDrReceiverEnabled() { + return drReceiverEnabled; } + /** + * @return Policy for conflict resolver. + */ + public CacheConflictResolverMode conflictResolverMode() { + return conflictRslvrMode; + } + + /** + * @return Conflict resolver class name. + */ + public String conflictResolverClassName() { + return conflictRslvrClsName; + } + /** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { U.writeString(out, name); out.writeBoolean(portableEnabled); - out.writeObject(drRcvAttrs); out.writeObject(drSndAttrs); + out.writeBoolean(drReceiverEnabled); + + U.writeEnum(out, conflictRslvrMode); + U.writeString(out, conflictRslvrClsName); } /** {@inheritDoc} */ @@ -104,7 +130,18 @@ name = U.readString(in); portableEnabled = in.readBoolean(); - drRcvAttrs = (GridCacheDrReceiveAttributes)in.readObject(); drSndAttrs = (GridCacheDrSendAttributes)in.readObject(); + drReceiverEnabled = in.readBoolean(); + + conflictRslvrMode = CacheConflictResolverMode.fromOrdinal(in.readByte()); + conflictRslvrClsName = U.readString(in); + } + + /** + * @param obj Object to get class of. + * @return Class name or {@code null}. + */ + @Nullable private static String className(@Nullable Object obj) { + return obj != null ? obj.getClass().getName() : null; } } Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/DrCacheEntryImpl.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/DrCacheEntryImpl.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/DrCacheEntryImpl.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -0,0 +1,46 @@ +/* @java.file.header */ + +/* _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +package org.gridgain.grid.internal.processors.cache.dr; + +import org.apache.ignite.internal.processors.cache.version.*; +import org.gridgain.grid.dr.cache.*; +import org.jetbrains.annotations.*; + +/** + * Conflict cache entry implementation. + */ +public class DrCacheEntryImpl implements DrCacheEntry { + /** Underlying cache versioned entry. */ + private final GridCacheVersionedEntry entry; + + /** + * Constructor. + * + * @param entry Underlying cache versioned entry. + */ + public DrCacheEntryImpl(GridCacheVersionedEntry entry) { + this.entry = entry; + } + + /** {@inheritDoc} */ + @Override public K key() { + return entry.key(); + } + + /** {@inheritDoc} */ + @Nullable @Override public V value() { + return entry.value(); + } + + /** {@inheritDoc} */ + @Override public byte dataCenterId() { + return entry.dataCenterId(); + } +} Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/GridCacheConflictResolverManager.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/GridCacheConflictResolverManager.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/GridCacheConflictManager.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -18,7 +18,7 @@ /** * Dr conflict resolver manager. */ -public class GridCacheConflictResolverManager extends CacheConflictResolverManager { +public class GridCacheConflictManager extends CacheConflictManager { /** */ private GridGainConfiguration ggCfg; @@ -27,17 +27,20 @@ * * @param cfg GridGain configuration. */ - public GridCacheConflictResolverManager(GridGainConfiguration cfg) { + public GridCacheConflictManager(GridGainConfiguration cfg) { this.ggCfg = cfg; } /** {@inheritDoc} */ - @Override public GridCacheVersionAbstractConflictResolver conflictResolver() { + @Override public CacheVersionConflictResolver conflictResolver() { GridGainCacheConfiguration ggCcfg = GridPluginProvider.cacheConfig(ggCfg, cctx.name()); - if ((cctx.dr().receiveEnabled() || cctx.store().isLocalStore()) && ggCcfg != null) - return new GridCacheVersionDrConflictResolver(ggCcfg.getConflictResolverMode(), + if (cctx.dr().receiveEnabled() || cctx.store().isLocalStore()) { + assert ggCcfg != null; + + return new GridCacheConflictResolver(ggCcfg.getConflictResolverMode(), ggCcfg.getConflictResolver()); + } return null; } Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/GridCacheDrReceiveAttributes.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/GridCacheDrReceiveAttributes.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/GridCacheDrReceiveAttributes.java (revision dc17b657387556d98060516f74178b01a5eadb96) @@ -1,81 +0,0 @@ -/* @java.file.header */ - -/* _________ _____ __________________ _____ - * __ ____/___________(_)______ /__ ____/______ ____(_)_______ - * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ - * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / - * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ - */ - -package org.gridgain.grid.internal.processors.cache.dr; - -import org.apache.ignite.internal.util.typedef.internal.*; -import org.gridgain.grid.configuration.*; -import org.jetbrains.annotations.*; - -import java.io.*; - -/** - * DR receiver cache attributes. - */ -public class GridCacheDrReceiveAttributes implements Externalizable { - /** */ - private static final long serialVersionUID = 0L; - - /** Policy for conflict resolver. */ - private DrReceiverCacheConflictResolverMode conflictRslvrMode; - - /** Conflict resolver class name. */ - private String conflictRslvrClsName; - - /** - * {@link Externalizable} support. - */ - public GridCacheDrReceiveAttributes() { - // No-op. - } - - /** - * @param rslvr Cache conflict resolver. - * @param rslvrMode - */ - public GridCacheDrReceiveAttributes(CacheConflictResolver rslvr, - DrReceiverCacheConflictResolverMode rslvrMode) { - conflictRslvrClsName = className(rslvr); - conflictRslvrMode = rslvrMode; - } - - /** - * @return Policy for conflict resolver. - */ - public DrReceiverCacheConflictResolverMode conflictResolverMode() { - return conflictRslvrMode; - } - - /** - * @return Conflict resolver class name. - */ - public String conflictResolverClassName() { - return conflictRslvrClsName; - } - - /** {@inheritDoc} */ - @Override public void writeExternal(ObjectOutput out) throws IOException { - U.writeEnum(out, conflictRslvrMode); - U.writeString(out, conflictRslvrClsName); - } - - /** {@inheritDoc} */ - @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - conflictRslvrMode = DrReceiverCacheConflictResolverMode.fromOrdinal(in.readByte()); - conflictRslvrClsName = U.readString(in); - } - - /** - * @param obj Object to get class of. - * @return Class name or {@code null}. - */ - @Nullable private static String className(@Nullable Object obj) { - return obj != null ? obj.getClass().getName() : null; - } -} Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/ent/GridDrStateTransferHandler.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/ent/GridDrStateTransferHandler.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/ent/GridDrStateTransferHandler.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -25,6 +25,7 @@ import org.apache.ignite.thread.*; import org.gridgain.grid.configuration.*; import org.gridgain.grid.dr.cache.sender.*; +import org.gridgain.grid.internal.processors.cache.dr.*; import org.gridgain.grid.internal.processors.dr.ent.*; import org.jdk8.backport.*; import org.jetbrains.annotations.*; Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/ent/GridEntCacheDrManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/ent/GridEntCacheDrManager.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/dr/ent/GridEntCacheDrManager.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -34,7 +34,6 @@ import org.gridgain.grid.dr.cache.sender.*; import org.gridgain.grid.internal.*; import org.gridgain.grid.internal.processors.cache.dr.*; -import org.gridgain.grid.internal.processors.cache.version.*; import org.gridgain.grid.internal.processors.dr.ent.*; import org.jdk8.backport.*; import org.jetbrains.annotations.*; @@ -157,7 +156,7 @@ if (ccfg != null) { isDrSndCache = ccfg.getDrSenderConfiguration() != null; - isDrRcvCache = ccfg.isReceiverEnabled(); + isDrRcvCache = ccfg.isDrReceiverEnabled(); sndCfg = ccfg.getDrSenderConfiguration(); } @@ -331,12 +330,6 @@ } /** {@inheritDoc} */ - @Override public GridCacheVersionAbstractConflictResolver conflictResolver() { - return receiveEnabled() ? new GridCacheVersionDrConflictResolver(ccfg.getConflictResolverMode(), - ccfg.getConflictResolver()) : null; - } - - /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public void replicate(KeyCacheObject key, @Nullable CacheObject val, @@ -410,7 +403,7 @@ /** {@inheritDoc} */ @Override public boolean receiveEnabled() { - return ccfg != null && ccfg.isReceiverEnabled(); + return ccfg != null && ccfg.isDrReceiverEnabled(); } /** @@ -601,7 +594,8 @@ private Iterable lifecycleAwares(GridGainCacheConfiguration ccfg) { DrSenderCacheConfiguration sndCfg = ccfg.getDrSenderConfiguration(); - return F.asList(sndCfg != null ? (Object)sndCfg.getEntryFilter() : null); + return F.asList(sndCfg != null ? sndCfg.getEntryFilter() : null, + ccfg.getConflictResolver()); } /** @@ -932,7 +926,7 @@ if (ccfg != null) { isDrSndCache = ccfg.getDrSenderConfiguration() != null; - isDrRcvCache = ccfg.isReceiverEnabled(); + isDrRcvCache = ccfg.isDrReceiverEnabled(); } metrics = new GridDrCacheMetrics(isDrSndCache, isDrRcvCache); Index: modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/version/GridCacheVersionDrConflictResolver.java =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/version/GridCacheVersionDrConflictResolver.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/processors/cache/version/GridCacheConflictResolver.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -20,16 +20,16 @@ import org.apache.ignite.*; import org.apache.ignite.internal.processors.cache.version.*; import org.gridgain.grid.configuration.*; -import org.gridgain.grid.internal.processors.dr.ent.*; +import org.gridgain.grid.internal.processors.cache.*; -import static org.gridgain.grid.configuration.DrReceiverCacheConflictResolverMode.*; +import static org.gridgain.grid.configuration.CacheConflictResolverMode.*; /** - * Conflict resolver for DR. + * Conflict resolver. */ -public class GridCacheVersionDrConflictResolver extends GridCacheVersionConflictResolver { +public class GridCacheConflictResolver extends CacheVersionConflictResolver { /** Mode. */ - private final DrReceiverCacheConflictResolverMode mode; + private final CacheConflictResolverMode mode; /** Resolver. */ private final CacheConflictResolver rslvr; @@ -37,11 +37,10 @@ /** * Constructor. * - * @param mode Mode. - * @param rslvr Resolver. + * @param mode Cache conflict resolver mode. + * @param rslvr Cache conflict resolver. */ - public GridCacheVersionDrConflictResolver(DrReceiverCacheConflictResolverMode mode, - CacheConflictResolver rslvr) { + public GridCacheConflictResolver(CacheConflictResolverMode mode, CacheConflictResolver rslvr) { this.mode = mode; this.rslvr = rslvr; } @@ -51,13 +50,13 @@ @Override protected void resolve0(GridCacheVersionConflictContext ctx, GridCacheVersionedEntryEx oldEntry, GridCacheVersionedEntryEx newEntry, boolean atomicVerComparator) throws IgniteCheckedException { - if (newEntry.dataCenterId() != oldEntry.dataCenterId() || mode == DR_ALWAYS) { - assert mode == DR_ALWAYS && rslvr != null || mode == DR_AUTO : + if (newEntry.dataCenterId() != oldEntry.dataCenterId() || mode == ALWAYS) { + assert mode == ALWAYS && rslvr != null || mode == AUTO : "Invalid resolver configuration (must be checked on startup) [mode=" + mode + ", rslvr=" + rslvr + ']'; if (rslvr != null) { // Try falling back to user resolver. - rslvr.resolve(new ReceiverCacheConflictContextImpl(ctx)); + rslvr.resolve(new CacheConflictContextImpl(ctx)); ctx.manualResolve(); } Index: modules/core/src/main/java/org/gridgain/grid/internal/visor/dr/VisorDrCacheConfiguration.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/visor/dr/VisorDrCacheConfiguration.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/visor/dr/VisorDrCacheConfiguration.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -41,9 +41,7 @@ cfg.name = ccfg.getName(); - if (ccfg.isReceiverEnabled()) - cfg.drRcvCfg = VisorDrReceiverConfiguration.from(ccfg.getConflictResolver(), - ccfg.getConflictResolverMode()); + cfg.drRcvCfg = VisorDrReceiverConfiguration.from(ccfg.isDrReceiverEnabled()); if (ccfg.getDrSenderConfiguration() != null) cfg.drSndCfg = VisorDrSenderConfiguration.from(ccfg.getDrSenderConfiguration()); Index: modules/core/src/main/java/org/gridgain/grid/internal/visor/dr/VisorDrReceiverConfiguration.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/main/java/org/gridgain/grid/internal/visor/dr/VisorDrReceiverConfiguration.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/main/java/org/gridgain/grid/internal/visor/dr/VisorDrReceiverConfiguration.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -10,12 +10,9 @@ package org.gridgain.grid.internal.visor.dr; import org.apache.ignite.internal.util.typedef.internal.*; -import org.gridgain.grid.configuration.*; import java.io.*; -import static org.apache.ignite.internal.visor.util.VisorTaskUtils.*; - /** * Data transfer object for DR receiver cache configuration properties. */ @@ -23,39 +20,26 @@ /** */ private static final long serialVersionUID = 0L; - /** Conflict resolver */ - private String conflictRslvr; + /** DR receiver enabled. */ + private boolean drReceiverEnabled; - /** Conflict resolver mode. */ - private DrReceiverCacheConflictResolverMode conflictRslvrMode; - /** - * @param rslvr Cache conflict resolver. - * @param rslvrMode Cache conflict resolver mode. + * @param drReceiverEnabled Dr receiver enabled flag. * @return Data transfer object for DR receiver cache configuration properties. */ - public static VisorDrReceiverConfiguration from(CacheConflictResolver rslvr, - DrReceiverCacheConflictResolverMode rslvrMode) { + public static VisorDrReceiverConfiguration from(boolean drReceiverEnabled) { VisorDrReceiverConfiguration cfg = new VisorDrReceiverConfiguration(); - cfg.conflictRslvr = compactClass(rslvr); - cfg.conflictRslvrMode = rslvrMode; + cfg.drReceiverEnabled = drReceiverEnabled; return cfg; } /** - * @return Conflict resolver + * @return Dr receiver enabled flag. */ - public String conflictResolver() { - return conflictRslvr; - } - - /** - * @return Conflict resolver mode. - */ - public DrReceiverCacheConflictResolverMode conflictResolverMode() { - return conflictRslvrMode; + public boolean isDrReceiverEnabled() { + return drReceiverEnabled; } /** {@inheritDoc} */ Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrAbstractTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrAbstractTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrAbstractTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -527,7 +527,7 @@ @Nullable DrSenderCacheMode replicationMode, boolean receiverEnabled, @Nullable CacheConflictResolver conflictRslvr, - @Nullable DrReceiverCacheConflictResolverMode rslvrMode) { + @Nullable CacheConflictResolverMode rslvrMode) { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName(name); @@ -555,7 +555,7 @@ ccfg.setEvictionPolicy(new CacheFifoEvictionPolicy(10000)); if (receiverEnabled) { - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); ggCacheConfig(ggCfg, ccfg).setConflictResolver(conflictRslvr); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrBasicSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrBasicSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrBasicSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -566,7 +566,7 @@ @Nullable DrSenderCacheConfiguration sndCfg, boolean receiverEnabled, @Nullable CacheConflictResolver conflictRslvr, - @Nullable DrReceiverCacheConflictResolverMode rslvrMode) { + @Nullable CacheConflictResolverMode rslvrMode) { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName(CACHE_NAME); @@ -589,7 +589,7 @@ ggCacheConfig(ggCfg, ccfg).setDrSenderConfiguration(sndCfg); if (receiverEnabled) { - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); ggCacheConfig(ggCfg, ccfg).setConflictResolver(conflictRslvr); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrForwardSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrForwardSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrForwardSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -478,7 +478,7 @@ } if (rcv) - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); return ccfg; } Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrInjectionSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrInjectionSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrInjectionSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -14,9 +14,9 @@ import org.apache.ignite.internal.util.lang.*; import org.apache.ignite.resources.*; import org.apache.ignite.spi.discovery.tcp.ipfinder.*; +import org.gridgain.grid.cache.*; import org.gridgain.grid.configuration.*; import org.gridgain.grid.dr.cache.*; -import org.gridgain.grid.dr.cache.receiver.*; import org.jetbrains.annotations.*; import static org.apache.ignite.cache.CacheAtomicityMode.*; @@ -205,7 +205,7 @@ @Nullable DrSenderCacheConfiguration sndCfg, boolean receiverEnabled, @Nullable CacheConflictResolver conflictRslvr, - @Nullable DrReceiverCacheConflictResolverMode rslvrMode) { + @Nullable CacheConflictResolverMode rslvrMode) { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName(CACHE_NAME); @@ -217,7 +217,7 @@ ggCacheConfig(ggCfg, ccfg).setDrSenderConfiguration(sndCfg); if (receiverEnabled) { - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); ggCacheConfig(ggCfg, ccfg).setConflictResolver(conflictRslvr); @@ -258,7 +258,7 @@ private Ignite ignite; /** {@inheritDoc} */ - @Override public void resolve(ReceiverCacheConflictContext ctx) { + @Override public void resolve(CacheConflictContext ctx) { // No-op. } Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrLifecycleAwareSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrLifecycleAwareSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrLifecycleAwareSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -13,9 +13,9 @@ import org.apache.ignite.configuration.*; import org.apache.ignite.spi.discovery.tcp.*; import org.apache.ignite.testframework.junits.common.*; +import org.gridgain.grid.cache.*; import org.gridgain.grid.configuration.*; import org.gridgain.grid.dr.cache.*; -import org.gridgain.grid.dr.cache.receiver.*; import org.gridgain.grid.dr.hub.sender.store.*; import static org.apache.ignite.cache.CacheMode.*; @@ -53,7 +53,7 @@ } /** {@inheritDoc} */ - @Override public void resolve(ReceiverCacheConflictContext ctx) { + @Override public void resolve(CacheConflictContext ctx) { // No-op. } } @@ -138,7 +138,7 @@ lifecycleAwares.add(rslvr); - ggCcfg.setReceiverEnabled(true); + ggCcfg.setDrReceiverEnabled(true); ggCfg.setCacheConfiguration(ggCcfg); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrNoAcknowledgeSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrNoAcknowledgeSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/GridDrNoAcknowledgeSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -213,7 +213,7 @@ @Nullable DrSenderCacheConfiguration sndCfg, boolean receiverEnabled, @Nullable CacheConflictResolver conflictRslvr, - @Nullable DrReceiverCacheConflictResolverMode rslvrMode) { + @Nullable CacheConflictResolverMode rslvrMode) { CacheConfiguration ccfg = new CacheConfiguration(); ccfg.setName(CACHE_NAME); @@ -225,7 +225,7 @@ ggCacheConfig(ggCfg, ccfg).setDrSenderConfiguration(sndCfg); if (receiverEnabled) { - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); ggCacheConfig(ggCfg, ccfg).setConflictResolver(conflictRslvr); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCacheFilterSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCacheFilterSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCacheFilterSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -14,7 +14,6 @@ import org.apache.ignite.cache.store.*; import org.apache.ignite.configuration.*; import org.apache.ignite.internal.*; -import org.apache.ignite.internal.processors.cache.*; import org.apache.ignite.internal.util.lang.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.internal.util.typedef.internal.*; Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedAtomicFullApiSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedAtomicFullApiSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedAtomicFullApiSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -27,7 +27,7 @@ GridGainCacheConfiguration ggCcfg = new GridGainCacheConfiguration(); - ggCcfg.setReceiverEnabled(true); + ggCcfg.setDrReceiverEnabled(true); ggCfg.setCacheConfiguration(ggCcfg); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedAtomicMultiNodeFullApiSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedAtomicMultiNodeFullApiSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedAtomicMultiNodeFullApiSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -27,7 +27,7 @@ GridGainCacheConfiguration ggCcfg = new GridGainCacheConfiguration(); - ggCcfg.setReceiverEnabled(true); + ggCcfg.setDrReceiverEnabled(true); ggCfg.setCacheConfiguration(ggCcfg); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedFullApiSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedFullApiSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedFullApiSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -27,7 +27,7 @@ GridGainCacheConfiguration ggCcfg = new GridGainCacheConfiguration(); - ggCcfg.setReceiverEnabled(true); + ggCcfg.setDrReceiverEnabled(true); ggCfg.setCacheConfiguration(ggCcfg); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedNearDisabledMultiNodeFullApiSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedNearDisabledMultiNodeFullApiSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCachePartitionedNearDisabledMultiNodeFullApiSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -28,7 +28,7 @@ GridGainCacheConfiguration ggCcfg = new GridGainCacheConfiguration(); - ggCcfg.setReceiverEnabled(true); + ggCcfg.setDrReceiverEnabled(true); ggCfg.setCacheConfiguration(ggCcfg); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCacheSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCacheSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrCacheSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -404,7 +404,7 @@ ccfg.setWriteSynchronizationMode(FULL_SYNC); ccfg.setBackups(1); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); if (atomic) { assertNotNull(atomicWriteOrderMode); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrDataLoaderFailoverSelfTest.java =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrDataLoaderFailoverSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrDataLoaderFailoverSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -442,7 +442,7 @@ ccfg.setBackups(1); ccfg.setRebalanceMode(SYNC); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); return config( ggCfg, Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrDataLoaderPerformanceTest.java =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrDataLoaderPerformanceTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrDataLoaderPerformanceTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -250,7 +250,7 @@ ccfg.setBackups(1); ccfg.setRebalanceMode(SYNC); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); return config( ggCfg, Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrReceiverCacheAttributesCrossNodeSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrReceiverCacheAttributesCrossNodeSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrReceiverCacheAttributesCrossNodeSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -13,25 +13,25 @@ import org.apache.ignite.configuration.*; import org.apache.ignite.internal.util.lang.*; import org.apache.ignite.spi.discovery.tcp.ipfinder.*; +import org.gridgain.grid.cache.*; import org.gridgain.grid.configuration.*; -import org.gridgain.grid.dr.cache.receiver.*; import org.gridgain.internal.processors.dr.*; import static org.apache.ignite.cache.CacheAtomicityMode.*; import static org.apache.ignite.cache.CacheDistributionMode.*; import static org.apache.ignite.cache.CacheMode.*; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*; -import static org.gridgain.grid.configuration.DrReceiverCacheConflictResolverMode.*; +import static org.gridgain.grid.configuration.CacheConflictResolverMode.*; /** * Tests for cross-node validation of receiver cache attributes. */ public class GridDrReceiverCacheAttributesCrossNodeSelfTest extends GridDrAbstractTest { /** Policy for conflict resolver for node #1. */ - private DrReceiverCacheConflictResolverMode conflictRslvrMode1; + private CacheConflictResolverMode conflictRslvrMode1; /** Policy for conflict resolver for node #2. */ - private DrReceiverCacheConflictResolverMode conflictRslvrMode2; + private CacheConflictResolverMode conflictRslvrMode2; /** Conflict resolver for node #1. */ private CacheConflictResolver conflictRslvr1; @@ -43,7 +43,7 @@ @Override protected void beforeTest() throws Exception { super.beforeTest(); - conflictRslvrMode1 = conflictRslvrMode2 = DR_ALWAYS; + conflictRslvrMode1 = conflictRslvrMode2 = ALWAYS; conflictRslvr1 = conflictRslvr2 = new DummyDrReceiverConflictResolver(); } @@ -59,8 +59,8 @@ * @throws Exception If failed. */ public void testConflictResolverPolicyMismatch() throws Exception { - conflictRslvrMode1 = DR_AUTO; - conflictRslvrMode2 = DR_ALWAYS; + conflictRslvrMode1 = AUTO; + conflictRslvrMode2 = ALWAYS; assertException(); } @@ -73,7 +73,7 @@ conflictRslvr2 = new CacheConflictResolver() { /** {@inheritDoc} */ - @Override public void resolve(ReceiverCacheConflictContext ctx) { + @Override public void resolve(CacheConflictContext ctx) { // No-op. } }; @@ -170,7 +170,7 @@ */ private static final class DummyDrReceiverConflictResolver implements CacheConflictResolver { /** {@inheritDoc} */ - @Override public void resolve(ReceiverCacheConflictContext ctx) { + @Override public void resolve(CacheConflictContext ctx) { // No-op. } } Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrReceiverCacheAttributesSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrReceiverCacheAttributesSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrReceiverCacheAttributesSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -14,15 +14,15 @@ import org.apache.ignite.igfs.*; import org.apache.ignite.internal.util.typedef.*; import org.apache.ignite.testframework.*; +import org.gridgain.grid.cache.*; import org.gridgain.grid.configuration.*; -import org.gridgain.grid.dr.cache.receiver.*; import org.gridgain.internal.processors.dr.*; import java.util.concurrent.*; import static org.apache.ignite.cache.CacheAtomicityMode.*; import static org.apache.ignite.cache.CacheMode.*; -import static org.gridgain.grid.configuration.DrReceiverCacheConflictResolverMode.*; +import static org.gridgain.grid.configuration.CacheConflictResolverMode.*; /** * Tests for validating receiver cache configuration of DR data node. @@ -111,7 +111,7 @@ // Create cache config with cache mode unsupported by DR. CacheConfiguration ccfg = cacheConfig(ggCfg, RCV_CACHE, REPLICATED, null, - true /* Receiver enabled */, null, DR_ALWAYS); + true /* Receiver enabled */, null, ALWAYS); // Expect exception during grid creation. assertException(ggCfg, ccfg); @@ -125,7 +125,7 @@ // Create cache config with cache mode unsupported by DR. CacheConfiguration ccfg = cacheConfig(ggCfg, RCV_CACHE, LOCAL, null, - true /* Receiver enabled */, null, DR_ALWAYS); + true /* Receiver enabled */, null, ALWAYS); // Expect exception during grid creation. assertException(ggCfg, ccfg); @@ -157,7 +157,7 @@ // Create valid cache configuration. // Inject null conflict resolver with 'always' policy. CacheConfiguration ccfg = cacheConfig(ggCfg, RCV_CACHE, PARTITIONED, null, - true /* Receiver enabled */, null, DR_ALWAYS); + true /* Receiver enabled */, null, ALWAYS); // Expect exception during grid creation. assertException(ggCfg, ccfg); @@ -263,7 +263,7 @@ */ private static class DummyConflictResolver implements CacheConflictResolver { /** {@inheritDoc} */ - @Override public void resolve(ReceiverCacheConflictContext ctx) { + @Override public void resolve(CacheConflictContext ctx) { // No-op. } } Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrSenderCacheAttributesCrossNodeSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrSenderCacheAttributesCrossNodeSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/GridDrSenderCacheAttributesCrossNodeSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -167,13 +167,13 @@ switch (gridName) { case TOP1_NODE: ggCacheConfig(ggCfg, ccfg).setDrSenderConfiguration(sndCfgSet1 ? createDrCacheConfig1() : null); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(false); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(false); break; case TOP1_NODE_2: ggCacheConfig(ggCfg, ccfg).setDrSenderConfiguration(sndCfgSet2 ? createDrCacheConfig2() : null); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(false); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(false); break; Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/conflicts/GridDrCacheConflictsAbstractSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/conflicts/GridDrCacheConflictsAbstractSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/cache/conflicts/GridDrCacheConflictsAbstractSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -22,8 +22,8 @@ import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.spi.discovery.tcp.ipfinder.*; import org.apache.ignite.transactions.*; +import org.gridgain.grid.cache.*; import org.gridgain.grid.configuration.*; -import org.gridgain.grid.dr.cache.receiver.*; import org.gridgain.internal.processors.dr.*; import org.jetbrains.annotations.*; @@ -37,7 +37,7 @@ import static org.apache.ignite.cache.CacheMode.*; import static org.apache.ignite.cache.CacheRebalanceMode.*; import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*; -import static org.gridgain.grid.configuration.DrReceiverCacheConflictResolverMode.*; +import static org.gridgain.grid.configuration.CacheConflictResolverMode.*; /** * Base conflict resolution tests. @@ -114,7 +114,7 @@ private GridCacheAdapter cache3; /** Conflict resolver policy. */ - private DrReceiverCacheConflictResolverMode rslvrMode; + private CacheConflictResolverMode rslvrMode; /** Invocations count for conflict resolver 1. */ private final AtomicInteger rslvrCnt1 = new AtomicInteger(); @@ -294,7 +294,7 @@ * @throws Exception If failed. */ private void checkAutoOverwrite() throws Exception { - rslvrMode = DR_AUTO; + rslvrMode = AUTO; startUp(); @@ -311,7 +311,7 @@ * @throws Exception If failed. */ private void checkAutoIgnore() throws Exception { - rslvrMode = DR_AUTO; + rslvrMode = AUTO; startUp(); @@ -328,7 +328,7 @@ * @throws Exception If failed. */ private void checkAutoMerge() throws Exception { - rslvrMode = DR_AUTO; + rslvrMode = AUTO; startUp(); @@ -346,7 +346,7 @@ * @throws Exception If failed. */ private void checkAlwaysOverwrite() throws Exception { - rslvrMode = DR_ALWAYS; + rslvrMode = ALWAYS; startUp(); @@ -394,7 +394,7 @@ * @throws Exception If failed. */ private void checkAlwaysIgnore() throws Exception { - rslvrMode = DR_ALWAYS; + rslvrMode = ALWAYS; startUp(); @@ -442,7 +442,7 @@ * @throws Exception If failed. */ private void checkAlwaysMerge() throws Exception { - rslvrMode = DR_ALWAYS; + rslvrMode = ALWAYS; startUp(); @@ -1633,7 +1633,7 @@ ccfg.setBackups(1); ccfg.setRebalanceMode(SYNC); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); ggCacheConfig(ggCfg, ccfg).setConflictResolver(rslvr); ggCacheConfig(ggCfg, ccfg).setConflictResolverMode(rslvrMode); @@ -2052,7 +2052,7 @@ } /** {@inheritDoc} */ - @Override public void resolve(ReceiverCacheConflictContext ctx) { + @Override public void resolve(CacheConflictContext ctx) { cnt.incrementAndGet(); switch (curResType) { Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/handler/DrStatusSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/handler/DrStatusSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/handler/DrStatusSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -48,7 +48,7 @@ CacheConfiguration ccfg = cacheConfig(ggCfg, CACHE_NAME, PARTITIONED); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); IgniteConfiguration nodeCfg = config(ggCfg, TOP2_NODE, DATA_CENTER_2, ipFinder, null, null, ccfg); Index: modules/core/src/test/java/org/gridgain/internal/processors/dr/handler/GridDrIgnoredDataCentersSelfTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/core/src/test/java/org/gridgain/internal/processors/dr/handler/GridDrIgnoredDataCentersSelfTest.java (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/core/src/test/java/org/gridgain/internal/processors/dr/handler/GridDrIgnoredDataCentersSelfTest.java (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -97,7 +97,7 @@ ccfg.setName(CACHE_NAME); ccfg.setCacheMode(PARTITIONED); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); DrSenderCacheConfiguration drSndCfg = new DrSenderCacheConfiguration(); @@ -146,7 +146,7 @@ ccfg.setName(CACHE_NAME); ccfg.setCacheMode(PARTITIONED); - ggCacheConfig(ggCfg, ccfg).setReceiverEnabled(true); + ggCacheConfig(ggCfg, ccfg).setDrReceiverEnabled(true); DrSenderCacheConfiguration drSndCfg = new DrSenderCacheConfiguration(); Index: modules/visor-tester/src/main/scala/org/gridgain/visor/tester/dr/VisorTesterCacheConflictResolver.scala IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/visor-tester/src/main/scala/org/gridgain/visor/tester/dr/VisorTesterCacheConflictResolver.scala (revision dc17b657387556d98060516f74178b01a5eadb96) +++ modules/visor-tester/src/main/scala/org/gridgain/visor/tester/dr/VisorTesterCacheConflictResolver.scala (revision 08940f7b3b01c31e02416433a8d7f718a09b1c07) @@ -11,8 +11,8 @@ package org.gridgain.visor.tester.dr +import org.gridgain.grid.cache.CacheConflictContext import org.gridgain.grid.configuration.CacheConflictResolver -import org.gridgain.grid.dr.cache.receiver._ import scala.util.Random @@ -22,7 +22,7 @@ class VisorTesterCacheConflictResolver[K, V] extends CacheConflictResolver[K, V] { private val RND = new Random() - override def resolve(ctx: ReceiverCacheConflictContext[K, V]) { + override def resolve(ctx: CacheConflictContext[K, V]) { RND.nextInt(3) match { case 0 => ctx.useNew() case 1 => ctx.useOld()