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 2014/12/23 04:13:44 UTC

[01/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-32 0dafc25ef -> 61b81e75e


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
index 9050c7d..0a0cfc3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.spi.discovery.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.testframework.junits.common.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
index 6904163..2d597e1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.processors.clock.*;
@@ -28,8 +28,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
index 0ce883d..6e5a28a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
@@ -38,7 +38,7 @@ public class GridCacheReplicatedTxMultiThreadedSelfTest extends GridCacheTxMulti
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        GridTransactionsConfiguration tCfg = new GridTransactionsConfiguration();
+        TransactionsConfiguration tCfg = new TransactionsConfiguration();
 
         tCfg.setTxSerializableEnabled(true);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
index 696e47f..b9434d4 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
@@ -14,7 +14,6 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
@@ -24,8 +23,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
index 98d1b64..8ef90c0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
@@ -2,7 +2,7 @@ package org.gridgain.grid.kernal.processors.cache.eviction;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
index 1d5ad97..fad09cd 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.eviction;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
@@ -27,8 +28,8 @@ import java.util.concurrent.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
index 26ccf3b..e2dbcd4 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
index e120287..2984d7c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
@@ -27,8 +27,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  *
@@ -59,7 +59,7 @@ public class GridCacheDistributedEvictionsSelfTest extends GridCommonAbstractTes
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        GridTransactionsConfiguration tCfg = new GridTransactionsConfiguration();
+        TransactionsConfiguration tCfg = new TransactionsConfiguration();
 
         tCfg.setDefaultTxConcurrency(PESSIMISTIC);
         tCfg.setDefaultTxIsolation(READ_COMMITTED);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
index 825d526..c0d2487 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
@@ -10,8 +10,9 @@
 package org.gridgain.grid.kernal.processors.cache.eviction;
 
 import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
-import org.apache.ignite.configuration.IgniteConfiguration;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.GridCacheEvictionPolicy;
 import org.gridgain.grid.cache.eviction.fifo.GridCacheFifoEvictionPolicy;
@@ -53,7 +54,7 @@ public abstract class GridCacheEmptyEntriesAbstractSelfTest extends GridCommonAb
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        GridTransactionsConfiguration txCfg = c.getTransactionsConfiguration();
+        TransactionsConfiguration txCfg = c.getTransactionsConfiguration();
 
         txCfg.setDefaultTxConcurrency(txConcurrency);
         txCfg.setDefaultTxIsolation(txIsolation);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
index 5aa3cc7..4a59f9c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.eviction;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -27,8 +28,8 @@ import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
index 5c798fe..932fe02 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.eviction;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.eviction.*;
@@ -26,8 +27,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -44,7 +45,7 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        GridTransactionsConfiguration txCfg = c.getTransactionsConfiguration();
+        TransactionsConfiguration txCfg = c.getTransactionsConfiguration();
 
         txCfg.setDefaultTxConcurrency(PESSIMISTIC);
         txCfg.setDefaultTxIsolation(REPEATABLE_READ);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
index f9eb36b..df166b8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.local;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.swapspace.file.*;
@@ -23,8 +24,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMemoryMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Byte values test for LOCAL cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
index af2b3d5..109b8a2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.local;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
index 5f2409b..0e16131 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
@@ -11,15 +11,15 @@ package org.gridgain.grid.kernal.processors.cache.local;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.gridgain.testframework.junits.common.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
index f81cb45..7e4e5e5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.optimized.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.query.GridCacheContinuousQueryEntry;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
index 4ce09bf..2146b4a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -35,8 +36,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.processors.ggfs.GridGgfsFileInfo.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
index 256c896..9274eec 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
@@ -12,9 +12,9 @@ package org.gridgain.loadtests.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.apache.log4j.*;
 import org.apache.log4j.varia.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
index e408f66..8d659d4 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
@@ -11,7 +11,7 @@ package org.gridgain.loadtests.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -24,8 +24,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMemoryMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
index cb2489a..a3f3f5d 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.loadtests.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.util.typedef.*;
@@ -20,8 +21,8 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
 
 /**
  * Performance comparison between putAll and group lock.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
index 89b871c..c23858e 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java b/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
index 1a20e41..86b68d6 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
@@ -12,7 +12,7 @@ package org.gridgain.loadtests.colocation;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.jdk8.backport.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
index 500a21b..f01ff0c 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
@@ -11,6 +11,7 @@ package org.gridgain.loadtests.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.cache.datastructures.*;
@@ -23,8 +24,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java b/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
index 82e57f0..223ebab 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.datastructures.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java b/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
index dea946e..f87bea0 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
@@ -12,7 +12,7 @@ package org.gridgain.loadtests.swap;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
index 2c56601..7b789ea 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
@@ -11,7 +11,7 @@ package org.gridgain.testframework.junits.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridRestartTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridRestartTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridRestartTestSuite.java
index 83fcd6e..42ded87 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridRestartTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridRestartTestSuite.java
@@ -24,10 +24,6 @@ public class GridDataGridRestartTestSuite extends TestSuite {
     public static TestSuite suite() throws Exception {
         TestSuite suite = new TestSuite("Gridgain In-Memory Data Grid Restart Test Suite");
 
-        // TODO GG-9141
-        if (true)
-            return suite;
-
         // Common restart tests.
         // TODO: GG-7419: Enable when fixed.
 //        suite.addTestSuite(GridCachePartitionedNodeRestartTest.class);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
----------------------------------------------------------------------
diff --git a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
index 8fc5b6e..086803f 100644
--- a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
+++ b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
@@ -10,7 +10,7 @@
 package org.gridgain.grid.cache.hibernate;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.*;
 import org.hibernate.cache.*;
@@ -18,8 +18,8 @@ import org.hibernate.cache.spi.access.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Implementation of {@link AccessType#READ_WRITE} cache access strategy.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateRegionFactory.java
----------------------------------------------------------------------
diff --git a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateRegionFactory.java b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateRegionFactory.java
index 7b723fa..e858e22 100644
--- a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateRegionFactory.java
+++ b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateRegionFactory.java
@@ -10,7 +10,6 @@
 package org.gridgain.grid.cache.hibernate;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.hibernate.cache.*;
@@ -18,7 +17,6 @@ import org.hibernate.cache.spi.*;
 import org.hibernate.cache.spi.RegionFactory;
 import org.hibernate.cache.spi.access.AccessType;
 import org.hibernate.cfg.*;
-import org.jdk8.backport.*;
 
 import java.util.*;
 
@@ -80,8 +78,8 @@ public class GridHibernateRegionFactory implements RegionFactory {
     /** Region name to cache name mapping. */
     private final Map<String, String> regionCaches = new HashMap<>();
 
-    /** Map needed to provide the same transaction context for different regions using the same cache. */
-    private final ConcurrentHashMap8<String, ThreadLocal> threadLocMap = new ConcurrentHashMap8<>();
+    /** Map needed to provide the same transaction context for different regions. */
+    private final ThreadLocal threadLoc = new ThreadLocal();
 
     /** {@inheritDoc} */
     @Override public void start(Settings settings, Properties props) throws CacheException {
@@ -196,15 +194,6 @@ public class GridHibernateRegionFactory implements RegionFactory {
      * @return Thread local instance used to track updates done during one Hibernate transaction.
      */
     ThreadLocal threadLocalForCache(String cacheName) {
-        ThreadLocal threadLoc = threadLocMap.get(cacheName);
-
-        if (threadLoc == null) {
-            ThreadLocal old = threadLocMap.putIfAbsent(cacheName, threadLoc = new ThreadLocal());
-
-            if (old != null)
-                threadLoc = old;
-        }
-
         return threadLoc;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
----------------------------------------------------------------------
diff --git a/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java b/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
index 1e8c75c..49c716a 100644
--- a/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
+++ b/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
@@ -12,8 +12,7 @@ package org.gridgain.grid.cache.store.hibernate;
 import org.apache.ignite.*;
 import org.apache.ignite.marshaller.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
index 2883215..48c1db4 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
@@ -18,7 +18,7 @@ import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.spi.swapspace.file.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
index ceb79a5..5c22a0b 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
index 8519fd8..0865168 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
@@ -15,7 +15,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.testframework.junits.common.*;
@@ -51,7 +51,7 @@ public class GridCachePartitionedHitsAndMissesSelfTest extends GridCommonAbstrac
         // Cache.
         cfg.setCacheConfiguration(cacheConfiguration(gridName));
 
-        GridTransactionsConfiguration tCfg = new GridTransactionsConfiguration();
+        TransactionsConfiguration tCfg = new TransactionsConfiguration();
 
         tCfg.setDefaultTxConcurrency(GridCacheTxConcurrency.PESSIMISTIC);
         tCfg.setDefaultTxIsolation(GridCacheTxIsolation.REPEATABLE_READ);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
index d72d004..4953e37 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
index e1e24bb..01916e5 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
@@ -10,6 +10,8 @@
 package org.gridgain.grid.kernal.processors.cache.jta;
 
 import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.jta.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -60,7 +62,7 @@ public class GridCacheJtaManager<K, V> extends GridCacheJtaManagerAdapter<K, V>
                         GridCacheTx tx = cctx.tm().userTx();
 
                         if (tx == null) {
-                            GridTransactionsConfiguration tCfg = cctx.kernalContext().config()
+                            TransactionsConfiguration tCfg = cctx.kernalContext().config()
                                 .getTransactionsConfiguration();
 
                             tx = cctx.tm().newTx(

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
index 501431d..046b6b0 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
@@ -10,15 +10,14 @@
 package org.gridgain.grid.kernal.processors.cache.jta;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import javax.transaction.xa.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 
 /**
  * Cache XA resource implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java b/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
index 48f3216..50cee54 100644
--- a/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
+++ b/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.jta.*;
 import org.objectweb.jotm.*;
@@ -18,7 +19,7 @@ import org.objectweb.jotm.*;
 import javax.transaction.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 
 /**
  * Abstract class for cache tests.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
----------------------------------------------------------------------
diff --git a/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java b/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
index b615d40..7802388 100644
--- a/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
+++ b/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.cache.websession;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.startup.servlet.*;
 import org.gridgain.grid.util.typedef.*;
@@ -24,8 +24,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**


[48/50] [abbrv] incubator-ignite git commit: Merge remote-tracking branch 'origin/master'

Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/master'


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e01d3c36
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e01d3c36
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e01d3c36

Branch: refs/heads/ignite-32
Commit: e01d3c3675906e93a5ecd8bbdd854af547dd72fc
Parents: e1bfb8f 49f0fa4
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 22 18:04:19 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 22 18:04:19 2014 -0800

----------------------------------------------------------------------
 .../cache/query/GridCacheQueryAdapter.java      | 46 ++++++++++++++++----
 .../java/org/gridgain/grid/util/GridUtils.java  | 19 ++++++++
 .../cache/GridCacheAbstractQuerySelfTest.java   |  2 +-
 .../GridCacheReplicatedQuerySelfTest.java       | 38 ++++++++++++++++
 4 files changed, 96 insertions(+), 9 deletions(-)
----------------------------------------------------------------------



[11/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
new file mode 100644
index 0000000..58c3333
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
@@ -0,0 +1,484 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.cache.affinity.*;
+import org.gridgain.grid.kernal.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.gridgain.testframework.junits.common.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+/**
+ * Tests for local transactions.
+ */
+@SuppressWarnings( {"BusyWait"})
+abstract class IgniteTxAbstractTest extends GridCommonAbstractTest {
+    /** Random number generator. */
+    private static final Random RAND = new Random();
+
+    /** Execution count. */
+    private static final AtomicInteger cntr = new AtomicInteger();
+
+    /** */
+    private static final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+    /**
+     * Start grid by default.
+     */
+    protected IgniteTxAbstractTest() {
+        super(false /*start grid. */);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration c = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+
+        disco.setIpFinder(ipFinder);
+
+        c.setDiscoverySpi(disco);
+
+        return c;
+    }
+
+    /**
+     * @return Grid count.
+     */
+    protected abstract int gridCount();
+
+    /**
+     * @return Key count.
+     */
+    protected abstract int keyCount();
+
+    /**
+     * @return Maximum key value.
+     */
+    protected abstract int maxKeyValue();
+
+    /**
+     * @return Thread iterations.
+     */
+    protected abstract int iterations();
+
+    /**
+     * @return True if in-test logging is enabled.
+     */
+    protected abstract boolean isTestDebug();
+
+    /**
+     * @return {@code True} if memory stats should be printed.
+     */
+    protected abstract boolean printMemoryStats();
+
+    /** {@inheritDoc} */
+    private void debug(String msg) {
+        if (isTestDebug())
+            info(msg);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    @Override protected void beforeTestsStarted() throws Exception {
+        for (int i = 0; i < gridCount(); i++)
+            startGrid(i);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    @Override protected void afterTestsStopped() throws Exception {
+        stopAllGrids();
+    }
+
+    /**
+     * @param i Grid index.
+     * @return Cache.
+     */
+    @SuppressWarnings("unchecked")
+    @Override protected GridCache<Integer, String> cache(int i) {
+        return grid(i).cache(null);
+    }
+
+    /**
+     * @return Keys.
+     */
+    protected Iterable<Integer> getKeys() {
+        List<Integer> keys = new ArrayList<>(keyCount());
+
+        for (int i = 0; i < keyCount(); i++)
+            keys.add(RAND.nextInt(maxKeyValue()) + 1);
+
+        Collections.sort(keys);
+
+        return Collections.unmodifiableList(keys);
+    }
+
+    /**
+     * @return Random cache operation.
+     */
+    protected OP getOp() {
+        switch (RAND.nextInt(3)) {
+            case 0: { return OP.READ; }
+            case 1: { return OP.WRITE; }
+            case 2: { return OP.REMOVE; }
+
+            // Should never be reached.
+            default: { assert false; return null; }
+        }
+    }
+
+    /**
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @throws Exception If check failed.
+     */
+    protected void checkCommit(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+        int gridIdx = RAND.nextInt(gridCount());
+
+        Ignite ignite = grid(gridIdx);
+
+        if (isTestDebug())
+            debug("Checking commit on grid: " + ignite.cluster().localNode().id());
+
+        for (int i = 0; i < iterations(); i++) {
+            GridCache<Integer, String> cache = cache(gridIdx);
+
+            IgniteTx tx = cache.txStart(concurrency, isolation, 0, 0);
+
+            try {
+                int prevKey = -1;
+
+                for (Integer key : getKeys()) {
+                    // Make sure we have the same locking order for all concurrent transactions.
+                    assert key >= prevKey : "key: " + key + ", prevKey: " + prevKey;
+
+                    if (isTestDebug()) {
+                        GridCacheAffinityFunction aff = cache.configuration().getAffinity();
+
+                        int part = aff.partition(key);
+
+                        debug("Key affinity [key=" + key + ", partition=" + part + ", affinity=" +
+                            U.toShortString(cache.affinity().mapPartitionToPrimaryAndBackups(part)) + ']');
+                    }
+
+                    String val = Integer.toString(key);
+
+                    switch (getOp()) {
+                        case READ: {
+                            if (isTestDebug())
+                                debug("Reading key [key=" + key + ", i=" + i + ']');
+
+                            val = cache.get(key);
+
+                            if (isTestDebug())
+                                debug("Read value for key [key=" + key + ", val=" + val + ']');
+
+                            break;
+                        }
+
+                        case WRITE: {
+                            if (isTestDebug())
+                                debug("Writing key and value [key=" + key + ", val=" + val + ", i=" + i + ']');
+
+                            cache.put(key, val);
+
+                            break;
+                        }
+
+                        case REMOVE: {
+                            if (isTestDebug())
+                                debug("Removing key [key=" + key + ", i=" + i  + ']');
+
+                            cache.remove(key);
+
+                            break;
+                        }
+
+                        default: { assert false; }
+                    }
+                }
+
+                tx.commit();
+
+                if (isTestDebug())
+                    debug("Committed transaction [i=" + i + ", tx=" + tx + ']');
+            }
+            catch (GridCacheTxOptimisticException e) {
+                if (concurrency != OPTIMISTIC || isolation != SERIALIZABLE) {
+                    error("Received invalid optimistic failure.", e);
+
+                    throw e;
+                }
+
+                if (isTestDebug())
+                    info("Optimistic transaction failure (will rollback) [i=" + i + ", msg=" + e.getMessage() +
+                        ", tx=" + tx.xid() + ']');
+
+                try {
+                    tx.rollback();
+                }
+                catch (IgniteCheckedException ex) {
+                    error("Failed to rollback optimistic failure: " + tx, ex);
+
+                    throw ex;
+                }
+            }
+            catch (Exception e) {
+                error("Transaction failed (will rollback): " + tx, e);
+
+                tx.rollback();
+
+                throw e;
+            }
+            catch (Error e) {
+                error("Error when executing transaction (will rollback): " + tx, e);
+
+                tx.rollback();
+
+                throw e;
+            }
+            finally {
+                IgniteTx t = cache.tx();
+
+                assert t == null : "Thread should not have transaction upon completion ['t==tx'=" + (t == tx) +
+                    ", t=" + t + (t != tx ? "tx=" + tx : "tx=''") + ']';
+            }
+        }
+
+        if (printMemoryStats()) {
+            if (cntr.getAndIncrement() % 100 == 0)
+                // Print transaction memory stats.
+                ((GridKernal)grid(gridIdx)).internalCache().context().tm().printMemoryStats();
+        }
+    }
+
+    /**
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @throws IgniteCheckedException If check failed.
+     */
+    protected void checkRollback(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+        throws Exception {
+        checkRollback(new ConcurrentHashMap<Integer, String>(), concurrency, isolation);
+    }
+
+    /**
+     * @param map Map to check.
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @throws IgniteCheckedException If check failed.
+     */
+    protected void checkRollback(ConcurrentMap<Integer, String> map, GridCacheTxConcurrency concurrency,
+        GridCacheTxIsolation isolation) throws Exception {
+        int gridIdx = RAND.nextInt(gridCount());
+
+        Ignite ignite = grid(gridIdx);
+
+        if (isTestDebug())
+            debug("Checking commit on grid: " + ignite.cluster().localNode().id());
+
+        for (int i = 0; i < iterations(); i++) {
+            GridCache<Integer, String> cache = cache(gridIdx);
+
+            IgniteTx tx = cache.txStart(concurrency, isolation, 0, 0);
+
+            try {
+                for (Integer key : getKeys()) {
+                    if (isTestDebug()) {
+                        GridCacheAffinityFunction aff = cache.configuration().getAffinity();
+
+                        int part = aff.partition(key);
+
+                        debug("Key affinity [key=" + key + ", partition=" + part + ", affinity=" +
+                            U.toShortString(cache.affinity().mapPartitionToPrimaryAndBackups(part)) + ']');
+                    }
+
+                    String val = Integer.toString(key);
+
+                    switch (getOp()) {
+                        case READ: {
+                            debug("Reading key: " + key);
+
+                            checkMap(map, key, cache.get(key));
+
+                            break;
+                        }
+
+                        case WRITE: {
+                            debug("Writing key and value [key=" + key + ", val=" + val + ']');
+
+                            checkMap(map, key, cache.put(key, val));
+
+                            break;
+                        }
+
+                        case REMOVE: {
+                            debug("Removing key: " + key);
+
+                            checkMap(map, key, cache.remove(key));
+
+                            break;
+                        }
+
+                        default: { assert false; }
+                    }
+                }
+
+                tx.rollback();
+
+                debug("Rolled back transaction: " + tx);
+            }
+            catch (GridCacheTxOptimisticException e) {
+                tx.rollback();
+
+                log.warning("Rolled back transaction due to optimistic exception [tx=" + tx + ", e=" + e + ']');
+
+                throw e;
+            }
+            catch (Exception e) {
+                tx.rollback();
+
+                error("Rolled back transaction due to exception [tx=" + tx + ", e=" + e + ']');
+
+                throw e;
+            }
+            finally {
+                IgniteTx t1 = cache.tx();
+
+                debug("t1=" + t1);
+
+                assert t1 == null : "Thread should not have transaction upon completion ['t==tx'=" + (t1 == tx) +
+                    ", t=" + t1 + ']';
+            }
+        }
+    }
+
+    /**
+     * @param map Map to check against.
+     * @param key Key.
+     * @param val Value.
+     */
+    private void checkMap(ConcurrentMap<Integer, String> map, Integer key, String val) {
+        if (val != null) {
+            String v = map.putIfAbsent(key, val);
+
+            assert v == null || v.equals(val);
+        }
+    }
+
+    /**
+     * Checks integrity of all caches after tests.
+     *
+     * @throws IgniteCheckedException If check failed.
+     */
+    @SuppressWarnings({"ErrorNotRethrown"})
+    protected void finalChecks() throws Exception {
+        for (int i = 1; i <= maxKeyValue(); i++) {
+            for (int k = 0; k < 3; k++) {
+                try {
+                    GridCacheEntry<Integer, String> e1 = null;
+
+                    String v1 = null;
+
+                    for (int j = 0; j < gridCount(); j++) {
+                        GridCache<Integer, String> cache = cache(j);
+
+                        IgniteTx tx = cache.tx();
+
+                        assertNull("Transaction is not completed: " + tx, tx);
+
+                        if (j == 0) {
+                            e1 = cache.entry(i);
+
+                            v1 = e1.get();
+                        }
+                        else {
+                            GridCacheEntry<Integer, String> e2 = cache.entry(i);
+
+                            String v2 = e2.get();
+
+                            if (!F.eq(v2, v1)) {
+                                v1 = e1.get();
+                                v2 = e2.get();
+                            }
+
+                            assert F.eq(v2, v1) :
+                                "Invalid cached value [key=" + i + ", v1=" + v1 + ", v2=" + v2 + ", e1=" + e1 +
+                                    ", e2=" + e2 + ", grid=" + j + ']';
+                        }
+                    }
+
+                    break;
+                }
+                catch (AssertionError e) {
+                    if (k == 2)
+                        throw e;
+                    else
+                        // Wait for transactions to complete.
+                        Thread.sleep(500);
+                }
+            }
+        }
+
+        for (int i = 1; i <= maxKeyValue(); i++) {
+            for (int k = 0; k < 3; k++) {
+                try {
+                    for (int j = 0; j < gridCount(); j++) {
+                        GridCacheProjection<Integer, String> cache = cache(j);
+
+                        cache.removeAll();
+
+//                        assert cache.keySet().isEmpty() : "Cache is not empty: " + cache.entrySet();
+                    }
+
+                    break;
+                }
+                catch (AssertionError e) {
+                    if (k == 2)
+                        throw e;
+                    else
+                        // Wait for transactions to complete.
+                        Thread.sleep(500);
+                }
+            }
+        }
+    }
+
+    /**
+     * Cache operation.
+     */
+    protected enum OP {
+        /** Cache read. */
+        READ,
+
+        /** Cache write. */
+        WRITE,
+
+        /** Cache remove. */
+        REMOVE
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
new file mode 100644
index 0000000..9548cd0
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
@@ -0,0 +1,134 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.kernal.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.testframework.junits.common.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+/**
+ * Checks multithreaded put/get cache operations on one node.
+ */
+public abstract class IgniteTxConcurrentGetAbstractTest extends GridCommonAbstractTest {
+    /** Debug flag. */
+    private static final boolean DEBUG = false;
+
+    /** */
+    protected static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+    /** */
+    private static final int THREAD_NUM = 20;
+
+    /**
+     * Default constructor.
+     *
+     */
+    protected IgniteTxConcurrentGetAbstractTest() {
+        super(true /** Start grid. */);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi spi = new TcpDiscoverySpi();
+
+        spi.setIpFinder(ipFinder);
+
+        cfg.setDiscoverySpi(spi);
+
+        return cfg;
+    }
+
+    /**
+     * @param g Grid.
+     * @return Near cache.
+     */
+    GridNearCacheAdapter<String, Integer> near(Ignite g) {
+        return (GridNearCacheAdapter<String, Integer>)((GridKernal)g).<String, Integer>internalCache();
+    }
+
+    /**
+     * @param g Grid.
+     * @return DHT cache.
+     */
+    GridDhtCacheAdapter<String, Integer> dht(Ignite g) {
+        return near(g).dht();
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testPutGet() throws Exception {
+        // Random key.
+        final String key = UUID.randomUUID().toString();
+
+        final Ignite ignite = grid();
+
+        ignite.cache(null).put(key, "val");
+
+        GridCacheEntryEx<String,Integer> dhtEntry = dht(ignite).peekEx(key);
+
+        if (DEBUG)
+            info("DHT entry [hash=" + System.identityHashCode(dhtEntry) + ", entry=" + dhtEntry + ']');
+
+        String val = txGet(ignite, key);
+
+        assertNotNull(val);
+
+        info("Starting threads: " + THREAD_NUM);
+
+        multithreaded(new Callable<String>() {
+            @Override public String call() throws Exception {
+                return txGet(ignite, key);
+            }
+        }, THREAD_NUM, "getter-thread");
+    }
+
+    /**
+     * @param ignite Grid.
+     * @param key Key.
+     * @return Value.
+     * @throws Exception If failed.
+     */
+    private String txGet(Ignite ignite, String key) throws Exception {
+        try (IgniteTx tx = ignite.cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            GridCacheEntryEx<String, Integer> dhtEntry = dht(ignite).peekEx(key);
+
+            if (DEBUG)
+                info("DHT entry [hash=" + System.identityHashCode(dhtEntry) + ", xid=" + tx.xid() +
+                    ", entry=" + dhtEntry + ']');
+
+            String val = ignite.<String, String>cache(null).get(key);
+
+            assertNotNull(val);
+            assertEquals("val", val);
+
+            tx.commit();
+
+            return val;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
new file mode 100644
index 0000000..7b39975
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
@@ -0,0 +1,631 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.spi.*;
+import org.apache.ignite.spi.indexing.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.testframework.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.gridgain.grid.cache.GridCacheMode.*;
+
+/**
+ * Tests that transaction is invalidated in case of {@link GridCacheTxHeuristicException}.
+ */
+public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstractSelfTest {
+    /** Index SPI throwing exception. */
+    private static TestIndexingSpi idxSpi = new TestIndexingSpi();
+
+    /** */
+    private static final int PRIMARY = 0;
+
+    /** */
+    private static final int BACKUP = 1;
+
+    /** */
+    private static final int NOT_PRIMARY_AND_BACKUP = 2;
+
+    /** */
+    private static Integer lastKey;
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return 3;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        cfg.setIndexingSpi(idxSpi);
+
+        cfg.getTransactionsConfiguration().setTxSerializableEnabled(true);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
+        GridCacheConfiguration ccfg = super.cacheConfiguration(gridName);
+
+        ccfg.setQueryIndexEnabled(true);
+        ccfg.setStore(null);
+
+        return ccfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        super.beforeTestsStarted();
+
+        lastKey = 0;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        idxSpi.forceFail(false);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutNear() throws Exception {
+        checkPut(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+        checkPut(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutPrimary() throws Exception {
+        checkPut(true, keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkPut(false, keyForNode(grid(0).localNode(), PRIMARY));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutBackup() throws Exception {
+        checkPut(true, keyForNode(grid(0).localNode(), BACKUP));
+
+        checkPut(false, keyForNode(grid(0).localNode(), BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutAll() throws Exception {
+        checkPutAll(true, keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkPutAll(false, keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY));
+
+        if (gridCount() > 1) {
+            checkPutAll(true, keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY));
+
+            checkPutAll(false, keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY));
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemoveNear() throws Exception {
+        checkRemove(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+        checkRemove(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemovePrimary() throws Exception {
+        checkRemove(false, keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkRemove(true, keyForNode(grid(0).localNode(), PRIMARY));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemoveBackup() throws Exception {
+        checkRemove(false, keyForNode(grid(0).localNode(), BACKUP));
+
+        checkRemove(true, keyForNode(grid(0).localNode(), BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTransformNear() throws Exception {
+        checkTransform(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+        checkTransform(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTransformPrimary() throws Exception {
+        checkTransform(false, keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkTransform(true, keyForNode(grid(0).localNode(), PRIMARY));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTransformBackup() throws Exception {
+        checkTransform(false, keyForNode(grid(0).localNode(), BACKUP));
+
+        checkTransform(true, keyForNode(grid(0).localNode(), BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutNearTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+            }
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutPrimaryTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
+
+                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
+            }
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutBackupTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
+
+                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
+            }
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutMultipleKeysTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation,
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY));
+
+                checkPutTx(false, concurrency, isolation,
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY));
+
+                if (gridCount() > 1) {
+                    checkPutTx(true, concurrency, isolation,
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY));
+
+                    checkPutTx(false, concurrency, isolation,
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY));
+                }
+            }
+        }
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param keys Keys.
+     * @param concurrency Transaction concurrency.
+     * @param isolation Transaction isolation.
+     * @throws Exception If failed.
+     */
+    private void checkPutTx(boolean putBefore, GridCacheTxConcurrency concurrency,
+        GridCacheTxIsolation isolation, final Integer... keys) throws Exception {
+        assertTrue(keys.length > 0);
+
+        info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']');
+
+        GridCache<Integer, Integer> cache = grid(0).cache(null);
+
+        if (putBefore) {
+            idxSpi.forceFail(false);
+
+            info("Start transaction.");
+
+            try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
+                for (Integer key : keys) {
+                    info("Put " + key);
+
+                    cache.put(key, 1);
+                }
+
+                info("Commit.");
+
+                tx.commit();
+            }
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++) {
+            for (Integer key : keys)
+                grid(i).cache(null).get(key);
+        }
+
+        idxSpi.forceFail(true);
+
+        try {
+            info("Start transaction.");
+
+            try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
+                for (Integer key : keys) {
+                    info("Put " + key);
+
+                    cache.put(key, 2);
+                }
+
+                info("Commit.");
+
+                tx.commit();
+            }
+
+            fail("Transaction should fail.");
+        }
+        catch (GridCacheTxHeuristicException e) {
+            log.info("Expected exception: " + e);
+        }
+
+        for (Integer key : keys)
+            checkEmpty(key);
+    }
+
+    /**
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkEmpty(final Integer key) throws Exception {
+        idxSpi.forceFail(false);
+
+        info("Check key: " + key);
+
+        for (int i = 0; i < gridCount(); i++) {
+            GridKernal grid = (GridKernal) grid(i);
+
+            GridCacheAdapter cache = grid.internalCache(null);
+
+            GridCacheMapEntry entry = cache.map().getEntry(key);
+
+            log.info("Entry: " + entry);
+
+            if (entry != null) {
+                assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.lockedByAny());
+                assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.hasValue());
+            }
+
+            if (cache.isNear()) {
+                entry = ((GridNearCacheAdapter)cache).dht().map().getEntry(key);
+
+                log.info("Dht entry: " + entry);
+
+                if (entry != null) {
+                    assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.lockedByAny());
+                    assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.hasValue());
+                }
+            }
+        }
+
+        for (int i = 0; i < gridCount(); i++)
+            assertEquals("Unexpected value for grid " + i, null, grid(i).cache(null).get(key));
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkPut(boolean putBefore, final Integer key) throws Exception {
+        if (putBefore) {
+            idxSpi.forceFail(false);
+
+            info("Put key: " + key);
+
+            grid(0).cache(null).put(key, 1);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++)
+            grid(i).cache(null).get(key);
+
+        idxSpi.forceFail(true);
+
+        info("Going to put: " + key);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).put(key, 2);
+
+                return null;
+            }
+        }, GridCacheTxHeuristicException.class, null);
+
+        checkEmpty(key);
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkTransform(boolean putBefore, final Integer key) throws Exception {
+        if (putBefore) {
+            idxSpi.forceFail(false);
+
+            info("Put key: " + key);
+
+            grid(0).cache(null).put(key, 1);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++)
+            grid(i).cache(null).get(key);
+
+        idxSpi.forceFail(true);
+
+        info("Going to transform: " + key);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).transform(key, new IgniteClosure<Object, Object>() {
+                    @Override public Object apply(Object o) {
+                        return 2;
+                    }
+                });
+
+                return null;
+            }
+        }, GridCacheTxHeuristicException.class, null);
+
+        checkEmpty(key);
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param keys Keys.
+     * @throws Exception If failed.
+     */
+    private void checkPutAll(boolean putBefore, Integer ... keys) throws Exception {
+        assert keys.length > 1;
+
+        if (putBefore) {
+            idxSpi.forceFail(false);
+
+            Map<Integer, Integer> m = new HashMap<>();
+
+            for (Integer key : keys)
+                m.put(key, 1);
+
+            info("Put data: " + m);
+
+            grid(0).cache(null).putAll(m);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++) {
+            for (Integer key : keys)
+                grid(i).cache(null).get(key);
+        }
+
+        idxSpi.forceFail(true);
+
+        final Map<Integer, Integer> m = new HashMap<>();
+
+        for (Integer key : keys)
+            m.put(key, 2);
+
+        info("Going to putAll: " + m);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).putAll(m);
+
+                return null;
+            }
+        }, GridCacheTxHeuristicException.class, null);
+
+        for (Integer key : m.keySet())
+            checkEmpty(key);
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkRemove(boolean putBefore, final Integer key) throws Exception {
+        if (putBefore) {
+            idxSpi.forceFail(false);
+
+            info("Put key: " + key);
+
+            grid(0).cache(null).put(key, 1);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++)
+            grid(i).cache(null).get(key);
+
+        idxSpi.forceFail(true);
+
+        info("Going to remove: " + key);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).remove(key);
+
+                return null;
+            }
+        }, GridCacheTxHeuristicException.class, null);
+
+        checkEmpty(key);
+    }
+
+    /**
+     * Generates key of a given type for given node.
+     *
+     * @param node Node.
+     * @param type Key type.
+     * @return Key.
+     */
+    private Integer keyForNode(ClusterNode node, int type) {
+        GridCache<Integer, Integer> cache = grid(0).cache(null);
+
+        if (cache.configuration().getCacheMode() == LOCAL)
+            return ++lastKey;
+
+        if (cache.configuration().getCacheMode() == REPLICATED && type == NOT_PRIMARY_AND_BACKUP)
+            return ++lastKey;
+
+        for (int key = lastKey + 1; key < (lastKey + 10_000); key++) {
+            switch (type) {
+                case NOT_PRIMARY_AND_BACKUP: {
+                    if (!cache.affinity().isPrimaryOrBackup(node, key)) {
+                        lastKey = key;
+
+                        return key;
+                    }
+
+                    break;
+                }
+
+                case PRIMARY: {
+                    if (cache.affinity().isPrimary(node, key)) {
+                        lastKey = key;
+
+                        return key;
+                    }
+
+                    break;
+                }
+
+                case BACKUP: {
+                    if (cache.affinity().isBackup(node, key)) {
+                        lastKey = key;
+
+                        return key;
+                    }
+
+                    break;
+                }
+
+                default:
+                    fail();
+            }
+        }
+
+        throw new IllegalStateException("Failed to find key.");
+    }
+
+    /**
+     * Indexing SPI that can fail on demand.
+     */
+    private static class TestIndexingSpi extends IgniteSpiAdapter implements GridIndexingSpi {
+        /** Fail flag. */
+        private volatile boolean fail;
+
+        /**
+         * @param fail Fail flag.
+         */
+        public void forceFail(boolean fail) {
+            this.fail = fail;
+        }
+
+        /** {@inheritDoc} */
+        @Override public Iterator<?> query(@Nullable String spaceName, Collection<Object> params, @Nullable GridIndexingQueryFilter filters) throws IgniteSpiException {
+            throw new UnsupportedOperationException();
+        }
+
+        /** {@inheritDoc} */
+        @Override public void store(@Nullable String spaceName, Object key, Object val, long expirationTime)
+            throws IgniteSpiException {
+            if (fail) {
+                fail = false;
+
+                throw new IgniteSpiException("Test exception.");
+            }
+        }
+
+        /** {@inheritDoc} */
+        @Override public void remove(@Nullable String spaceName, Object k)
+            throws IgniteSpiException {
+            if (fail) {
+                fail = false;
+
+                throw new IgniteSpiException("Test exception.");
+            }
+        }
+
+        /** {@inheritDoc} */
+        @Override public void onSwap(@Nullable String spaceName, Object key) throws IgniteSpiException {
+            // No-op.
+        }
+
+        /** {@inheritDoc} */
+        @Override public void onUnswap(@Nullable String spaceName, Object key, Object val) throws IgniteSpiException {
+            // No-op.
+        }
+
+        /** {@inheritDoc} */
+        @Override public void spiStart(@Nullable String gridName) throws IgniteSpiException {
+            // No-op.
+        }
+
+        /** {@inheritDoc} */
+        @Override public void spiStop() throws IgniteSpiException {
+            // No-op.
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
new file mode 100644
index 0000000..4822742
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
@@ -0,0 +1,918 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.resources.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.cache.affinity.*;
+import org.gridgain.grid.cache.query.*;
+import org.gridgain.grid.kernal.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.gridgain.testframework.junits.common.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.atomic.*;
+
+import static org.gridgain.grid.cache.GridCacheMode.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+
+/**
+ * Checks basic multi-node transactional operations.
+ */
+@SuppressWarnings({"PointlessBooleanExpression", "ConstantConditions", "PointlessArithmeticExpression"})
+public abstract class IgniteTxMultiNodeAbstractTest extends GridCommonAbstractTest {
+    /** Debug flag. */
+    private static final boolean DEBUG = false;
+
+    /** */
+    protected static final int GRID_CNT = 4;
+
+    /** */
+    protected static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+    /** */
+    protected static final int RETRIES = 300;
+
+    /** Log frequency. */
+    private static final int LOG_FREQ = RETRIES < 100 || DEBUG ? 1 : RETRIES / 5;
+
+    /** Counter key. */
+    private static final String CNTR_KEY = "CNTR_KEY";
+
+    /** Removed counter key. */
+    private static final String RMVD_CNTR_KEY = "RMVD_CNTR_KEY";
+
+    /** */
+    protected static final AtomicInteger cntr = new AtomicInteger();
+
+    /** */
+    protected static final AtomicInteger cntrRmvd = new AtomicInteger();
+
+    /** Number of backups for partitioned tests. */
+    protected int backups = 2;
+
+     /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi spi = new TcpDiscoverySpi();
+
+        spi.setIpFinder(ipFinder);
+
+        cfg.setDiscoverySpi(spi);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        backups = 0;
+
+        cntr.set(0);
+    }
+
+    /**
+     *
+     * @param ignite Grid
+     * @param key Key.
+     * @return Primary node id.
+     */
+    @SuppressWarnings("unchecked")
+    private static UUID primaryId(Ignite ignite, Object key) {
+        GridCacheAffinity aff = ignite.cache(null).cache().affinity();
+
+        Collection<ClusterNode> affNodes = aff.mapPartitionToPrimaryAndBackups(aff.partition(key));
+
+        ClusterNode first = F.first(affNodes);
+
+        assert first != null;
+
+        return first.id();
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param key Key.
+     * @return DHT entry.
+     */
+    @Nullable private static GridCacheEntryEx<Object, Integer> dhtEntry(UUID nodeId, Object key) {
+        Ignite g = G.ignite(nodeId);
+
+        GridDhtCacheAdapter<Object, Integer> dht =
+            ((GridKernal)g).<Object, Integer>internalCache().context().near().dht();
+
+        return dht.peekEx(key);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param key Key.
+     * @return Near entry.
+     */
+    @Nullable private static GridCacheEntryEx<Object, Integer> nearEntry(UUID nodeId, Object key) {
+        Ignite g = G.ignite(nodeId);
+
+        GridNearCacheAdapter<Object, Integer> near = ((GridKernal)g).<Object, Integer>internalCache().context().near();
+
+        return near.peekEx(key);
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @param itemKey Item key.
+     * @param retry Retry count.
+     * @throws IgniteCheckedException If failed.
+     */
+    @SuppressWarnings("unchecked")
+    private void onItemNear(boolean putCntr, Ignite ignite, String itemKey, int retry) throws IgniteCheckedException {
+        GridCache<String, Integer> cache = ignite.cache(null);
+
+        UUID locId = ignite.cluster().localNode().id();
+        UUID itemPrimaryId = primaryId(ignite, itemKey);
+        UUID cntrPrimaryId = primaryId(ignite, CNTR_KEY);
+
+        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
+
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            if (DEBUG)
+                info("Before near get [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
+                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
+                    ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
+                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
+
+            Integer cntr = cache.get(CNTR_KEY);
+
+            int newVal = cntr + 1;
+
+            if (putCntr) {
+                if (DEBUG)
+                    info("Before near put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
+                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
+                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
+
+                cache.putx(CNTR_KEY, newVal);
+            }
+
+            if (DEBUG)
+                info("Before near put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr + ", new=" + newVal +
+                    ", nearEntry=" + nearEntry(locId, itemKey) + ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+            cache.putx(itemKey, newVal);
+
+            if (DEBUG)
+                info("After near put item [retry=" + retry + ", key=" + itemKey + ", old=" + cntr + ", new=" + newVal +
+                    ", nearEntry=" + nearEntry(locId, itemKey) + ", dhtEntry" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+            tx.commit();
+        }
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @param itemKey Item key.
+     * @param retry Retry count.
+     * @throws IgniteCheckedException If failed.
+     */
+    @SuppressWarnings("unchecked")
+    private void onItemPrimary(boolean putCntr, Ignite ignite, String itemKey, int retry) throws IgniteCheckedException {
+        GridCache<String, Integer> cache = ignite.cache(null);
+
+        UUID locId = ignite.cluster().localNode().id();
+        UUID itemPrimaryId = primaryId(ignite, itemKey);
+        UUID cntrPrimaryId = primaryId(ignite, CNTR_KEY);
+
+        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
+
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            if (DEBUG)
+                info("Before item primary get [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
+                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
+                    ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
+                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
+
+            Integer cntr = cache.get(CNTR_KEY);
+
+            int newVal = cntr + 1;
+
+            if (putCntr) {
+                if (DEBUG)
+                    info("Before item primary put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
+                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
+                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
+
+                cache.putx(CNTR_KEY, newVal);
+            }
+
+            if (DEBUG)
+                info("Before item primary put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
+                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
+                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+            cache.putx(itemKey, cntr);
+
+            if (DEBUG)
+                info("After item primary put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
+                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
+                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+            tx.commit();
+        }
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @param retry Retry count.
+     * @throws IgniteCheckedException If failed.
+     */
+    @SuppressWarnings("unchecked")
+    private void onRemoveItemQueried(boolean putCntr, Ignite ignite, int retry) throws IgniteCheckedException {
+        GridCache<String, Integer> cache = ignite.cache(null);
+
+        UUID locId = ignite.cluster().localNode().id();
+        UUID cntrPrimaryId = primaryId(ignite, RMVD_CNTR_KEY);
+
+        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
+
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            if (DEBUG)
+                ignite.log().info("Before item lock [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
+                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
+                    ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
+                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
+
+            Integer cntr = cache.get(RMVD_CNTR_KEY);
+
+            assert cntr != null : "Received null counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
+                ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
+                (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']';
+
+            int newVal = cntr - 1;
+
+            if (putCntr) {
+                if (DEBUG)
+                    ignite.log().info("Before item put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
+                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
+                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
+
+                cache.putx(RMVD_CNTR_KEY, newVal);
+            }
+
+            while (true) {
+                GridCacheQuery<Map.Entry<String, Integer>> qry =
+                    cache.queries().createSqlQuery(Integer.class, "_key != 'RMVD_CNTR_KEY' and _val >= 0");
+
+                if (DEBUG)
+                    ignite.log().info("Before executing query [retry=" + retry + ", locId=" + locId +
+                        ", txId=" + tx.xid() + ']');
+
+                Map.Entry<String, Integer> entry = qry.execute().next();
+
+                if (entry == null) {
+                    ignite.log().info("*** Queue is empty.");
+
+                    return;
+                }
+
+                String itemKey = entry.getKey();
+
+                UUID itemPrimaryId = primaryId(ignite, itemKey);
+
+                // Lock the item key.
+                if (cache.get(itemKey) != null) {
+                    if (DEBUG)
+                        ignite.log().info("Before item remove [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
+                            ", nearEntry=" + nearEntry(locId, itemKey) +
+                            ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+                    assert cache.removex(itemKey) : "Failed to remove key [locId=" + locId +
+                        ", primaryId=" + itemPrimaryId + ", key=" + itemKey + ']';
+
+                    if (DEBUG)
+                        info("After item remove item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
+                            ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
+                            ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+                    break;
+                }
+                else
+                    cache.removex(itemKey);
+            }
+
+            tx.commit();
+        }
+        catch (Error e) {
+            ignite.log().error("Error in test.", e);
+
+            throw e;
+        }
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @param retry Retry count.
+     * @throws IgniteCheckedException If failed.
+     */
+    @SuppressWarnings("unchecked")
+    private void onRemoveItemSimple(boolean putCntr, Ignite ignite, int retry) throws IgniteCheckedException {
+        GridCache<String, Integer> cache = ignite.cache(null);
+
+        UUID locId = ignite.cluster().localNode().id();
+        UUID cntrPrimaryId = primaryId(ignite, RMVD_CNTR_KEY);
+
+        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
+
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            if (DEBUG)
+                ignite.log().info("Before item lock [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
+                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
+                    ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
+                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
+
+            Integer cntr = cache.get(RMVD_CNTR_KEY);
+
+            assert cntr != null : "Received null counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
+                ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
+                (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']';
+
+            String itemKey = Integer.toString(cntrRmvd.getAndIncrement());
+
+            Integer val = cache.get(itemKey);
+
+            assert val != null : "Received null val [retry=" + retry + ", cacheSize=" + cache.size() + ']';
+
+            UUID itemPrimaryId = primaryId(ignite, itemKey);
+
+            int newVal = cntr - 1;
+
+            if (putCntr) {
+                if (DEBUG)
+                    ignite.log().info("Before item put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
+                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
+                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
+
+                cache.putx(RMVD_CNTR_KEY, newVal);
+            }
+
+            if (DEBUG)
+                ignite.log().info("Before item remove item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
+                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
+                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+            assertTrue(cache.removex(itemKey));
+
+            if (DEBUG)
+                info("After item put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
+                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
+                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
+
+            tx.commit();
+        }
+        catch (Error e) {
+            ignite.log().error("Error in test.", e);
+
+            throw e;
+        }
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @throws IgniteCheckedException If failed.
+     */
+    private void retries(Ignite ignite, boolean putCntr) throws IgniteCheckedException {
+        UUID nodeId = ignite.cluster().localNode().id();
+
+        for (int i = 0; i < RETRIES; i++) {
+            int cnt = cntr.getAndIncrement();
+
+            if (DEBUG)
+                ignite.log().info("***");
+            if (DEBUG || cnt % LOG_FREQ == 0)
+                ignite.log().info("*** Iteration #" + i + " ***");
+            if (DEBUG)
+                ignite.log().info("***");
+
+            String itemKey = nodeId + "-#" + i;
+
+            if (nodeId.equals(primaryId(ignite, itemKey)))
+                onItemPrimary(putCntr, ignite, itemKey, i);
+            else
+                onItemNear(putCntr, ignite, itemKey, i);
+        }
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @throws IgniteCheckedException If failed.
+     */
+    private void removeRetriesQueried(Ignite ignite, boolean putCntr) throws IgniteCheckedException {
+        for (int i = 0; i < RETRIES; i++) {
+            if (DEBUG)
+                ignite.log().info("***");
+
+            if (DEBUG || cntrRmvd.getAndIncrement() % LOG_FREQ == 0)
+                ignite.log().info("*** Iteration #" + i + " ***");
+
+            if (DEBUG)
+                ignite.log().info("***");
+
+            onRemoveItemQueried(putCntr, ignite, i);
+
+            if (i % 50 == 0)
+                ((GridKernal) ignite).internalCache().context().tm().printMemoryStats();
+        }
+    }
+
+    /**
+     *
+     * @param putCntr Put counter to cache.
+     * @param ignite Grid.
+     * @throws IgniteCheckedException If failed.
+     */
+    private void removeRetriesSimple(Ignite ignite, boolean putCntr) throws IgniteCheckedException {
+        for (int i = 0; i < RETRIES; i++) {
+            if (DEBUG)
+                ignite.log().info("***");
+
+            if (cntrRmvd.get() % LOG_FREQ == 0 || DEBUG)
+                ignite.log().info("*** Iteration #" + i + " ***");
+
+            if (DEBUG)
+                ignite.log().info("***");
+
+            onRemoveItemSimple(putCntr, ignite, i);
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testPutOneEntryInTx() throws Exception {
+//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
+
+        startGrids(GRID_CNT);
+
+        try {
+            grid(0).cache(null).put(CNTR_KEY, 0);
+
+            grid(0).compute().call(new PutOneEntryInTxJob());
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testPutTwoEntriesInTx() throws Exception {
+//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
+
+        startGrids(GRID_CNT);
+
+        try {
+            grid(0).cache(null).put(CNTR_KEY, 0);
+
+            grid(0).compute().call(new PutTwoEntriesInTxJob());
+
+            printCounter();
+
+            assertEquals(GRID_CNT * RETRIES, grid(0).cache(null).get(CNTR_KEY));
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testPutOneEntryInTxMultiThreaded() throws Exception {
+//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
+
+        startGrids(GRID_CNT);
+
+        Collection<Thread> threads = new LinkedList<>();
+
+        try {
+            // Initialize.
+            grid(0).cache(null).put(CNTR_KEY, 0);
+
+            for (int i = 0; i < GRID_CNT; i++) {
+                final int gridId = i;
+
+                threads.add(new Thread("thread-#" + i) {
+                    @Override public void run() {
+                        try {
+                            retries(grid(gridId), false);
+                        }
+                        catch (IgniteCheckedException e) {
+                            throw new IgniteException(e);
+                        }
+                    }
+                });
+            }
+
+            for (Thread th : threads)
+                th.start();
+
+            for (Thread th : threads)
+                th.join();
+
+            printCounter();
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testPutTwoEntryInTxMultiThreaded() throws Exception {
+//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
+
+        startGrids(GRID_CNT);
+
+        Collection<Thread> threads = new LinkedList<>();
+
+        try {
+            grid(0).cache(null).put(CNTR_KEY, 0);
+
+            for (int i = 0; i < GRID_CNT; i++) {
+                final int gridId = i;
+
+                threads.add(new Thread() {
+                    @Override public void run() {
+                        try {
+                            retries(grid(gridId), true);
+                        }
+                        catch (IgniteCheckedException e) {
+                            throw new IgniteException(e);
+                        }
+                    }
+                });
+            }
+
+            for (Thread th : threads)
+                th.start();
+
+            for (Thread th : threads)
+                th.join();
+
+            printCounter();
+
+            assertEquals(GRID_CNT * RETRIES, grid(0).cache(null).get(CNTR_KEY));
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testRemoveInTxQueried() throws Exception {
+        //resetLog4j(Level.INFO, true, GridCacheTxManager.class.getPackage().getName());
+
+        startGrids(GRID_CNT);
+
+        try {
+            GridCache<String, Integer> cache = grid(0).cache(null);
+
+            cache.put(RMVD_CNTR_KEY, 0);
+
+            for (int i = 0; i < GRID_CNT * RETRIES; i++)
+                cache.put(String.valueOf(i), i);
+
+            for (int i = 0; i < RETRIES; i++)
+                for (int j = 0; j < GRID_CNT; j++)
+                    assertEquals(i, grid(j).cache(null).get(String.valueOf(i)));
+
+            GridCacheQuery<Map.Entry<String, Integer>> qry = cache.queries().createSqlQuery(Integer.class, " _val >= 0");
+
+            Collection<Map.Entry<String, Integer>> entries = qry.execute().get();
+
+            assertFalse(entries.isEmpty());
+
+            cntrRmvd.set(0);
+
+            grid(0).compute().call(new RemoveInTxJobQueried());
+
+            for (int i = 0; i < GRID_CNT * RETRIES; i++)
+                for (int ii = 0; ii < GRID_CNT; ii++)
+                    assertEquals(null, grid(ii).cache(null).get(Integer.toString(i)));
+
+            assertEquals(-GRID_CNT * RETRIES, grid(0).cache(null).peek(RMVD_CNTR_KEY));
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testRemoveInTxSimple() throws Exception {
+        startGrids(GRID_CNT);
+
+        try {
+            GridCache<String, Integer> cache = grid(0).cache(null);
+
+            cache.put(RMVD_CNTR_KEY, 0);
+
+            for (int i = 0; i < GRID_CNT * RETRIES; i++)
+                cache.put(Integer.toString(i), i);
+
+            for (int i = 0; i < RETRIES; i++)
+                for (int j = 0; j < GRID_CNT; j++)
+                    assertEquals(i, grid(j).cache(null).get(Integer.toString(i)));
+
+            GridCacheQuery<Map.Entry<String, Integer>> qry = cache.queries().createSqlQuery(Integer.class, " _val >= 0");
+
+            Collection<Map.Entry<String, Integer>> entries = qry.execute().get();
+
+            assertFalse(entries.isEmpty());
+
+            cntrRmvd.set(0);
+
+            grid(0).compute().call(new RemoveInTxJobSimple());
+
+            // Check using cache.
+            for (int i = 0; i < GRID_CNT * RETRIES; i++)
+                for (int ii = 0; ii < GRID_CNT; ii++)
+                    assertEquals(null, grid(ii).cache(null).get(Integer.toString(i)));
+
+            // Check using query.
+            entries = qry.execute().get();
+
+            assertTrue(entries.isEmpty());
+
+            assertEquals(-GRID_CNT * RETRIES, grid(0).cache(null).peek(RMVD_CNTR_KEY));
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * JUnit.
+     *
+     * @throws Exception If failed.
+     */
+    public void testRemoveInTxQueriedMultiThreaded() throws Exception {
+        //resetLog4j(Level.INFO, true, GridCacheTxManager.class.getPackage().getName());
+
+        backups = 1;
+
+        try {
+            startGrids(GRID_CNT);
+
+            GridCache<String, Integer> cache = grid(0).cache(null);
+
+            // Store counter.
+            cache.put(RMVD_CNTR_KEY, 0);
+
+            // Store values.
+            for (int i = 1; i <= GRID_CNT * RETRIES; i++)
+                cache.put(String.valueOf(i), i);
+
+            for (int j = 0; j < GRID_CNT; j++)
+                assertEquals(0, grid(j).cache(null).get(RMVD_CNTR_KEY));
+
+            for (int i = 1; i <= RETRIES; i++)
+                for (int j = 0; j < GRID_CNT; j++)
+                    assertEquals(i, grid(j).cache(null).get(String.valueOf(i)));
+
+            GridCacheQuery<Map.Entry<String, Integer>> qry = cache.queries().createSqlQuery(Integer.class, "_val >= 0");
+
+            // Load all results.
+            qry.keepAll(true);
+            qry.includeBackups(false);
+
+            // NOTE: for replicated cache includeBackups(false) is not enough since
+            // all nodes are considered primary, so we have to deduplicate result set.
+            if (cache.configuration().getCacheMode() == REPLICATED)
+                qry.enableDedup(true);
+
+            List<Map.Entry<String, Integer>> entries =
+                new ArrayList<>(qry.execute().get());
+
+            Collections.sort(entries, new Comparator<Map.Entry<String, Integer>>() {
+                @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
+                    return o1.getValue().compareTo(o2.getValue());
+                }
+            });
+
+            info("Queried entries: " + entries);
+
+            int val = 0;
+
+            for (Map.Entry<String, Integer> e : entries) {
+                assertEquals(val, e.getValue().intValue());
+
+                val++;
+            }
+
+            assertFalse(entries.isEmpty());
+
+            cntrRmvd.set(0);
+
+            Collection<Thread> threads = new LinkedList<>();
+
+            for (int i = 0; i < GRID_CNT; i++) {
+                final int gridId = i;
+
+                threads.add(new Thread() {
+                    @Override public void run() {
+                        try {
+                            removeRetriesQueried(grid(gridId), true);
+                        }
+                        catch (IgniteCheckedException e) {
+                            throw new IgniteException(e);
+                        }
+                    }
+                });
+            }
+
+            for (Thread th : threads)
+                th.start();
+
+            for (Thread th : threads)
+                th.join();
+
+            for (int i = 0; i < GRID_CNT * RETRIES; i++)
+                for (int ii = 0; ii < GRID_CNT; ii++)
+                    assertEquals("Got invalid value from cache [gridIdx=" + ii + ", key=" + i + ']',
+                        null, grid(ii).cache(null).get(Integer.toString(i)));
+
+            assertEquals(-GRID_CNT * RETRIES, grid(0).cache(null).peek(RMVD_CNTR_KEY));
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
+     * @throws IgniteCheckedException If failed.
+     */
+    private void printCounter() throws IgniteCheckedException {
+        info("***");
+        info("*** Peeked counter: " + grid(0).cache(null).peek(CNTR_KEY));
+        info("*** Got counter: " + grid(0).cache(null).get(CNTR_KEY));
+        info("***");
+    }
+
+    /**
+     * Test job putting data to queue.
+     */
+    protected class PutTwoEntriesInTxJob implements IgniteCallable<Integer> {
+        /** */
+        @GridToStringExclude
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** {@inheritDoc} */
+        @SuppressWarnings("unchecked")
+        @Override public Integer call() throws IgniteCheckedException {
+            assertNotNull(ignite);
+
+            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
+
+            retries(ignite, true);
+
+            return 0;
+        }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return S.toString(PutTwoEntriesInTxJob.class, this);
+        }
+    }
+
+    /**
+     * Test job putting data to cache.
+     */
+    protected class PutOneEntryInTxJob implements IgniteCallable<Integer> {
+        /** */
+        @GridToStringExclude
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** {@inheritDoc} */
+        @SuppressWarnings("unchecked")
+        @Override public Integer call() throws IgniteCheckedException {
+            assertNotNull(ignite);
+
+            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
+
+            retries(ignite, false);
+
+            return 0;
+        }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return S.toString(PutOneEntryInTxJob.class, this);
+        }
+    }
+
+    /**
+     * Test job removing data from cache using query.
+     */
+    protected class RemoveInTxJobQueried implements IgniteCallable<Integer> {
+        /** */
+        @GridToStringExclude
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** {@inheritDoc} */
+        @SuppressWarnings("unchecked")
+        @Override public Integer call() throws IgniteCheckedException {
+            assertNotNull(ignite);
+
+            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
+
+            removeRetriesQueried(ignite, true);
+
+            return 0;
+        }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return S.toString(RemoveInTxJobQueried.class, this);
+        }
+    }
+
+    /**
+     * Test job removing data from cache.
+     */
+    protected class RemoveInTxJobSimple implements IgniteCallable<Integer> {
+        /** */
+        @GridToStringExclude
+        @IgniteInstanceResource
+        private Ignite ignite;
+
+        /** {@inheritDoc} */
+        @SuppressWarnings("unchecked")
+        @Override public Integer call() throws IgniteCheckedException {
+            assertNotNull(ignite);
+
+            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
+
+            removeRetriesSimple(ignite, true);
+
+            return 0;
+        }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return S.toString(RemoveInTxJobSimple.class, this);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
new file mode 100644
index 0000000..efb7a26
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
@@ -0,0 +1,275 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.testframework.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+/**
+ * Tests for local transactions.
+ */
+@SuppressWarnings( {"BusyWait"})
+public abstract class IgniteTxMultiThreadedAbstractTest extends IgniteTxAbstractTest {
+    /**
+     * @return Thread count.
+     */
+    protected abstract int threadCount();
+
+    /**
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @throws Exception If check failed.
+     */
+    protected void checkCommitMultithreaded(final GridCacheTxConcurrency concurrency,
+        final GridCacheTxIsolation isolation) throws Exception {
+        GridTestUtils.runMultiThreaded(new Callable<Object>() {
+            @Nullable @Override public Object call() throws Exception {
+                Thread t = Thread.currentThread();
+
+                t.setName(t.getName() + "-id-" + t.getId());
+
+                info("Starting commit thread: " + Thread.currentThread().getName());
+
+                try {
+                    checkCommit(concurrency, isolation);
+                }
+                finally {
+                    info("Finished commit thread: " + Thread.currentThread().getName());
+                }
+
+                return null;
+            }
+        }, threadCount(), concurrency + "-" + isolation);
+    }
+
+    /**
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @throws Exception If check failed.
+     */
+    protected void checkRollbackMultithreaded(final GridCacheTxConcurrency concurrency,
+        final GridCacheTxIsolation isolation) throws Exception {
+        final ConcurrentMap<Integer, String> map = new ConcurrentHashMap<>();
+
+        GridTestUtils.runMultiThreaded(new Callable<Object>() {
+            @Nullable @Override public Object call() throws Exception {
+                Thread t = Thread.currentThread();
+
+                t.setName(t.getName() + "-id-" + t.getId());
+
+                info("Starting rollback thread: " + Thread.currentThread().getName());
+
+                try {
+                    checkRollback(map, concurrency, isolation);
+
+                    return null;
+                }
+                finally {
+                    info("Finished rollback thread: " + Thread.currentThread().getName());
+                }
+            }
+        }, threadCount(), concurrency + "-" + isolation);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticReadCommittedCommitMultithreaded() throws Exception {
+        checkCommitMultithreaded(PESSIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticRepeatableReadCommitMultithreaded() throws Exception {
+        checkCommitMultithreaded(PESSIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticSerializableCommitMultithreaded() throws Exception {
+        checkCommitMultithreaded(PESSIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticReadCommittedCommitMultithreaded() throws Exception {
+        checkCommitMultithreaded(OPTIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticRepeatableReadCommitMultithreaded() throws Exception {
+        checkCommitMultithreaded(OPTIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticSerializableCommitMultithreaded() throws Exception {
+        checkCommitMultithreaded(OPTIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticReadCommittedRollbackMultithreaded() throws Exception {
+        checkRollbackMultithreaded(PESSIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticRepeatableReadRollbackMultithreaded() throws Exception {
+        checkRollbackMultithreaded(PESSIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticSerializableRollbackMultithreaded() throws Exception {
+        checkRollbackMultithreaded(PESSIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticReadCommittedRollbackMultithreaded() throws Exception {
+        checkRollbackMultithreaded(OPTIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticRepeatableReadRollbackMultithreaded() throws Exception {
+        checkRollbackMultithreaded(OPTIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticSerializableRollbackMultithreaded() throws Exception {
+        checkRollbackMultithreaded(OPTIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    // TODO: GG-8063, enabled when fixed.
+    public void _testOptimisticSerializableConsistency() throws Exception {
+        final GridCache<Integer, Long> cache = grid(0).cache(null);
+
+        final int THREADS = 2;
+
+        final int ITERATIONS = 100;
+
+        final int key = 0;
+
+        cache.put(key, 0L);
+
+        List<IgniteFuture<Collection<Long>>> futs = new ArrayList<>(THREADS);
+
+        for (int i = 0; i < THREADS; i++) {
+            futs.add(GridTestUtils.runAsync(new Callable<Collection<Long>>() {
+                @Override public Collection<Long> call() throws Exception {
+                    Collection<Long> res = new ArrayList<>();
+
+                    for (int i = 0; i < ITERATIONS; i++) {
+                        while (true) {
+                            try (IgniteTx tx = cache.txStart(OPTIMISTIC, SERIALIZABLE)) {
+                                long val = cache.get(key);
+
+                                cache.put(key, val + 1);
+
+                                tx.commit();
+
+                                assertTrue(res.add(val + 1));
+
+                                break;
+                            }
+                            catch(GridCacheTxOptimisticException e) {
+                                log.info("Got error, will retry: " + e);
+                            }
+                        }
+                    }
+
+                    return res;
+                }
+            }));
+        }
+
+        List<Collection<Long>> cols = new ArrayList<>(THREADS);
+
+        for (IgniteFuture<Collection<Long>> fut : futs) {
+            Collection<Long> col = fut.get();
+
+            assertEquals(ITERATIONS, col.size());
+
+            cols.add(col);
+        }
+
+        Set<Long> duplicates = new HashSet<>();
+
+        for (Collection<Long> col1 : cols) {
+            for (Long val1 : col1) {
+                for (Collection<Long> col2 : cols) {
+                    if (col1 == col2)
+                        continue;
+
+                    for (Long val2 : col2) {
+                        if (val1.equals(val2)) {
+                            duplicates.add(val2);
+
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+
+        assertTrue("Found duplicated values: " + duplicates, duplicates.isEmpty());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
new file mode 100644
index 0000000..8decc56
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
@@ -0,0 +1,169 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.spi.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.managers.communication.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.apache.ignite.spi.communication.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.grid.util.direct.*;
+import org.gridgain.testframework.junits.common.*;
+
+import java.util.concurrent.atomic.*;
+
+import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
+import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+/**
+ * Tests reentry in pessimistic repeatable read tx.
+ */
+public abstract class IgniteTxReentryAbstractSelfTest extends GridCommonAbstractTest {
+    /** IP finder. */
+    private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+
+    /** @return Cache mode. */
+    protected abstract GridCacheMode cacheMode();
+
+    /** @return Near enabled. */
+    protected abstract boolean nearEnabled();
+
+    /** @return Grid count. */
+    protected abstract int gridCount();
+
+    /** @return Test key. */
+    protected abstract int testKey();
+
+    /** @return Expected number of near lock requests. */
+    protected abstract int expectedNearLockRequests();
+
+    /** @return Expected number of near lock requests. */
+    protected abstract int expectedDhtLockRequests();
+
+    /** @return Expected number of near lock requests. */
+    protected abstract int expectedDistributedLockRequests();
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+
+        discoSpi.setIpFinder(IP_FINDER);
+
+        cfg.setCommunicationSpi(new CountingCommunicationSpi());
+        cfg.setDiscoverySpi(discoSpi);
+
+        GridCacheConfiguration cacheCfg = defaultCacheConfiguration();
+
+        cacheCfg.setCacheMode(cacheMode());
+        cacheCfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
+        cacheCfg.setAtomicityMode(TRANSACTIONAL);
+        cacheCfg.setDistributionMode(nearEnabled() ? NEAR_PARTITIONED : PARTITIONED_ONLY);
+
+        cfg.setCacheConfiguration(cacheCfg);
+
+        return cfg;
+    }
+
+    /** @throws Exception If failed. */
+    public void testLockReentry() throws Exception {
+        startGrids(gridCount());
+
+        try {
+            GridCache<Object, Object> cache = grid(0).cache(null);
+
+            // Find test key.
+            int key = testKey();
+
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                // One near lock request.
+                cache.get(key);
+
+                // No more requests.
+                cache.remove(key);
+
+                tx.commit();
+            }
+
+            CountingCommunicationSpi commSpi = (CountingCommunicationSpi)grid(0).configuration().getCommunicationSpi();
+
+            assertEquals(expectedNearLockRequests(), commSpi.nearLocks());
+            assertEquals(expectedDhtLockRequests(), commSpi.dhtLocks());
+            assertEquals(expectedDistributedLockRequests(), commSpi.distributedLocks());
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /** Counting communication SPI. */
+    protected static class CountingCommunicationSpi extends TcpCommunicationSpi {
+        /** Distributed lock requests. */
+        private AtomicInteger distLocks = new AtomicInteger();
+
+        /** Near lock requests. */
+        private AtomicInteger nearLocks = new AtomicInteger();
+
+        /** Dht locks. */
+        private AtomicInteger dhtLocks = new AtomicInteger();
+
+        /** {@inheritDoc} */
+        @Override public void sendMessage(ClusterNode node, GridTcpCommunicationMessageAdapter msg)
+            throws IgniteSpiException {
+            countMsg((GridIoMessage)msg);
+
+            super.sendMessage(node, msg);
+        }
+
+        /**
+         * Unmarshals the message and increments counters.
+         *
+         * @param msg Message to check.
+         */
+        private void countMsg(GridIoMessage msg) {
+            Object origMsg = msg.message();
+
+            if (origMsg instanceof GridDistributedLockRequest) {
+                distLocks.incrementAndGet();
+
+                if (origMsg instanceof GridNearLockRequest)
+                    nearLocks.incrementAndGet();
+                else if (origMsg instanceof GridDhtLockRequest)
+                    dhtLocks.incrementAndGet();
+            }
+        }
+
+        /** @return Number of recorded distributed locks. */
+        public int distributedLocks() {
+            return distLocks.get();
+        }
+
+        /** @return Number of recorded distributed locks. */
+        public int nearLocks() {
+            return nearLocks.get();
+        }
+
+        /** @return Number of recorded distributed locks. */
+        public int dhtLocks() {
+            return dhtLocks.get();
+        }
+    }
+}


[16/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
index ada5eea..fb93ad9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
@@ -86,7 +86,7 @@ import java.util.concurrent.*;
  * </li>
  * <li>
  *  Various {@code 'txStart(..)'} methods to perform various cache
- *  operations within a transaction (see {@link GridCacheTx} for more information).
+ *  operations within a transaction (see {@link IgniteTx} for more information).
  * </li>
  * <li>
  *  {@link #queries()} method to get an instance of {@link GridCacheQueries} service for working
@@ -115,7 +115,7 @@ import java.util.concurrent.*;
  * and {@code 'remove(..)'} operations are transactional and will participate in an ongoing transaction,
  * if any. Other methods like {@code 'peek(..)'} or various {@code 'contains(..)'} methods may
  * be transaction-aware, i.e. check in-transaction entries first, but will not affect the current
- * state of transaction. See {@link GridCacheTx} documentation for more information
+ * state of transaction. See {@link IgniteTx} documentation for more information
  * about transactions.
  * <h1 class="header">Group Locking</h1>
  * <i>Group Locking</i> is a feature where instead of acquiring individual locks, GridGain will lock
@@ -370,7 +370,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
 
     /**
      * Reloads a single key from persistent storage. This method
-     * delegates to {@link GridCacheStore#load(GridCacheTx, Object)}
+     * delegates to {@link GridCacheStore#load(IgniteTx, Object)}
      * method.
      * <h2 class="header">Transactions</h2>
      * This method does not participate in transactions, however it does not violate
@@ -384,7 +384,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
 
     /**
      * Asynchronously reloads a single key from persistent storage. This method
-     * delegates to {@link GridCacheStore#load(GridCacheTx, Object)}
+     * delegates to {@link GridCacheStore#load(IgniteTx, Object)}
      * method.
      * <h2 class="header">Transactions</h2>
      * This method does not participate in transactions, however it does not violate
@@ -485,7 +485,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * If the value is not present in cache, then it will be looked up from swap storage. If
      * it's not present in swap, or if swap is disable, and if read-through is allowed, value
      * will be loaded from {@link GridCacheStore} persistent storage via
-     * {@link GridCacheStore#load(GridCacheTx, Object)} method.
+     * {@link GridCacheStore#load(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -510,7 +510,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * If the value is not present in cache, then it will be looked up from swap storage. If
      * it's not present in swap, or if swap is disabled, and if read-through is allowed, value
      * will be loaded from {@link GridCacheStore} persistent storage via
-     * {@link GridCacheStore#load(GridCacheTx, Object)} method.
+     * {@link GridCacheStore#load(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -534,7 +534,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * If some value is not present in cache, then it will be looked up from swap storage. If
      * it's not present in swap, or if swap is disabled, and if read-through is allowed, value
      * will be loaded from {@link GridCacheStore} persistent storage via
-     * {@link GridCacheStore#loadAll(GridCacheTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)} method.
+     * {@link GridCacheStore#loadAll(IgniteTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -558,7 +558,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * If some value is not present in cache, then it will be looked up from swap storage. If
      * it's not present in swap, or if swap is disabled, and if read-through is allowed, value
      * will be loaded from {@link GridCacheStore} persistent storage via
-     * {@link GridCacheStore#loadAll(GridCacheTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)} method.
+     * {@link GridCacheStore#loadAll(IgniteTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -580,13 +580,13 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage,  {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage,  {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #putx(Object, Object, org.apache.ignite.lang.IgnitePredicate[])} should
      * always be used instead of this one to avoid the overhead associated with returning of the previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -619,13 +619,13 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap and read-through is allowed,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage,  {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage,  {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #putx(Object, Object, org.apache.ignite.lang.IgnitePredicate[])} should
      * always be used instead of this one to avoid the overhead associated with returning of the previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -654,7 +654,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * should be used whenever return value is not required.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -687,7 +687,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * should always be used whenever return value is not required.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -720,7 +720,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * transfer the transforming closure that will be applied on each remote node involved in transaction.
      * It may add significant performance gain when dealing with large values as the value is much larger
      * than the closure itself. If write-through is enabled, the stored value will be persisted to
-     * {@link GridCacheStore} via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * {@link GridCacheStore} via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -767,7 +767,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * that will be applied on each remote node involved in transaction. It may add significant performance
      * gain when dealing with large values as the value is much larger than the closure itself.
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -790,14 +790,14 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #putxIfAbsent(Object, Object)} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -821,14 +821,14 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #putxIfAbsentAsync(Object, Object)} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -854,7 +854,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * should always be used whenever return value is not required.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -880,7 +880,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * should always be used whenever return value is not required.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -902,14 +902,14 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #replacex(Object, Object)} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -932,14 +932,14 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * {@link GridCacheMode#PARTITIONED} caches, the value will be loaded from the primary node,
      * which in its turn may load the value from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #replacex(Object, Object)} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -964,7 +964,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * should always be used whenever return value is not required.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -990,7 +990,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * should always be used whenever return value is not required.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1013,7 +1013,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * This method will return {@code true} if value is stored in cache and {@code false} otherwise.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1038,7 +1038,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * This method will return {@code true} if value is stored in cache and {@code false} otherwise.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1061,7 +1061,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * so value stored in cache is guaranteed to be consistent with the filters.
      * <p>
      * If write-through is enabled, the stored values will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#putAll(GridCacheTx, Map)} method.
+     * via {@link GridCacheStore#putAll(IgniteTx, Map)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1091,7 +1091,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * that will be applied on each remote node involved in transaction. It may add significant
      * performance gain when dealing with large values as the value is much larger than the closure itself.
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1117,7 +1117,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * that will be applied on each remote node involved in transaction. It may add significant
      * performance gain when dealing with large values as the value is much larger than the closure itself.
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1138,7 +1138,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * so value stored in cache is guaranteed to be consistent with the filters.
      * <p>
      * If write-through is enabled, the stored values will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#putAll(GridCacheTx, Map)} method.
+     * via {@link GridCacheStore#putAll(IgniteTx, Map)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1168,7 +1168,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * that will be applied on each remote node involved in transaction. It may add significant performance
      * gain when dealing with large values as the value is much larger than the closure itself.
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1194,7 +1194,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * that will be applied on each remote node involved in transaction. It may add significant
      * performance gain when dealing with large values as the value is much larger than the closure itself.
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1323,7 +1323,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStart() throws IllegalStateException;
+    public IgniteTx txStart() throws IllegalStateException;
 
     /**
      * Starts new transaction with the specified concurrency and isolation.
@@ -1334,7 +1334,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation);
+    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation);
 
     /**
      * Starts transaction with specified isolation, concurrency, timeout, invalidation flag,
@@ -1348,7 +1348,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
+    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
         int txSize);
 
     /**
@@ -1384,7 +1384,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
+    public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
@@ -1420,7 +1420,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
+    public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
@@ -1430,7 +1430,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @return Transaction started by this thread or {@code null} if this thread
      *      does not have a transaction.
      */
-    @Nullable public GridCacheTx tx();
+    @Nullable public IgniteTx tx();
 
     /**
      * Gets entry from cache with the specified key. The returned entry can
@@ -1582,14 +1582,14 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * caches, the value will be loaded from the primary node, which in its turn may load the value
      * from the disk-based swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #removex(Object, org.apache.ignite.lang.IgnitePredicate[])} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1615,14 +1615,14 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * caches, the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #removex(Object, org.apache.ignite.lang.IgnitePredicate[])} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1646,7 +1646,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * provided filters have passed and there was something to remove, {@code false} otherwise.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1673,7 +1673,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * provided filters have passed and there was something to remove, {@code false} otherwise.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1697,7 +1697,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * Removes given key mapping from cache if one exists and value is equal to the passed in value.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1722,7 +1722,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * provided filters have passed and there was something to remove, {@code false} otherwise.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1744,7 +1744,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * pass.
      * <p>
      * If write-through is enabled, the values will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#removeAll(GridCacheTx, Collection)} method.
+     * via {@link GridCacheStore#removeAll(IgniteTx, Collection)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1766,7 +1766,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * passed in filters do pass.
      * <p>
      * If write-through is enabled, the values will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#removeAll(GridCacheTx, Collection)} method.
+     * via {@link GridCacheStore#removeAll(IgniteTx, Collection)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1795,7 +1795,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * other concurrent transactional updates.
      * <p>
      * If write-through is enabled, the values will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#removeAll(GridCacheTx, Collection)} method.
+     * via {@link GridCacheStore#removeAll(IgniteTx, Collection)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -1820,7 +1820,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * is empty, then transaction will quickly become very heavy and slow.
      * <p>
      * If write-through is enabled, the values will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#removeAll(GridCacheTx, Collection)} method.
+     * via {@link GridCacheStore#removeAll(IgniteTx, Collection)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
index 8ba72f6..840a3e9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.*;
  * Mode indicating how GridGain should wait for write replies from other nodes. Default
  * value is {@link #FULL_ASYNC}}, which means that GridGain will not wait for responses from
  * participating nodes. This means that by default remote nodes may get their state updated slightly after
- * any of the cache write methods complete, or after {@link GridCacheTx#commit()} method completes.
+ * any of the cache write methods complete, or after {@link IgniteTx#commit()} method completes.
  * <p>
  * Note that regardless of write synchronization mode, cache data will always remain fully
  * consistent across all participating nodes.
@@ -35,7 +35,7 @@ public enum GridCacheWriteSynchronizationMode {
     /**
      * Flag indicating that GridGain will not wait for write or commit responses from participating nodes,
      * which means that remote nodes may get their state updated a bit after any of the cache write methods
-     * complete, or after {@link GridCacheTx#commit()} method completes.
+     * complete, or after {@link IgniteTx#commit()} method completes.
      */
     FULL_ASYNC,
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
index c3eceb6..f9ae802 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
@@ -218,41 +218,41 @@ public abstract class GridCacheLoadOnlyStoreAdapter<K, V, I> implements GridCach
     }
 
     /** {@inheritDoc} */
-    @Override public V load(@Nullable GridCacheTx tx, K key)
+    @Override public V load(@Nullable IgniteTx tx, K key)
         throws IgniteCheckedException {
         return null;
     }
 
     /** {@inheritDoc} */
-    @Override public void loadAll(@Nullable GridCacheTx tx,
+    @Override public void loadAll(@Nullable IgniteTx tx,
         @Nullable Collection<? extends K> keys, IgniteBiInClosure<K, V> c) throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, K key, @Nullable V val) throws IgniteCheckedException {
+    @Override public void put(@Nullable IgniteTx tx, K key, @Nullable V val) throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(@Nullable GridCacheTx tx, @Nullable Map<? extends K, ? extends V> map)
+    @Override public void putAll(@Nullable IgniteTx tx, @Nullable Map<? extends K, ? extends V> map)
         throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(@Nullable GridCacheTx tx, @Nullable Collection<? extends K> keys)
+    @Override public void removeAll(@Nullable IgniteTx tx, @Nullable Collection<? extends K> keys)
         throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         // No-op.
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
index 51ce99a..b265303 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
@@ -29,10 +29,10 @@ import java.util.Date;
  * or swap storage without ever being persisted to a persistent storage.
  * <p>
  * {@link GridCacheStoreAdapter} provides default implementation for bulk operations,
- * such as {@link #loadAll(GridCacheTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)},
- * {@link #putAll(GridCacheTx, Map)}, and {@link #removeAll(GridCacheTx, Collection)}
- * by sequentially calling corresponding {@link #load(GridCacheTx, Object)},
- * {@link #put(GridCacheTx, Object, Object)}, and {@link #remove(GridCacheTx, Object)}
+ * such as {@link #loadAll(IgniteTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)},
+ * {@link #putAll(IgniteTx, Map)}, and {@link #removeAll(IgniteTx, Collection)}
+ * by sequentially calling corresponding {@link #load(IgniteTx, Object)},
+ * {@link #put(IgniteTx, Object, Object)}, and {@link #remove(IgniteTx, Object)}
  * operations. Use this adapter whenever such behaviour is acceptable. However
  * in many cases it maybe more preferable to take advantage of database batch update
  * functionality, and therefore default adapter implementation may not be the best option.
@@ -43,7 +43,7 @@ import java.util.Date;
  *     <li>{@link GridCacheJdbcBlobStore}</li>
  * </ul>
  * <p>
- * All transactional operations of this API are provided with ongoing {@link GridCacheTx},
+ * All transactional operations of this API are provided with ongoing {@link IgniteTx},
  * if any. As transaction is {@link GridMetadataAware}, you can attach any metadata to
  * it, e.g. to recognize if several operations belong to the same transaction or not.
  * Here is an example of how attach a JDBC connection as transaction metadata:
@@ -117,7 +117,7 @@ public interface GridCacheStore<K, V> {
      * @return Loaded value or {@code null} if value was not found.
      * @throws IgniteCheckedException If load failed.
      */
-    @Nullable public V load(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException;
+    @Nullable public V load(@Nullable IgniteTx tx, K key) throws IgniteCheckedException;
 
     /**
      * Loads all values from underlying persistent storage. Note that keys are not
@@ -152,7 +152,7 @@ public interface GridCacheStore<K, V> {
      * @param c Closure to call for every loaded element.
      * @throws IgniteCheckedException If load failed.
      */
-    public void loadAll(@Nullable GridCacheTx tx, Collection<? extends K> keys, IgniteBiInClosure<K, V> c)
+    public void loadAll(@Nullable IgniteTx tx, Collection<? extends K> keys, IgniteBiInClosure<K, V> c)
         throws IgniteCheckedException;
 
     /**
@@ -164,7 +164,7 @@ public interface GridCacheStore<K, V> {
      * @param val Value to put.
      * @throws IgniteCheckedException If put failed.
      */
-    public void put(@Nullable GridCacheTx tx, K key, V val) throws IgniteCheckedException;
+    public void put(@Nullable IgniteTx tx, K key, V val) throws IgniteCheckedException;
 
     /**
      * Stores given key value pairs in persistent storage. Note that if write-behind is configured
@@ -174,7 +174,7 @@ public interface GridCacheStore<K, V> {
      * @param map Values to store.
      * @throws IgniteCheckedException If store failed.
      */
-    public void putAll(@Nullable GridCacheTx tx, Map<? extends K, ? extends V> map) throws IgniteCheckedException;
+    public void putAll(@Nullable IgniteTx tx, Map<? extends K, ? extends V> map) throws IgniteCheckedException;
 
     /**
      * Removes the value identified by given key from persistent storage. Note that  if write-behind is
@@ -185,7 +185,7 @@ public interface GridCacheStore<K, V> {
      * @param key Key to remove.
      * @throws IgniteCheckedException If remove failed.
      */
-    public void remove(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException;
+    public void remove(@Nullable IgniteTx tx, K key) throws IgniteCheckedException;
 
     /**
      * Removes all vales identified by given keys from persistent storage. Note that if write-behind
@@ -196,7 +196,7 @@ public interface GridCacheStore<K, V> {
      * @param keys Keys to remove.
      * @throws IgniteCheckedException If remove failed.
      */
-    public void removeAll(@Nullable GridCacheTx tx, Collection<? extends K> keys) throws IgniteCheckedException;
+    public void removeAll(@Nullable IgniteTx tx, Collection<? extends K> keys) throws IgniteCheckedException;
 
     /**
      * Tells store to commit or rollback a transaction depending on the value of the {@code 'commit'}
@@ -208,5 +208,5 @@ public interface GridCacheStore<K, V> {
      *      may bring cache transaction into {@link GridCacheTxState#UNKNOWN} which will
      *      consequently cause all transacted entries to be invalidated.
      */
-    public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException;
+    public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException;
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
index c12b3e7..e07a1f1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
@@ -19,10 +19,10 @@ import java.util.*;
 
 /**
  * Cache storage convenience adapter. It provides default implementation for bulk operations, such
- * as {@link #loadAll(GridCacheTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)},
- * {@link #putAll(GridCacheTx, Map)}, and {@link #removeAll(GridCacheTx, Collection)}
- * by sequentially calling corresponding {@link #load(GridCacheTx, Object)},
- * {@link #put(GridCacheTx, Object, Object)}, and {@link #remove(GridCacheTx, Object)}
+ * as {@link #loadAll(IgniteTx, Collection, org.apache.ignite.lang.IgniteBiInClosure)},
+ * {@link #putAll(IgniteTx, Map)}, and {@link #removeAll(IgniteTx, Collection)}
+ * by sequentially calling corresponding {@link #load(IgniteTx, Object)},
+ * {@link #put(IgniteTx, Object, Object)}, and {@link #remove(IgniteTx, Object)}
  * operations. Use this adapter whenever such behaviour is acceptable. However in many cases
  * it maybe more preferable to take advantage of database batch update functionality, and therefore
  * default adapter implementation may not be the best option.
@@ -47,7 +47,7 @@ public abstract class GridCacheStoreAdapter<K, V> implements GridCacheStore<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public void loadAll(@Nullable GridCacheTx tx, Collection<? extends K> keys,
+    @Override public void loadAll(@Nullable IgniteTx tx, Collection<? extends K> keys,
         IgniteBiInClosure<K, V> c) throws IgniteCheckedException {
         assert keys != null;
 
@@ -60,7 +60,7 @@ public abstract class GridCacheStoreAdapter<K, V> implements GridCacheStore<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(GridCacheTx tx, Map<? extends K, ? extends V> map)
+    @Override public void putAll(IgniteTx tx, Map<? extends K, ? extends V> map)
         throws IgniteCheckedException {
         assert map != null;
 
@@ -69,7 +69,7 @@ public abstract class GridCacheStoreAdapter<K, V> implements GridCacheStore<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(GridCacheTx tx, Collection<? extends K> keys)
+    @Override public void removeAll(IgniteTx tx, Collection<? extends K> keys)
         throws IgniteCheckedException {
         assert keys != null;
 
@@ -86,7 +86,7 @@ public abstract class GridCacheStoreAdapter<K, V> implements GridCacheStore<K, V
      * @param commit {@inheritDoc}
      * @throws IgniteCheckedException {@inheritDoc}
      */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         // No-op.
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
index aeba9c8..34d82ce 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
@@ -53,7 +53,7 @@ public class GridCacheStoreBalancingWrapper<K, V> implements GridCacheStore<K, V
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public V load(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Nullable @Override public V load(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         LoadFuture fut = pendingLoads.get(key);
 
         if (fut != null)
@@ -86,7 +86,7 @@ public class GridCacheStoreBalancingWrapper<K, V> implements GridCacheStore<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public void loadAll(@Nullable GridCacheTx tx, Collection<? extends K> keys, final IgniteBiInClosure<K, V> c)
+    @Override public void loadAll(@Nullable IgniteTx tx, Collection<? extends K> keys, final IgniteBiInClosure<K, V> c)
         throws IgniteCheckedException {
         if (keys.size() > loadAllThreshold) {
             delegate.loadAll(tx, keys, c);
@@ -165,27 +165,27 @@ public class GridCacheStoreBalancingWrapper<K, V> implements GridCacheStore<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, K key, V val) throws IgniteCheckedException {
+    @Override public void put(@Nullable IgniteTx tx, K key, V val) throws IgniteCheckedException {
         delegate.put(tx, key, val);
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(@Nullable GridCacheTx tx, Map<? extends K, ? extends V> map) throws IgniteCheckedException {
+    @Override public void putAll(@Nullable IgniteTx tx, Map<? extends K, ? extends V> map) throws IgniteCheckedException {
         delegate.putAll(tx, map);
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         delegate.remove(tx, key);
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(@Nullable GridCacheTx tx, Collection<? extends K> keys) throws IgniteCheckedException {
+    @Override public void removeAll(@Nullable IgniteTx tx, Collection<? extends K> keys) throws IgniteCheckedException {
         delegate.removeAll(tx, keys);
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         delegate.txEnd(tx, commit);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
index 2624cb3..09e4ca3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
@@ -163,7 +163,7 @@ public class GridCacheJdbcBlobStore<K, V> extends GridCacheStoreAdapter<K, V> {
     private boolean initOk;
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         init();
 
         Connection conn = tx.removeMeta(ATTR_CONN);
@@ -189,7 +189,7 @@ public class GridCacheJdbcBlobStore<K, V> extends GridCacheStoreAdapter<K, V> {
 
     /** {@inheritDoc} */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public V load(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public V load(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         init();
 
         if (log.isDebugEnabled())
@@ -222,7 +222,7 @@ public class GridCacheJdbcBlobStore<K, V> extends GridCacheStoreAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, K key, V val) throws IgniteCheckedException {
+    @Override public void put(@Nullable IgniteTx tx, K key, V val) throws IgniteCheckedException {
         init();
 
         if (log.isDebugEnabled())
@@ -260,7 +260,7 @@ public class GridCacheJdbcBlobStore<K, V> extends GridCacheStoreAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         init();
 
         if (log.isDebugEnabled())
@@ -292,7 +292,7 @@ public class GridCacheJdbcBlobStore<K, V> extends GridCacheStoreAdapter<K, V> {
      * @return Connection.
      * @throws SQLException In case of error.
      */
-    private Connection connection(@Nullable GridCacheTx tx) throws SQLException  {
+    private Connection connection(@Nullable IgniteTx tx) throws SQLException  {
         if (tx != null) {
             Connection conn = tx.meta(ATTR_CONN);
 
@@ -318,7 +318,7 @@ public class GridCacheJdbcBlobStore<K, V> extends GridCacheStoreAdapter<K, V> {
      * @param conn Allocated connection.
      * @param st Created statement,
      */
-    private void end(@Nullable GridCacheTx tx, Connection conn, Statement st) {
+    private void end(@Nullable IgniteTx tx, Connection conn, Statement st) {
         U.closeQuiet(st);
 
         if (tx == null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
index 286acd5..464cb1c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
@@ -29,6 +29,6 @@ public interface IgniteTransactionsEx extends IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStartSystem(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
+    public IgniteTx txStartSystem(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
         int txSize);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index c3a871a..949482a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -3033,10 +3033,10 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public GridCacheTx tx() {
+    @Nullable @Override public IgniteTx tx() {
         GridCacheTxAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
-        return tx == null ? null : new GridCacheTxProxyImpl<>(tx, ctx.shared());
+        return tx == null ? null : new IgniteTxProxyImpl<>(tx, ctx.shared());
     }
 
     /** {@inheritDoc} */
@@ -3113,14 +3113,14 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart() throws IllegalStateException {
+    @Override public IgniteTx txStart() throws IllegalStateException {
         TransactionsConfiguration cfg = ctx.gridConfig().getTransactionsConfiguration();
 
         return txStart(cfg.getDefaultTxConcurrency(), cfg.getDefaultTxIsolation());
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
@@ -3135,7 +3135,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException {
         IgniteTransactionsEx txs = ctx.kernalContext().cache().transactions();
 
@@ -3145,14 +3145,14 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return ctx.kernalContext().cache().transactions().txStartAffinity(name(), affinityKey, concurrency, isolation,
             timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return ctx.kernalContext().cache().transactions().txStartPartition(name(), partId, concurrency, isolation,
             timeout, txSize);
@@ -3454,7 +3454,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @return Transaction commit future.
      */
     @SuppressWarnings("unchecked")
-    public IgniteFuture<GridCacheTx> commitTxAsync(final GridCacheTx tx) {
+    public IgniteFuture<IgniteTx> commitTxAsync(final IgniteTx tx) {
         FutureHolder holder = lastFut.get();
 
         holder.lock();
@@ -3463,9 +3463,9 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             IgniteFuture fut = holder.future();
 
             if (fut != null && !fut.isDone()) {
-                IgniteFuture<GridCacheTx> f = new GridEmbeddedFuture<>(fut,
-                    new C2<Object, Exception, IgniteFuture<GridCacheTx>>() {
-                        @Override public IgniteFuture<GridCacheTx> apply(Object o, Exception e) {
+                IgniteFuture<IgniteTx> f = new GridEmbeddedFuture<>(fut,
+                    new C2<Object, Exception, IgniteFuture<IgniteTx>>() {
+                        @Override public IgniteFuture<IgniteTx> apply(Object o, Exception e) {
                             return tx.commitAsync();
                         }
                     }, ctx.kernalContext());
@@ -3475,7 +3475,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
                 return f;
             }
 
-            IgniteFuture<GridCacheTx> f = tx.commitAsync();
+            IgniteFuture<IgniteTx> f = tx.commitAsync();
 
             saveFuture(holder, f);
 
@@ -3494,7 +3494,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @param tx Transaction to commit.
      * @throws IgniteCheckedException If commit failed.
      */
-    void commitTx(GridCacheTx tx) throws IgniteCheckedException {
+    void commitTx(IgniteTx tx) throws IgniteCheckedException {
         awaitLastFut();
 
         tx.commit();
@@ -3506,7 +3506,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @param tx Transaction to commit.
      * @throws IgniteCheckedException If commit failed.
      */
-    void rollbackTx(GridCacheTx tx) throws IgniteCheckedException {
+    void rollbackTx(IgniteTx tx) throws IgniteCheckedException {
         awaitLastFut();
 
         tx.rollback();
@@ -3518,7 +3518,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @param tx Transaction to commit.
      * @throws IgniteCheckedException If commit failed.
      */
-    void endTx(GridCacheTx tx) throws IgniteCheckedException {
+    void endTx(IgniteTx tx) throws IgniteCheckedException {
         awaitLastFut();
 
         tx.close();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
index 9218c8c..479a97d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
@@ -67,7 +67,7 @@ public class GridCacheEventManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @param cloClsName Closure class name.
      * @param taskName Task name.
      */
-    public void addEvent(int part, K key, GridCacheTx tx, @Nullable GridCacheMvccCandidate<K> owner,
+    public void addEvent(int part, K key, IgniteTx tx, @Nullable GridCacheMvccCandidate<K> owner,
         int type, @Nullable V newVal, boolean hasNewVal, @Nullable V oldVal, boolean hasOldVal, UUID subjId,
         String cloClsName, String taskName) {
         addEvent(part, key, locNodeId, tx, owner, type, newVal, hasNewVal, oldVal, hasOldVal, subjId, cloClsName,
@@ -89,7 +89,7 @@ public class GridCacheEventManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @param cloClsName Closure class name.
      * @param taskName Task name.
      */
-    public void addEvent(int part, K key, UUID nodeId, GridCacheTx tx, GridCacheMvccCandidate<K> owner,
+    public void addEvent(int part, K key, UUID nodeId, IgniteTx tx, GridCacheMvccCandidate<K> owner,
         int type, V newVal, boolean hasNewVal, V oldVal, boolean hasOldVal, UUID subjId, String cloClsName,
         String taskName) {
         addEvent(part, key, nodeId, tx == null ? null : tx.xid(), owner == null ? null : owner.version(), type,
@@ -113,7 +113,7 @@ public class GridCacheEventManager<K, V> extends GridCacheManagerAdapter<K, V> {
     public void addEvent(int part, K key, UUID evtNodeId, @Nullable GridCacheMvccCandidate<K> owner,
         int type, @Nullable V newVal, boolean hasNewVal, V oldVal, boolean hasOldVal, UUID subjId, String cloClsName,
         String taskName) {
-        GridCacheTx tx = owner == null ? null : cctx.tm().tx(owner.version());
+        IgniteTx tx = owner == null ? null : cctx.tm().tx(owner.version());
 
         addEvent(part, key, evtNodeId, tx == null ? null : tx.xid(), owner == null ? null : owner.version(), type,
             newVal, hasNewVal, oldVal, hasOldVal, subjId, cloClsName, taskName);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
index 36ee08b..9975b27 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
@@ -94,8 +94,8 @@ public final class GridCacheMultiTxFuture<K, V> extends GridFutureAdapter<Boolea
 
             for (final GridCacheTxEx<K, V> tx : txs) {
                 if (!tx.done()) {
-                    tx.finishFuture().listenAsync(new CI1<IgniteFuture<GridCacheTx>>() {
-                        @Override public void apply(IgniteFuture<GridCacheTx> t) {
+                    tx.finishFuture().listenAsync(new CI1<IgniteFuture<IgniteTx>>() {
+                        @Override public void apply(IgniteFuture<IgniteTx> t) {
                             remainingTxs.remove(tx);
 
                             checkRemaining();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
index eb4cc44..ea9d2bc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
@@ -196,7 +196,7 @@ public interface GridCacheProjectionEx<K, V> extends GridCacheProjection<K, V> {
      * This method will return {@code true} if value is stored in cache and {@code false} otherwise.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -221,7 +221,7 @@ public interface GridCacheProjectionEx<K, V> extends GridCacheProjection<K, V> {
      * This method will return {@code true} if value is stored in cache and {@code false} otherwise.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link GridCacheStore}
-     * via {@link GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -243,7 +243,7 @@ public interface GridCacheProjectionEx<K, V> extends GridCacheProjection<K, V> {
      * Removes given key mapping from cache if one exists and value is equal to the passed in value.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -267,7 +267,7 @@ public interface GridCacheProjectionEx<K, V> extends GridCacheProjection<K, V> {
      * provided filters have passed and there was something to remove, {@code false} otherwise.
      * <p>
      * If write-through is enabled, the value will be removed from {@link GridCacheStore}
-     * via {@link GridCacheStore#remove(GridCacheTx, Object)} method.
+     * via {@link GridCacheStore#remove(IgniteTx, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
index a835382..e31f33c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
@@ -1200,35 +1200,35 @@ public class GridCacheProjectionImpl<K, V> implements GridCacheProjectionEx<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart() throws IllegalStateException {
+    @Override public IgniteTx txStart() throws IllegalStateException {
         return cache.txStart();
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
         return cache.txStart(concurrency, isolation);
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
         long timeout, int txSize) {
         return cache.txStart(concurrency, isolation, timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return cache.txStartAffinity(affinityKey, concurrency, isolation, timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return cache.txStartPartition(partId, concurrency, isolation, timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx tx() {
+    @Override public IgniteTx tx() {
         return cache.tx();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
index 3c1e1d3..b0ba93e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
@@ -1091,7 +1091,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart() throws IllegalStateException {
+    @Override public IgniteTx txStart() throws IllegalStateException {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {
@@ -1103,7 +1103,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {
@@ -1116,7 +1116,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
         long timeout, int txSize) {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
@@ -1129,7 +1129,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
@@ -1142,7 +1142,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
@@ -1155,7 +1155,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx tx() {
+    @Override public IgniteTx tx() {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index 40a094a..0effe1b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -453,7 +453,7 @@ public class GridCacheSharedContext<K, V> {
      * @param tx Transaction to commit.
      * @return Commit future.
      */
-    public IgniteFuture<GridCacheTx> commitTxAsync(GridCacheTxEx<K, V> tx) {
+    public IgniteFuture<IgniteTx> commitTxAsync(GridCacheTxEx<K, V> tx) {
         Collection<Integer> cacheIds = tx.activeCacheIds();
 
         if (cacheIds.isEmpty())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
index 5438cd2..a7e47b0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
@@ -122,7 +122,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @return Loaded value, possibly <tt>null</tt>.
      * @throws IgniteCheckedException If data loading failed.
      */
-    @Nullable public V loadFromStore(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Nullable public V loadFromStore(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         if (store != null) {
             if (key instanceof GridCacheInternal)
                 // Never load internal keys from store as they are never persisted.
@@ -180,7 +180,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @throws IgniteCheckedException If data loading failed.
      */
     @SuppressWarnings({"unchecked"})
-    public boolean loadAllFromStore(@Nullable GridCacheTx tx, Collection<? extends K> keys,
+    public boolean loadAllFromStore(@Nullable IgniteTx tx, Collection<? extends K> keys,
         final IgniteBiInClosure<K, V> vis) throws IgniteCheckedException {
         if (store != null) {
             if (!keys.isEmpty()) {
@@ -296,7 +296,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @return {@code true} If there is a persistent storage.
      * @throws IgniteCheckedException If storage failed.
      */
-    public boolean putToStore(@Nullable GridCacheTx tx, K key, V val, GridCacheVersion ver)
+    public boolean putToStore(@Nullable IgniteTx tx, K key, V val, GridCacheVersion ver)
         throws IgniteCheckedException {
         if (store != null) {
             // Never persist internal keys.
@@ -335,7 +335,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @return {@code True} if there is a persistent storage.
      * @throws IgniteCheckedException If storage failed.
      */
-    public boolean putAllToStore(@Nullable GridCacheTx tx, Map<K, IgniteBiTuple<V, GridCacheVersion>> map)
+    public boolean putAllToStore(@Nullable IgniteTx tx, Map<K, IgniteBiTuple<V, GridCacheVersion>> map)
         throws IgniteCheckedException {
         if (F.isEmpty(map))
             return true;
@@ -393,7 +393,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @return {@code True} if there is a persistent storage.
      * @throws IgniteCheckedException If storage failed.
      */
-    public boolean removeFromStore(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    public boolean removeFromStore(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         if (store != null) {
             // Never remove internal key from store as it is never persisted.
             if (key instanceof GridCacheInternal)
@@ -429,7 +429,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @return {@code True} if there is a persistent storage.
      * @throws IgniteCheckedException If storage failed.
      */
-    public boolean removeAllFromStore(@Nullable GridCacheTx tx, Collection<? extends K> keys) throws IgniteCheckedException {
+    public boolean removeAllFromStore(@Nullable IgniteTx tx, Collection<? extends K> keys) throws IgniteCheckedException {
         if (F.isEmpty(keys))
             return true;
 
@@ -487,7 +487,7 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> {
      * @param commit Commit.
      * @throws IgniteCheckedException If failed.
      */
-    public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         store.txEnd(tx, commit);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
index df77427..09a0bc6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
@@ -169,7 +169,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
 
     /** */
     @GridToStringExclude
-    private AtomicReference<GridFutureAdapter<GridCacheTx>> finFut = new AtomicReference<>();
+    private AtomicReference<GridFutureAdapter<IgniteTx>> finFut = new AtomicReference<>();
 
     /** Topology version. */
     private AtomicLong topVer = new AtomicLong(-1);
@@ -924,11 +924,11 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
 
     /** {@inheritDoc} */
     @SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor")
-    @Override public IgniteFuture<GridCacheTx> finishFuture() {
-        GridFutureAdapter<GridCacheTx> fut = finFut.get();
+    @Override public IgniteFuture<IgniteTx> finishFuture() {
+        GridFutureAdapter<IgniteTx> fut = finFut.get();
 
         if (fut == null) {
-            fut = new GridFutureAdapter<GridCacheTx>(cctx.kernalContext()) {
+            fut = new GridFutureAdapter<IgniteTx>(cctx.kernalContext()) {
                 @Override public String toString() {
                     return S.toString(GridFutureAdapter.class, this, "tx", GridCacheTxAdapter.this);
                 }
@@ -1050,7 +1050,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         }
 
         if (notify) {
-            GridFutureAdapter<GridCacheTx> fut = finFut.get();
+            GridFutureAdapter<IgniteTx> fut = finFut.get();
 
             if (fut != null)
                 fut.onDone(this);
@@ -1354,7 +1354,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
     /**
      * Transaction shadow class to be used for deserialization.
      */
-    private static class TxShadow extends GridMetadataAwareAdapter implements GridCacheTx {
+    private static class TxShadow extends GridMetadataAwareAdapter implements IgniteTx {
         /** */
         private static final long serialVersionUID = 0L;
 
@@ -1496,7 +1496,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         }
 
         /** {@inheritDoc} */
-        @Override public IgniteFuture<GridCacheTx> commitAsync() {
+        @Override public IgniteFuture<IgniteTx> commitAsync() {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 
@@ -1507,7 +1507,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
 
         /** {@inheritDoc} */
         @Override public boolean equals(Object o) {
-            return this == o || o instanceof GridCacheTx && xid.equals(((GridCacheTx)o).xid());
+            return this == o || o instanceof IgniteTx && xid.equals(((IgniteTx)o).xid());
         }
 
         /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
index 636f4e0..a6bfa58 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
@@ -22,7 +22,7 @@ import java.util.*;
 /**
  * Transaction managed by cache ({@code 'Ex'} stands for external).
  */
-public interface GridCacheTxEx<K, V> extends GridCacheTx, GridTimeoutObject {
+public interface GridCacheTxEx<K, V> extends IgniteTx, GridTimeoutObject {
     @SuppressWarnings("PublicInnerClass")
     public enum FinalizationStatus {
         /** Transaction was not finalized yet. */
@@ -391,7 +391,7 @@ public interface GridCacheTxEx<K, V> extends GridCacheTx, GridTimeoutObject {
     /**
      * @return Future for transaction completion.
      */
-    public IgniteFuture<GridCacheTx> finishFuture();
+    public IgniteFuture<IgniteTx> finishFuture();
 
     /**
      * @param state Transaction state.
@@ -420,7 +420,7 @@ public interface GridCacheTxEx<K, V> extends GridCacheTx, GridTimeoutObject {
      *
      * @return Rollback future.
      */
-    public IgniteFuture<GridCacheTx> rollbackAsync();
+    public IgniteFuture<IgniteTx> rollbackAsync();
 
     /**
      * Callback invoked whenever there is a lock that has been acquired

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
index c16b103..86d6cbd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
@@ -333,7 +333,7 @@ public class GridCacheTxHandler<K, V> {
     private void processNearTxFinishResponse(UUID nodeId, GridNearTxFinishResponse<K, V> res) {
         ctx.tm().onFinishedRemote(nodeId, res.threadId());
 
-        GridNearTxFinishFuture<K, V> fut = (GridNearTxFinishFuture<K, V>)ctx.mvcc().<GridCacheTx>future(
+        GridNearTxFinishFuture<K, V> fut = (GridNearTxFinishFuture<K, V>)ctx.mvcc().<IgniteTx>future(
             res.xid(), res.futureId());
 
         if (fut == null) {
@@ -372,7 +372,7 @@ public class GridCacheTxHandler<K, V> {
         assert nodeId != null;
         assert res != null;
 
-        GridDhtTxFinishFuture<K, V> fut = (GridDhtTxFinishFuture<K, V>)ctx.mvcc().<GridCacheTx>future(res.xid(),
+        GridDhtTxFinishFuture<K, V> fut = (GridDhtTxFinishFuture<K, V>)ctx.mvcc().<IgniteTx>future(res.xid(),
             res.futureId());
 
         if (fut == null) {
@@ -390,7 +390,7 @@ public class GridCacheTxHandler<K, V> {
      * @param req Request.
      * @return Future.
      */
-    @Nullable public IgniteFuture<GridCacheTx> processNearTxFinishRequest(UUID nodeId, GridNearTxFinishRequest<K, V> req) {
+    @Nullable public IgniteFuture<IgniteTx> processNearTxFinishRequest(UUID nodeId, GridNearTxFinishRequest<K, V> req) {
         return finish(nodeId, null, req);
     }
 
@@ -399,24 +399,24 @@ public class GridCacheTxHandler<K, V> {
      * @param req Request.
      * @return Future.
      */
-    @Nullable public IgniteFuture<GridCacheTx> finish(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
+    @Nullable public IgniteFuture<IgniteTx> finish(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
         GridNearTxFinishRequest<K, V> req) {
         assert nodeId != null;
         assert req != null;
 
         // Transaction on local cache only.
         if (locTx != null && !locTx.nearLocallyMapped() && !locTx.colocatedLocallyMapped())
-            return new GridFinishedFutureEx<GridCacheTx>(locTx);
+            return new GridFinishedFutureEx<IgniteTx>(locTx);
 
         if (log.isDebugEnabled())
             log.debug("Processing near tx finish request [nodeId=" + nodeId + ", req=" + req + "]");
 
-        IgniteFuture<GridCacheTx> colocatedFinishFut = null;
+        IgniteFuture<IgniteTx> colocatedFinishFut = null;
 
         if (locTx != null && locTx.colocatedLocallyMapped())
             colocatedFinishFut = finishColocatedLocal(req.commit(), locTx);
 
-        IgniteFuture<GridCacheTx> nearFinishFut = null;
+        IgniteFuture<IgniteTx> nearFinishFut = null;
 
         if (locTx == null || locTx.nearLocallyMapped()) {
             if (locTx != null)
@@ -426,7 +426,7 @@ public class GridCacheTxHandler<K, V> {
         }
 
         if (colocatedFinishFut != null && nearFinishFut != null) {
-            GridCompoundFuture<GridCacheTx, GridCacheTx> res = new GridCompoundFuture<>(ctx.kernalContext());
+            GridCompoundFuture<IgniteTx, IgniteTx> res = new GridCompoundFuture<>(ctx.kernalContext());
 
             res.add(colocatedFinishFut);
             res.add(nearFinishFut);
@@ -448,7 +448,7 @@ public class GridCacheTxHandler<K, V> {
      * @param req Finish request.
      * @return Finish future.
      */
-    private IgniteFuture<GridCacheTx> finishDhtLocal(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
+    private IgniteFuture<IgniteTx> finishDhtLocal(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
         GridNearTxFinishRequest<K, V> req) {
         GridCacheVersion dhtVer = ctx.tm().mappedVersion(req.version());
 
@@ -552,7 +552,7 @@ public class GridCacheTxHandler<K, V> {
                 if (tx.pessimistic())
                     tx.prepare();
 
-                IgniteFuture<GridCacheTx> commitFut = tx.commitAsync();
+                IgniteFuture<IgniteTx> commitFut = tx.commitAsync();
 
                 // Only for error logging.
                 commitFut.listenAsync(CU.errorLogger(log));
@@ -568,7 +568,7 @@ public class GridCacheTxHandler<K, V> {
                 tx.nearFinishFutureId(req.futureId());
                 tx.nearFinishMiniId(req.miniId());
 
-                IgniteFuture<GridCacheTx> rollbackFut = tx.rollbackAsync();
+                IgniteFuture<IgniteTx> rollbackFut = tx.rollbackAsync();
 
                 // Only for error logging.
                 rollbackFut.listenAsync(CU.errorLogger(log));
@@ -580,7 +580,7 @@ public class GridCacheTxHandler<K, V> {
             U.error(log, "Failed completing transaction [commit=" + req.commit() + ", tx=" + tx + ']', e);
 
             if (tx != null) {
-                IgniteFuture<GridCacheTx> rollbackFut = tx.rollbackAsync();
+                IgniteFuture<IgniteTx> rollbackFut = tx.rollbackAsync();
 
                 // Only for error logging.
                 rollbackFut.listenAsync(CU.errorLogger(log));
@@ -597,7 +597,7 @@ public class GridCacheTxHandler<K, V> {
      * @param tx Transaction to commit.
      * @return Future.
      */
-    public IgniteFuture<GridCacheTx> finishColocatedLocal(boolean commit, GridNearTxLocal<K, V> tx) {
+    public IgniteFuture<IgniteTx> finishColocatedLocal(boolean commit, GridNearTxLocal<K, V> tx) {
         try {
             if (commit) {
                 if (!tx.markFinalizing(USER_FINISH)) {


[46/50] [abbrv] incubator-ignite git commit: Merge remote-tracking branch 'origin/master'

Posted by sb...@apache.org.
Merge remote-tracking branch 'origin/master'

Conflicts:
	modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
	modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/49f0fa42
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/49f0fa42
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/49f0fa42

Branch: refs/heads/ignite-32
Commit: 49f0fa42d49e3afd5d274a8020902b605eb86fcc
Parents: 1483feb 92b73ff
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Mon Dec 22 16:00:57 2014 -0800
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Mon Dec 22 16:00:57 2014 -0800

----------------------------------------------------------------------
 .../datagrid/CacheTransactionExample.java       |    8 +-
 .../datagrid/store/CacheStoreExample.java       |    4 +-
 .../store/dummy/CacheDummyPersonStore.java      |    8 +-
 .../hibernate/CacheHibernatePersonStore.java    |   16 +-
 .../store/jdbc/CacheJdbcPersonStore.java        |   14 +-
 .../org/gridgain/client/GridHashMapStore.java   |    8 +-
 .../GridClientAbstractMultiNodeSelfTest.java    |   14 +-
 .../integration/GridClientAbstractSelfTest.java |    7 +-
 .../client/suite/GridClientTestSuite.java       |    4 -
 .../java/org/apache/ignite/IgniteCache.java     |   14 +-
 .../java/org/apache/ignite/IgniteCompute.java   |   91 +-
 .../java/org/apache/ignite/IgniteManaged.java   |   47 +-
 .../org/apache/ignite/IgniteTransactions.java   |   33 +-
 .../java/org/apache/ignite/cache/CacheFlag.java |    3 +-
 .../configuration/IgniteConfiguration.java      |    6 +-
 .../TransactionsConfiguration.java              |  194 ++
 .../processors/cache/IgniteCacheProxy.java      |  601 ++++
 .../ignite/lang/IgniteAsyncSupported.java       |   29 +
 .../org/apache/ignite/lang/IgniteFuture.java    |   10 +-
 .../communication/tcp/TcpCommunicationSpi.java  |    2 +-
 .../tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java |    7 +-
 .../apache/ignite/transactions/IgniteTx.java    |  239 ++
 .../transactions/IgniteTxConcurrency.java       |   37 +
 .../IgniteTxHeuristicException.java             |   43 +
 .../ignite/transactions/IgniteTxIsolation.java  |   41 +
 .../ignite/transactions/IgniteTxMetrics.java    |   45 +
 .../IgniteTxOptimisticException.java            |   39 +
 .../transactions/IgniteTxRollbackException.java |   39 +
 .../ignite/transactions/IgniteTxState.java      |   57 +
 .../transactions/IgniteTxSynchronization.java   |   38 +
 .../transactions/IgniteTxTimeoutException.java  |   39 +
 .../java/org/gridgain/grid/cache/GridCache.java |   11 +-
 .../grid/cache/GridCacheAtomicityMode.java      |    3 +-
 .../grid/cache/GridCacheConfiguration.java      |  123 +-
 .../org/gridgain/grid/cache/GridCacheEntry.java |    9 +-
 .../org/gridgain/grid/cache/GridCacheFlag.java  |    3 +-
 .../grid/cache/GridCacheProjection.java         |  129 +-
 .../org/gridgain/grid/cache/GridCacheTx.java    |  243 --
 .../grid/cache/GridCacheTxConcurrency.java      |   37 -
 .../cache/GridCacheTxHeuristicException.java    |   43 -
 .../grid/cache/GridCacheTxIsolation.java        |   41 -
 .../gridgain/grid/cache/GridCacheTxMetrics.java |   45 -
 .../grid/cache/GridCacheTxMetricsAdapter.java   |  108 -
 .../cache/GridCacheTxOptimisticException.java   |   39 -
 .../cache/GridCacheTxRollbackException.java     |   39 -
 .../gridgain/grid/cache/GridCacheTxState.java   |   57 -
 .../grid/cache/GridCacheTxSynchronization.java  |   37 -
 .../grid/cache/GridCacheTxTimeoutException.java |   39 -
 .../GridCacheWriteSynchronizationMode.java      |    5 +-
 .../cache/GridTransactionsConfiguration.java    |  190 --
 .../store/GridCacheLoadOnlyStoreAdapter.java    |   16 +-
 .../grid/cache/store/GridCacheStore.java        |   27 +-
 .../grid/cache/store/GridCacheStoreAdapter.java |   17 +-
 .../store/GridCacheStoreBalancingWrapper.java   |   16 +-
 .../store/jdbc/GridCacheJdbcBlobStore.java      |   15 +-
 .../org/gridgain/grid/kernal/GridGainEx.java    |    2 +-
 .../org/gridgain/grid/kernal/GridKernal.java    |   15 +-
 .../gridgain/grid/kernal/GridKernalContext.java |    2 +-
 .../grid/kernal/GridNodeAttributes.java         |    3 +
 .../grid/kernal/IgniteTransactionsEx.java       |   34 +
 .../affinity/GridAffinityAssignmentCache.java   |    1 -
 .../processors/cache/GridCacheAdapter.java      |  296 +-
 .../processors/cache/GridCacheAttributes.java   |   40 -
 .../processors/cache/GridCacheContext.java      |   34 +-
 .../processors/cache/GridCacheEntryEx.java      |   15 +-
 .../processors/cache/GridCacheEntryImpl.java    |   11 +-
 .../processors/cache/GridCacheEventManager.java |    8 +-
 .../cache/GridCacheEvictionEntry.java           |    9 +-
 .../cache/GridCacheEvictionManager.java         |   73 +-
 .../processors/cache/GridCacheIoManager.java    |   32 +-
 .../processors/cache/GridCacheMapEntry.java     |   56 +-
 .../processors/cache/GridCacheMessage.java      |    9 +-
 .../cache/GridCacheMultiTxFuture.java           |   19 +-
 .../kernal/processors/cache/GridCacheMvcc.java  |    3 +-
 .../processors/cache/GridCacheMvccManager.java  |   19 +-
 .../GridCachePartitionExchangeManager.java      |   35 +-
 .../processors/cache/GridCacheProcessor.java    |  124 +-
 .../processors/cache/GridCacheProjectionEx.java |    9 +-
 .../cache/GridCacheProjectionImpl.java          |   29 +-
 .../processors/cache/GridCacheProxyImpl.java    |   23 +-
 .../cache/GridCacheSharedContext.java           |   61 +-
 .../processors/cache/GridCacheStoreManager.java |   27 +-
 .../processors/cache/GridCacheTxAdapter.java    | 1479 --------
 .../processors/cache/GridCacheTxEntry.java      | 1059 ------
 .../kernal/processors/cache/GridCacheTxEx.java  |  503 ---
 .../processors/cache/GridCacheTxHandler.java    | 1478 --------
 .../kernal/processors/cache/GridCacheTxKey.java |   97 -
 .../cache/GridCacheTxLocalAdapter.java          | 3183 ------------------
 .../processors/cache/GridCacheTxLocalEx.java    |  166 -
 .../processors/cache/GridCacheTxManager.java    | 2194 ------------
 .../kernal/processors/cache/GridCacheTxMap.java |  179 -
 .../processors/cache/GridCacheTxProxy.java      |   19 -
 .../processors/cache/GridCacheTxProxyImpl.java  |  303 --
 .../processors/cache/GridCacheTxRemoteEx.java   |   37 -
 .../kernal/processors/cache/GridCacheUtils.java |   89 +-
 .../cache/GridCacheVersionManager.java          |    2 +-
 .../cache/GridCacheWriteBehindStore.java        |   15 +-
 .../datastructures/GridCacheAtomicLongImpl.java |   21 +-
 .../GridCacheAtomicReferenceImpl.java           |   10 +-
 .../GridCacheAtomicSequenceImpl.java            |    8 +-
 .../GridCacheAtomicStampedImpl.java             |   10 +-
 .../GridCacheCountDownLatchImpl.java            |   10 +-
 .../GridCacheDataStructuresManager.java         |   29 +-
 .../GridTransactionalCacheQueueImpl.java        |   14 +-
 .../distributed/GridCacheCommittedTxInfo.java   |    9 +-
 ...ridCacheOptimisticCheckPreparedTxFuture.java |    6 +-
 ...idCacheOptimisticCheckPreparedTxRequest.java |    3 +-
 .../GridCachePerThreadTxCommitBuffer.java       |    3 +-
 ...dCachePessimisticCheckCommittedTxFuture.java |    9 +-
 ...CachePessimisticCheckCommittedTxRequest.java |    3 +-
 .../distributed/GridCacheTxCommitBuffer.java    |    3 +-
 .../GridDistributedCacheAdapter.java            |   12 +-
 .../distributed/GridDistributedCacheEntry.java  |   47 +-
 .../distributed/GridDistributedLockRequest.java |   23 +-
 .../GridDistributedTxFinishRequest.java         |   57 +-
 .../distributed/GridDistributedTxMapping.java   |   31 +-
 .../GridDistributedTxPrepareRequest.java        |   91 +-
 .../GridDistributedTxRemoteAdapter.java         |   87 +-
 .../distributed/dht/GridDhtCacheEntry.java      |   65 +-
 .../distributed/dht/GridDhtCacheEntryImpl.java  |    2 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |    5 +-
 .../distributed/dht/GridDhtLockFuture.java      |   12 +-
 .../distributed/dht/GridDhtLockRequest.java     |    9 +-
 .../distributed/dht/GridDhtLockResponse.java    |    7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   53 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |   28 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   79 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   91 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   79 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |   84 +-
 .../dht/GridDhtTxPrepareRequest.java            |   73 +-
 .../dht/GridDhtTxPrepareResponse.java           |    7 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   37 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   69 +-
 .../dht/colocated/GridDhtColocatedCache.java    |   12 +-
 .../colocated/GridDhtColocatedLockFuture.java   |   19 +-
 .../preloader/GridDhtPartitionDemandPool.java   |    2 +-
 .../GridDhtPartitionsExchangeFuture.java        |   11 +-
 .../distributed/near/GridNearAtomicCache.java   |    6 +-
 .../distributed/near/GridNearCacheAdapter.java  |    7 +-
 .../distributed/near/GridNearCacheEntry.java    |   16 +-
 .../distributed/near/GridNearGetFuture.java     |    8 +-
 .../distributed/near/GridNearLockFuture.java    |   17 +-
 .../distributed/near/GridNearLockRequest.java   |   33 +-
 .../near/GridNearTransactionalCache.java        |   23 +-
 .../near/GridNearTxFinishFuture.java            |   33 +-
 .../near/GridNearTxFinishRequest.java           |   55 +-
 .../cache/distributed/near/GridNearTxLocal.java |  160 +-
 .../near/GridNearTxPrepareFuture.java           |  110 +-
 .../near/GridNearTxPrepareRequest.java          |   47 +-
 .../near/GridNearTxPrepareResponse.java         |   15 +-
 .../distributed/near/GridNearTxRemote.java      |   53 +-
 .../processors/cache/dr/GridCacheDrManager.java |    3 +-
 .../cache/dr/os/GridOsCacheDrManager.java       |    3 +-
 .../processors/cache/local/GridLocalCache.java  |   10 +-
 .../cache/local/GridLocalCacheEntry.java        |    5 +-
 .../cache/local/GridLocalLockFuture.java        |    6 +-
 .../processors/cache/local/GridLocalTx.java     |   32 +-
 .../cache/local/GridLocalTxFuture.java          |   28 +-
 .../local/atomic/GridLocalAtomicCache.java      |    6 +-
 .../GridCacheContinuousQueryManager.java        |   11 +-
 .../transactions/IgniteTransactionsImpl.java    |  165 +-
 .../cache/transactions/IgniteTxAdapter.java     | 1548 +++++++++
 .../cache/transactions/IgniteTxEntry.java       | 1060 ++++++
 .../cache/transactions/IgniteTxEx.java          |  526 +++
 .../cache/transactions/IgniteTxHandler.java     | 1493 ++++++++
 .../cache/transactions/IgniteTxKey.java         |   97 +
 .../transactions/IgniteTxLocalAdapter.java      | 3179 +++++++++++++++++
 .../cache/transactions/IgniteTxLocalEx.java     |  162 +
 .../cache/transactions/IgniteTxManager.java     | 2213 ++++++++++++
 .../cache/transactions/IgniteTxMap.java         |  179 +
 .../transactions/IgniteTxMetricsAdapter.java    |  108 +
 .../cache/transactions/IgniteTxProxy.java       |   19 +
 .../cache/transactions/IgniteTxProxyImpl.java   |  364 ++
 .../cache/transactions/IgniteTxRemoteEx.java    |   39 +
 .../dataload/GridDataLoadCacheUpdaters.java     |    7 +-
 .../processors/ggfs/GridGgfsDataManager.java    |    9 +-
 .../processors/ggfs/GridGgfsMetaManager.java    |   31 +-
 .../handlers/cache/GridCacheCommandHandler.java |    8 +-
 .../service/GridServiceProcessor.java           |    7 +-
 .../cache/VisorCacheDefaultConfiguration.java   |   13 +-
 .../visor/cache/VisorCacheDgcConfiguration.java |    4 -
 .../grid/util/future/GridCompoundFuture.java    |    4 +-
 .../ipc/shmem/GridIpcSharedMemorySpace.java     |    1 -
 .../core/src/test/config/spring-multicache.xml  |   16 -
 .../processors/cache/IgniteCacheTest.java       |  113 +
 .../tcp/GridCacheDhtLockBackupSelfTest.java     |    7 -
 .../store/GridCacheBalancingStoreSelfTest.java  |   16 +-
 .../cache/store/GridGeneratingTestStore.java    |   16 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |    3 +-
 .../grid/kernal/GridStartStopSelfTest.java      |    7 +-
 .../GridDeploymentMessageCountSelfTest.java     |    2 +-
 .../GridCacheAbstractFailoverSelfTest.java      |   19 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  238 +-
 .../cache/GridCacheAbstractMetricsSelfTest.java |    9 +-
 .../GridCacheAbstractProjectionSelfTest.java    |   12 +-
 .../GridCacheAbstractRemoveFailureTest.java     |    9 -
 .../cache/GridCacheAbstractSelfTest.java        |    9 +-
 .../cache/GridCacheAbstractTtlSelfTest.java     |    3 +-
 .../cache/GridCacheAbstractTxReadTest.java      |   17 +-
 .../cache/GridCacheBasicStoreAbstractTest.java  |   11 +-
 ...acheBasicStoreMultithreadedAbstractTest.java |    7 +-
 .../cache/GridCacheClearAllSelfTest.java        |    3 +-
 ...dCacheColocatedTxStoreExceptionSelfTest.java |    2 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |    8 +-
 ...idCacheConfigurationConsistencySelfTest.java |   16 +-
 .../GridCacheDaemonNodeAbstractSelfTest.java    |    9 +-
 .../cache/GridCacheDeploymentSelfTest.java      |    7 +-
 .../GridCacheExAbstractFullApiSelfTest.java     |    7 +-
 .../GridCacheFinishPartitionsSelfTest.java      |    9 +-
 .../cache/GridCacheGenericTestStore.java        |   32 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |  118 +-
 .../GridCacheGroupLockFailoverSelfTest.java     |    3 -
 .../cache/GridCacheGroupLockPutTask.java        |    8 +-
 .../GridCacheInterceptorAbstractSelfTest.java   |   13 +-
 .../GridCacheInterceptorSelfTestSuite.java      |    6 +-
 .../cache/GridCacheLifecycleAwareSelfTest.java  |   18 +-
 .../GridCacheLocalTxStoreExceptionSelfTest.java |    2 +-
 .../GridCacheMarshallerTxAbstractTest.java      |    8 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |    7 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |    9 +-
 .../cache/GridCacheMvccManagerSelfTest.java     |    3 +-
 .../GridCacheNearTxStoreExceptionSelfTest.java  |    2 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |   11 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |    7 +-
 ...HeapMultiThreadedUpdateAbstractSelfTest.java |    2 +-
 ...CacheOffHeapMultiThreadedUpdateSelfTest.java |   21 +-
 .../GridCacheOffHeapTieredAbstractSelfTest.java |   23 +-
 .../cache/GridCacheOffheapUpdateSelfTest.java   |   15 +-
 .../cache/GridCachePartitionedWritesTest.java   |    9 +-
 .../cache/GridCachePutAllFailoverSelfTest.java  |    3 -
 .../GridCacheReferenceCleanupSelfTest.java      |   12 +-
 .../GridCacheRefreshAheadAbstractSelfTest.java  |    7 +-
 .../cache/GridCacheReloadSelfTest.java          |    7 +-
 ...CacheReplicatedTxStoreExceptionSelfTest.java |    2 +-
 .../cache/GridCacheSlowTxWarnTest.java          |    3 +-
 .../processors/cache/GridCacheStopSelfTest.java |    3 +-
 .../cache/GridCacheStorePutxSelfTest.java       |   17 +-
 .../cache/GridCacheSwapReloadSelfTest.java      |    7 +-
 .../processors/cache/GridCacheTestEntryEx.java  |   17 +-
 .../processors/cache/GridCacheTestStore.java    |   37 +-
 ...cheTransactionalAbstractMetricsSelfTest.java |   43 +-
 .../cache/GridCacheTxAbstractTest.java          |  484 ---
 .../GridCacheTxConcurrentGetAbstractTest.java   |  134 -
 .../GridCacheTxExceptionAbstractSelfTest.java   |  630 ----
 .../cache/GridCacheTxMultiNodeAbstractTest.java |  918 -----
 .../GridCacheTxMultiThreadedAbstractTest.java   |  275 --
 .../GridCacheTxReentryAbstractSelfTest.java     |  168 -
 .../GridCacheTxSingleThreadedAbstractTest.java  |  129 -
 ...idCacheTxStoreExceptionAbstractSelfTest.java |  630 ----
 .../GridCacheVariableTopologySelfTest.java      |    5 +-
 .../GridCacheWriteBehindStoreAbstractTest.java  |    9 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |    9 +-
 .../GridCacheWriteBehindStoreSelfTest.java      |    4 +-
 .../processors/cache/IgniteTxAbstractTest.java  |  484 +++
 .../IgniteTxConcurrentGetAbstractTest.java      |  134 +
 .../IgniteTxExceptionAbstractSelfTest.java      |  631 ++++
 .../cache/IgniteTxMultiNodeAbstractTest.java    |  918 +++++
 .../IgniteTxMultiThreadedAbstractTest.java      |  275 ++
 .../cache/IgniteTxReentryAbstractSelfTest.java  |  169 +
 .../IgniteTxSingleThreadedAbstractTest.java     |  129 +
 .../IgniteTxStoreExceptionAbstractSelfTest.java |  631 ++++
 .../GridCacheAtomicLongApiSelfTest.java         |    3 +-
 ...dCacheQueueMultiNodeConsistencySelfTest.java |    1 -
 .../GridCacheSequenceApiSelfAbstractTest.java   |    8 +-
 ...idCachePartitionedNodeRestartTxSelfTest.java |   13 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |    7 +-
 ...dCachePartitionedQueueMultiNodeSelfTest.java |    1 -
 ...tractDistributedByteArrayValuesSelfTest.java |   11 +-
 .../GridCacheAbstractJobExecutionTest.java      |   12 +-
 .../GridCacheAbstractNodeRestartSelfTest.java   |   13 +-
 ...tractPartitionedByteArrayValuesSelfTest.java |    2 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |    7 +-
 .../GridCacheBasicOpAbstractTest.java           |   10 +-
 .../GridCacheEntrySetAbstractSelfTest.java      |    7 +-
 .../distributed/GridCacheEventAbstractTest.java |   25 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |    8 +-
 .../GridCacheNodeFailureAbstractTest.java       |   12 +-
 ...chePartitionedReloadAllAbstractSelfTest.java |    7 +-
 .../GridCacheTransformEventSelfTest.java        |   20 +-
 ...cheTxConsistencyRestartAbstractSelfTest.java |  193 --
 ...xOriginatingNodeFailureAbstractSelfTest.java |  294 --
 ...cOriginatingNodeFailureAbstractSelfTest.java |  488 ---
 .../GridCacheTxPreloadAbstractTest.java         |  191 --
 .../GridCacheTxTimeoutAbstractTest.java         |  147 -
 ...iteTxConsistencyRestartAbstractSelfTest.java |  194 ++
 ...xOriginatingNodeFailureAbstractSelfTest.java |  295 ++
 ...cOriginatingNodeFailureAbstractSelfTest.java |  493 +++
 .../IgniteTxPreloadAbstractTest.java            |  192 ++
 .../IgniteTxTimeoutAbstractTest.java            |  147 +
 ...heAbstractTransformWriteThroughSelfTest.java |    9 +-
 .../dht/GridCacheColocatedDebugTest.java        |   34 +-
 ...eColocatedOptimisticTransactionSelfTest.java |    7 +-
 .../GridCacheColocatedTxExceptionSelfTest.java  |    2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 ...dCacheColocatedTxSingleThreadedSelfTest.java |    2 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |    3 +-
 .../dht/GridCacheDhtPreloadDelayedSelfTest.java |    2 +-
 ...ridCacheDhtPreloadMultiThreadedSelfTest.java |   17 +-
 .../dht/GridCacheDhtTxPreloadSelfTest.java      |    3 +-
 ...cheGroupLockPartitionedAbstractSelfTest.java |   11 +-
 ...ockPartitionedMultiNodeAbstractSelfTest.java |   14 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   14 +-
 ...itionedTxOriginatingNodeFailureSelfTest.java |    2 +-
 ...heTxConsistencyColocatedRestartSelfTest.java |   28 -
 .../GridCacheTxReentryColocatedSelfTest.java    |   71 -
 ...teTxConsistencyColocatedRestartSelfTest.java |   28 +
 .../dht/IgniteTxReentryColocatedSelfTest.java   |   71 +
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |   13 +-
 .../near/GridCacheGetStoreErrorSelfTest.java    |    7 +-
 .../near/GridCacheNearMultiGetSelfTest.java     |   14 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |   30 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |   38 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |    9 +-
 .../GridCacheNearPartitionedClearSelfTest.java  |  142 +
 .../near/GridCacheNearTxExceptionSelfTest.java  |    2 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |   21 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 .../near/GridCacheNearTxPreloadSelfTest.java    |    3 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |   23 +-
 .../GridCachePartitionedEvictionSelfTest.java   |    9 +-
 ...titionedExplicitLockNodeFailureSelfTest.java |    1 -
 ...GridCachePartitionedFilteredPutSelfTest.java |    5 +-
 .../GridCachePartitionedLoadCacheSelfTest.java  |    7 +-
 ...achePartitionedMultiNodeCounterSelfTest.java |   14 +-
 ...idCachePartitionedMultiNodeLockSelfTest.java |    1 -
 ...ePartitionedMultiThreadedPutGetSelfTest.java |    9 +-
 ...GridCachePartitionedNodeFailureSelfTest.java |    1 -
 .../GridCachePartitionedNodeRestartTest.java    |    3 +-
 ...ePartitionedOptimisticTxNodeRestartTest.java |    6 +-
 ...achePartitionedPreloadLifecycleSelfTest.java |    6 +-
 .../GridCachePartitionedStorePutSelfTest.java   |    7 +-
 ...GridCachePartitionedTxConcurrentGetTest.java |    2 +-
 ...GridCachePartitionedTxMultiNodeSelfTest.java |    2 +-
 ...CachePartitionedTxMultiThreadedSelfTest.java |    2 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |   24 +-
 ...achePartitionedTxSingleThreadedSelfTest.java |    2 +-
 .../GridCachePartitionedTxTimeoutSelfTest.java  |    4 +-
 .../near/GridCachePutArrayValueSelfTest.java    |    2 -
 .../near/GridCacheTxReentryNearSelfTest.java    |   71 -
 .../near/GridPartitionedBackupLoadSelfTest.java |    7 +-
 .../near/IgniteTxReentryNearSelfTest.java       |   71 +
 .../GridCacheReplicatedEvictionSelfTest.java    |    8 +-
 .../GridCacheReplicatedInvalidateSelfTest.java  |   14 +-
 .../GridCacheReplicatedTxConcurrentGetTest.java |    2 +-
 .../GridCacheReplicatedTxExceptionSelfTest.java |    2 +-
 ...GridCacheReplicatedTxMultiNodeBasicTest.java |    2 +-
 ...dCacheReplicatedTxMultiThreadedSelfTest.java |    4 +-
 ...licatedTxOriginatingNodeFailureSelfTest.java |    2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 ...CacheReplicatedTxSingleThreadedSelfTest.java |    2 +-
 .../GridCacheReplicatedTxTimeoutSelfTest.java   |    2 +-
 .../replicated/GridReplicatedTxPreloadTest.java |    2 +-
 ...CacheReplicatedPreloadLifecycleSelfTest.java |    5 +-
 .../GridCacheReplicatedPreloadSelfTest.java     |    5 +-
 .../GridCacheBatchEvictUnswapSelfTest.java      |    8 +-
 ...heConcurrentEvictionConsistencySelfTest.java |    7 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |    4 +-
 .../GridCacheDistributedEvictionsSelfTest.java  |    7 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |   21 +-
 .../eviction/GridCacheEvictionAbstractTest.java |    9 +-
 .../GridCacheEvictionFilterSelfTest.java        |    2 +-
 .../GridCacheEvictionTouchSelfTest.java         |   21 +-
 .../GridCacheLruNearEvictionPolicySelfTest.java |    2 +-
 .../GridCacheRandomEvictionPolicySelfTest.java  |    2 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |   11 +-
 .../local/GridCacheLocalLoadAllSelfTest.java    |   10 +-
 .../GridCacheLocalTxExceptionSelfTest.java      |    2 +-
 .../GridCacheLocalTxMultiThreadedSelfTest.java  |    4 +-
 .../GridCacheLocalTxSingleThreadedSelfTest.java |    2 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |   16 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |    8 +-
 .../GridDataLoaderProcessorSelfTest.java        |   12 +-
 .../ggfs/GridGgfsDataManagerSelfTest.java       |    7 +-
 .../processors/ggfs/GridGgfsSizeSelfTest.java   |    9 +-
 .../cache/GridCacheCommandHandlerSelfTest.java  |    2 +-
 .../cache/GridCacheAbstractLoadTest.java        |   14 +-
 ...ridCacheAffinityTransactionsOffHeapTest.java |    8 +-
 .../cache/GridCacheGroupLockComparisonTest.java |    7 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |    7 +-
 .../colocation/GridTestCacheStore.java          |    8 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |    7 +-
 .../gridgain/loadtests/dsi/GridDsiPerfJob.java  |    4 +-
 .../loadtests/hashmap/GridCacheTestContext.java |    4 +-
 .../loadtests/hashmap/GridHashMapLoadTest.java  |    5 +-
 .../swap/GridSwapEvictAllBenchmark.java         |    8 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |   30 +-
 .../GridCacheDataStructuresSelfTestSuite.java   |   15 +-
 .../GridCacheEvictionSelfTestSuite.java         |    6 +-
 .../GridCacheFullApiSelfTestSuite.java          |    6 +-
 .../GridCacheMetricsSelfTestSuite.java          |    4 +-
 .../GridCacheWriteBehindTestSuite.java          |    4 +-
 .../bamboo/GridCacheFailoverTestSuite.java      |    4 -
 .../bamboo/GridDataGridRestartTestSuite.java    |    4 -
 .../bamboo/GridDataGridTestSuite.java           |   48 +-
 .../GridHibernateReadWriteAccessStrategy.java   |   10 +-
 .../hibernate/GridHibernateRegionFactory.java   |   15 +-
 .../hibernate/GridCacheHibernateBlobStore.java  |   17 +-
 .../cache/GridCacheAbstractQuerySelfTest.java   |    7 +-
 .../cache/GridCacheQueryLoadSelfTest.java       |    7 +-
 .../GridCacheQueryMultiThreadedSelfTest.java    |    9 +-
 ...idCachePartitionedHitsAndMissesSelfTest.java |    8 +-
 .../GridCacheReplicatedQuerySelfTest.java       |    5 +-
 .../testsuites/GridCacheQuerySelfTestSuite.java |   10 +-
 .../cache/jta/GridCacheJtaManager.java          |   24 +-
 .../cache/jta/GridCacheXAResource.java          |   12 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |    5 +-
 .../java/org/gridgain/grid/GridSpringBean.java  |    4 +-
 .../cache/spring/GridSpringCacheManager.java    |    5 +-
 .../cache/websession/GridWebSessionFilter.java  |    8 +-
 410 files changed, 20796 insertions(+), 19232 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/49f0fa42/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/49f0fa42/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
----------------------------------------------------------------------


[20/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
index 579b11c..90f2b72 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
@@ -22,8 +22,8 @@ import java.io.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Cache count down latch implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
index 8878f37..d34ad15 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
@@ -34,8 +34,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicWriteOrderMode.*;
 import static org.gridgain.grid.cache.GridCacheFlag.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.kernal.GridClosureCallMode.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
index 98720b2..1d58729 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
@@ -19,8 +19,8 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * {@link GridCacheQueue} implementation using transactional cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
index 9a5fc79..778f1d6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
@@ -56,7 +56,7 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter
         GridCacheTxLocalEx<K, V> tx,
         boolean isRead,
         boolean retval,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean isInvalidate,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter
     ) {
@@ -87,7 +87,7 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter
      */
     protected abstract IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
         @Nullable GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
-        @Nullable GridCacheTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter);
+        @Nullable IgniteTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter);
 
     /**
      * @param key Key to remove.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
index 49cd2d5..512798e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
@@ -54,7 +54,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
     private boolean isRead;
 
     /** Transaction isolation. */
-    private GridCacheTxIsolation isolation;
+    private IgniteTxIsolation isolation;
 
     /** Key bytes for keys to lock. */
     @GridDirectCollection(byte[].class)
@@ -130,7 +130,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
         GridCacheVersion lockVer,
         boolean isInTx,
         boolean isRead,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean isInvalidate,
         long timeout,
         int keyCnt,
@@ -230,7 +230,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
     /**
      * @return Transaction isolation or <tt>null</tt> if not in transaction.
      */
-    public GridCacheTxIsolation isolation() {
+    public IgniteTxIsolation isolation() {
         return isolation;
     }
 
@@ -701,7 +701,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
 
                 byte isolation0 = commState.getByte();
 
-                isolation = GridCacheTxIsolation.fromOrdinal(isolation0);
+                isolation = IgniteTxIsolation.fromOrdinal(isolation0);
 
                 commState.idx++;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index 8f92460..eac9362 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@ -36,11 +36,11 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
 
     /** Transaction concurrency. */
     @GridToStringInclude
-    private GridCacheTxConcurrency concurrency;
+    private IgniteTxConcurrency concurrency;
 
     /** Transaction isolation. */
     @GridToStringInclude
-    private GridCacheTxIsolation isolation;
+    private IgniteTxIsolation isolation;
 
     /** Commit version for EC transactions. */
     @GridToStringInclude
@@ -208,14 +208,14 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /**
      * @return Concurrency.
      */
-    public GridCacheTxConcurrency concurrency() {
+    public IgniteTxConcurrency concurrency() {
         return concurrency;
     }
 
     /**
      * @return Isolation level.
      */
-    public GridCacheTxIsolation isolation() {
+    public IgniteTxIsolation isolation() {
         return isolation;
     }
 
@@ -600,7 +600,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
 
                 byte concurrency0 = commState.getByte();
 
-                concurrency = GridCacheTxConcurrency.fromOrdinal(concurrency0);
+                concurrency = IgniteTxConcurrency.fromOrdinal(concurrency0);
 
                 commState.idx++;
 
@@ -638,7 +638,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
 
                 byte isolation0 = commState.getByte();
 
-                isolation = GridCacheTxIsolation.fromOrdinal(isolation0);
+                isolation = IgniteTxIsolation.fromOrdinal(isolation0);
 
                 commState.idx++;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index bc8688c..88c55df 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -26,7 +26,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 
@@ -90,8 +90,8 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         long timeout,
         int txSize,
@@ -698,7 +698,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
             state(PREPARED);
 
         if (!state(COMMITTING)) {
-            GridCacheTxState state = state();
+            IgniteTxState state = state();
 
             // If other thread is doing commit, then no-op.
             if (state == COMMITTING || state == COMMITTED)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 2b351d2..2da6589 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -302,7 +302,7 @@ public final class GridDhtLockFuture<K, V> extends GridCompoundIdentityFuture<Bo
     /**
      * @return Transaction isolation or {@code null} if no transaction.
      */
-    @Nullable private GridCacheTxIsolation isolation() {
+    @Nullable private IgniteTxIsolation isolation() {
         return tx == null ? null : tx.isolation();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
index 340e242..e05041a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
@@ -109,7 +109,7 @@ public class GridDhtLockRequest<K, V> extends GridDistributedLockRequest<K, V> {
         long topVer,
         boolean isInTx,
         boolean isRead,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean isInvalidate,
         long timeout,
         int dhtCnt,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 1c9d367..4e628ec 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -28,8 +28,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
@@ -545,7 +545,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
         boolean isInvalidate,
         boolean isRead,
         boolean retval,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         return lockAllAsyncInternal(keys, timeout, txx, isInvalidate, isRead, retval, isolation, filter);
     }
@@ -569,7 +569,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
         boolean isInvalidate,
         boolean isRead,
         boolean retval,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         if (keys == null || keys.isEmpty())
             return new GridDhtFinishedFuture<>(ctx.kernalContext(), true);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index 33c116c..5c77413 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -25,7 +25,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
index 865100d..bf4e90a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
@@ -35,7 +35,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
     private UUID nearNodeId;
 
     /** Transaction isolation. */
-    private GridCacheTxIsolation isolation;
+    private IgniteTxIsolation isolation;
 
     /** Near writes. */
     @GridToStringInclude
@@ -113,7 +113,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         long threadId,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean commit,
         boolean invalidate,
         boolean sys,
@@ -188,7 +188,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
     /**
      * @return Transaction isolation.
      */
-    public GridCacheTxIsolation isolation() {
+    public IgniteTxIsolation isolation() {
         return isolation;
     }
 
@@ -452,7 +452,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
 
                 byte isolation0 = commState.getByte();
 
-                isolation = GridCacheTxIsolation.fromOrdinal(isolation0);
+                isolation = IgniteTxIsolation.fromOrdinal(isolation0);
 
                 commState.idx++;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
index b3f5d38..20985b6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -25,7 +25,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 
@@ -97,8 +97,8 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         boolean invalidate,
         boolean storeEnabled,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index f6cc67d..9c1578c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -28,7 +28,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 
 /**
@@ -84,8 +84,8 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         boolean invalidate,
         boolean storeEnabled,
@@ -379,7 +379,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
     @Nullable public IgniteFuture<Boolean> addEntry(long msgId, GridCacheTxEntry<K, V> e) throws IgniteCheckedException {
         init();
 
-        GridCacheTxState state = state();
+        IgniteTxState state = state();
 
         assert state == ACTIVE || (state == PREPARING && optimistic()) : "Invalid tx state for " +
             "adding entry [msgId=" + msgId + ", e=" + e + ", tx=" + this + ']';
@@ -685,7 +685,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
 
         if (commit) {
             if (!state(COMMITTING)) {
-                GridCacheTxState state = state();
+                IgniteTxState state = state();
 
                 if (state != COMMITTING && state != COMMITTED)
                     throw new IgniteCheckedException("Invalid transaction state for commit [state=" + state() +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 6228228..2a6fd68 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -28,7 +28,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
index d5c43a8..380dc42 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
@@ -80,8 +80,8 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         long timeout,
         int txSize,
@@ -140,8 +140,8 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         long timeout,
         int txSize,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 77796fc..e879e5f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -557,7 +557,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
         boolean isInvalidate,
         boolean isRead,
         boolean retval,
-        @Nullable GridCacheTxIsolation isolation,
+        @Nullable IgniteTxIsolation isolation,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         return new FinishedLockFuture(new UnsupportedOperationException("Locks are not supported for " +
             "GridCacheAtomicityMode.ATOMIC mode (use GridCacheAtomicityMode.TRANSACTIONAL instead)"));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index 6e322a7..eeadf99 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -317,7 +317,7 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte
      */
     @Override public IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
         @Nullable GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
-        @Nullable GridCacheTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
+        @Nullable IgniteTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         assert tx == null || tx instanceof GridNearTxLocal;
 
         GridNearTxLocal<K, V> txx = (GridNearTxLocal<K, V>)tx;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index 4038c01..3593878 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -228,7 +228,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
     /**
      * @return Transaction isolation or {@code null} if no transaction.
      */
-    @Nullable private GridCacheTxIsolation isolation() {
+    @Nullable private IgniteTxIsolation isolation() {
         return tx == null ? null : tx.isolation();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
index 01f85ef..7b22e47 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -596,7 +596,7 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
         boolean isInvalidate,
         boolean isRead,
         boolean retval,
-        @Nullable GridCacheTxIsolation isolation,
+        @Nullable IgniteTxIsolation isolation,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         return dht.lockAllAsync(keys, timeout, filter);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
index 295be87..38d27ff 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -28,7 +28,7 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
index 42a6bb9..b185e8d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -249,7 +249,7 @@ public final class GridNearLockFuture<K, V> extends GridCompoundIdentityFuture<B
     /**
      * @return Transaction isolation or {@code null} if no transaction.
      */
-    @Nullable private GridCacheTxIsolation isolation() {
+    @Nullable private IgniteTxIsolation isolation() {
         return tx == null ? null : tx.isolation();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
index 578551f..5992acb 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
@@ -109,7 +109,7 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
         boolean implicitTx,
         boolean implicitSingleTx,
         boolean isRead,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean isInvalidate,
         long timeout,
         int keyCnt,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
index 65a30e5..196cc87 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -27,7 +27,7 @@ import java.io.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 
 /**
  * Near cache for transactional cache.
@@ -373,7 +373,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
     /** {@inheritDoc} */
     @Override protected IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
         GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
-        GridCacheTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
+        IgniteTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         GridNearLockFuture<K, V> fut = new GridNearLockFuture<>(ctx, keys, (GridNearTxLocal<K, V>)tx, isRead,
             retval, timeout, filter);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index 5b4b637..949e675 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -26,7 +26,7 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index 24c7feb..a26b5b2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -31,7 +31,7 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -94,8 +94,8 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         boolean invalidate,
         boolean storeEnabled,
@@ -590,7 +590,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
         if (commit) {
             if (!state(COMMITTING)) {
-                GridCacheTxState state = state();
+                IgniteTxState state = state();
 
                 if (state != COMMITTING && state != COMMITTED)
                     throw new IgniteCheckedException("Invalid transaction state for commit [state=" + state() +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index d87a50c..0724e7d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -29,7 +29,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
index 2e07253..99d17eb 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
@@ -82,8 +82,8 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         long timeout,
         Collection<GridCacheTxEntry<K, V>> writeEntries,
@@ -139,8 +139,8 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         GridCacheVersion xidVer,
         GridCacheVersion commitVer,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         long timeout,
         int txSize,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
index ad70c79..66fffae 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
@@ -87,7 +87,7 @@ public class GridLocalCache<K, V> extends GridCacheAdapter<K, V> {
     /** {@inheritDoc} */
     @Override public IgniteFuture<Boolean> txLockAsync(Collection<? extends K> keys, long timeout,
         GridCacheTxLocalEx<K, V> tx, boolean isRead,
-        boolean retval, GridCacheTxIsolation isolation, boolean invalidate,
+        boolean retval, IgniteTxIsolation isolation, boolean invalidate,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         return lockAllAsync(keys, timeout, tx, filter);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
index c049af8..8ceb402 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
@@ -21,7 +21,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 
 /**
  * Local cache transaction.
@@ -53,8 +53,8 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
         GridCacheSharedContext<K, V> ctx,
         boolean implicit,
         boolean implicitSingle,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         int txSize,
         @Nullable UUID subjId,
@@ -79,7 +79,7 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
     /** {@inheritDoc} */
     @Override public void prepare() throws IgniteCheckedException {
         if (!state(PREPARING)) {
-            GridCacheTxState state = state();
+            IgniteTxState state = state();
 
             // If other thread is doing "prepare", then no-op.
             if (state == PREPARING || state == PREPARED || state == COMMITTING || state == COMMITTED)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
index 8a19fb9..3e6a86b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
@@ -22,7 +22,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 
 /**
  * Replicated cache transaction future.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
index a46d809..3a63fa1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@ -1251,7 +1251,7 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> {
         GridCacheTxLocalEx<K, V> tx,
         boolean isRead,
         boolean retval,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         return new GridFinishedFutureEx<>(new UnsupportedOperationException("Locks are not supported for " +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index 084f196..7e132a4 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Grid transactions implementation.
@@ -52,7 +52,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
@@ -68,7 +68,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation,
         long timeout, int txSize) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
@@ -84,7 +84,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         );
     }
 
-    @Override public IgniteTx txStartSystem(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStartSystem(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation,
         long timeout, int txSize) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
@@ -108,7 +108,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
      * @param sys System flag.
      * @return Transaction.
      */
-    private IgniteTx txStart0(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    private IgniteTx txStart0(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation,
         long timeout, int txSize, boolean sys) {
         TransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
 
@@ -144,8 +144,8 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartAffinity(String cacheName, Object affinityKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheAdapter<Object, Object> cache = cctx.kernalContext().cache().internalCache(cacheName);
 
         if (cache == null)
@@ -156,8 +156,8 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartPartition(String cacheName, int partId, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheAdapter<Object, Object> cache = cctx.kernalContext().cache().internalCache(cacheName);
 
         if (cache == null)
@@ -185,8 +185,8 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
      * @throws IgniteCheckedException In case of error.
      */
     @SuppressWarnings("unchecked")
-    private IgniteTx txStartGroupLock(GridCacheContext ctx, Object grpLockKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, boolean partLock, long timeout, int txSize, boolean sys)
+    private IgniteTx txStartGroupLock(GridCacheContext ctx, Object grpLockKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, boolean partLock, long timeout, int txSize, boolean sys)
         throws IllegalStateException, IgniteCheckedException {
         IgniteTx tx = cctx.tm().userTx();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
index e07a7e5..3bb95cc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
@@ -19,8 +19,8 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Bundled factory for cache updaters.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
index 946e39e..a21c8fc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
@@ -42,8 +42,8 @@ import java.util.concurrent.atomic.*;
 import java.util.concurrent.locks.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.GridTopic.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
index da7832c..eb0a728 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
@@ -31,8 +31,8 @@ import java.util.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.ggfs.GridGgfsFileInfo.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
index c05097c..c8fbe15 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
@@ -33,8 +33,8 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.rest.GridRestCommand.*;
 import static org.gridgain.grid.kernal.processors.license.GridLicenseSubsystem.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
index a78d063..b8b5998 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
@@ -40,8 +40,8 @@ import java.util.concurrent.*;
 import static java.util.Map.*;
 import static org.apache.ignite.configuration.IgniteDeploymentMode.*;
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
index 1f21d68..bff97fd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
@@ -23,10 +23,10 @@ public class VisorCacheDefaultConfiguration implements Serializable {
     private static final long serialVersionUID = 0L;
 
     /** Default transaction isolation. */
-    private GridCacheTxIsolation txIsolation;
+    private IgniteTxIsolation txIsolation;
 
     /** Default transaction concurrency. */
-    private GridCacheTxConcurrency txConcurrency;
+    private IgniteTxConcurrency txConcurrency;
 
     /** TTL value. */
     private long ttl;
@@ -62,28 +62,28 @@ public class VisorCacheDefaultConfiguration implements Serializable {
     /**
      * @return Default transaction isolation.
      */
-    public GridCacheTxIsolation txIsolation() {
+    public IgniteTxIsolation txIsolation() {
         return txIsolation;
     }
 
     /**
      * @param txIsolation New default transaction isolation.
      */
-    public void txIsolation(GridCacheTxIsolation txIsolation) {
+    public void txIsolation(IgniteTxIsolation txIsolation) {
         this.txIsolation = txIsolation;
     }
 
     /**
      * @return Default transaction concurrency.
      */
-    public GridCacheTxConcurrency txConcurrency() {
+    public IgniteTxConcurrency txConcurrency() {
         return txConcurrency;
     }
 
     /**
      * @param txConcurrency New default transaction concurrency.
      */
-    public void txConcurrency(GridCacheTxConcurrency txConcurrency) {
+    public void txConcurrency(IgniteTxConcurrency txConcurrency) {
         this.txConcurrency = txConcurrency;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
index 152125c..0bf521f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
@@ -21,8 +21,8 @@ import java.util.concurrent.*;
 import static java.util.concurrent.TimeUnit.*;
 import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Checks basic node start/stop operations.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
index 9fd6470..e05da61 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
@@ -25,8 +25,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Failover tests for cache.
@@ -199,8 +199,8 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
      * @param isolation Isolation level.
      * @throws Exception If failed.
      */
-    private void testTopologyChange(@Nullable GridCacheTxConcurrency concurrency,
-        @Nullable GridCacheTxIsolation isolation) throws Exception {
+    private void testTopologyChange(@Nullable IgniteTxConcurrency concurrency,
+        @Nullable IgniteTxIsolation isolation) throws Exception {
         boolean tx = concurrency != null && isolation != null;
 
         if (tx)
@@ -233,8 +233,8 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
      * @param isolation Isolation level.
      * @throws Exception If failed.
      */
-    private void testConstantTopologyChange(@Nullable final GridCacheTxConcurrency concurrency,
-        @Nullable final GridCacheTxIsolation isolation) throws Exception {
+    private void testConstantTopologyChange(@Nullable final IgniteTxConcurrency concurrency,
+        @Nullable final IgniteTxIsolation isolation) throws Exception {
         final boolean tx = concurrency != null && isolation != null;
 
         if (tx)
@@ -312,7 +312,7 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
      * @throws IgniteCheckedException If failed.
      */
     private void put(GridCacheProjection<String, Integer> cache, final int cnt,
-        GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+        IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         try {
             info("Putting values to cache [0," + cnt + ')');
 
@@ -358,7 +358,7 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
      * @throws IgniteCheckedException If failed.
      */
     private void remove(GridCacheProjection<String, Integer> cache, final int cnt,
-        GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+        IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         try {
             info("Removing values form cache [0," + cnt + ')');
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 5368195..77482d4 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -30,9 +30,9 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePeekMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.testframework.GridTestUtils.*;
 
@@ -769,7 +769,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Isolation.
      * @throws Exception If failed.
      */
-    private void checkTransform(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkTransform(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         GridCacheProjection<String, Integer> cache = cache();
 
         cache.put("key2", 1);
@@ -852,7 +852,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Transaction isolation.
      * @throws Exception If failed.
      */
-    private void checkTransformAll(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    private void checkTransformAll(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws Exception {
         GridCacheProjection<String, Integer> cache = cache();
 
@@ -979,7 +979,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param concurrency Concurrency.
      * @throws Exception If failed.
      */
-    private void checkTransformSequential0(boolean startVal, GridCacheTxConcurrency concurrency)
+    private void checkTransformSequential0(boolean startVal, IgniteTxConcurrency concurrency)
         throws Exception {
         GridCacheProjection<String, Integer> cache = cache();
 
@@ -1029,7 +1029,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param concurrency Concurrency.
      * @throws Exception If failed.
      */
-    private void checkTransformAfterRemove(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkTransformAfterRemove(IgniteTxConcurrency concurrency) throws Exception {
         GridCacheProjection<String, Integer> cache = cache();
 
         cache.put("key", 4);
@@ -1095,8 +1095,8 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Isolation.
      * @throws Exception If failed.
      */
-    private void checkTransformReturnValue(boolean put, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
+    private void checkTransformReturnValue(boolean put, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Exception {
         GridCacheProjection<String, Integer> cache = cache();
 
         if (!put)
@@ -1409,7 +1409,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Tx isolation.
      * @throws Exception If failed.
      */
-    private void checkFilters1(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkFilters1(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         cache().putx("key1", 0);
 
         IgniteTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
@@ -1448,7 +1448,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Tx isolation.
      * @throws Exception If failed.
      */
-    private void checkFilters2(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkFilters2(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         cache().putx("key1", 100);
 
         IgniteTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
@@ -1486,7 +1486,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Tx isolation.
      * @throws Exception If failed.
      */
-    private void checkFilters3(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkFilters3(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         cache().putx("key1", 100);
 
         IgniteTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
@@ -3893,7 +3893,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param concurrency Concurrency.
      * @throws Exception If failed.
      */
-    private void checkPeekTxRemove(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkPeekTxRemove(IgniteTxConcurrency concurrency) throws Exception {
         if (txEnabled()) {
             GridCache<String, Integer> cache = primaryCache("key");
 
@@ -4735,7 +4735,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @param isolation Isolation.
      * @throws Exception If failed.
      */
-    private void checkRemovexInTx(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkRemovexInTx(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         if (txEnabled()) {
             final int cnt = 10;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
index 544a1ad..0749387 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
@@ -44,42 +44,42 @@ public abstract class GridCacheAbstractTxReadTest extends GridCacheAbstractSelfT
      * @throws IgniteCheckedException If failed
      */
     public void testTxReadOptimisticReadCommitted() throws IgniteCheckedException {
-        checkTransactionalRead(GridCacheTxConcurrency.OPTIMISTIC, GridCacheTxIsolation.READ_COMMITTED);
+        checkTransactionalRead(IgniteTxConcurrency.OPTIMISTIC, IgniteTxIsolation.READ_COMMITTED);
     }
 
     /**
      * @throws IgniteCheckedException If failed
      */
     public void testTxReadOptimisticRepeatableRead() throws IgniteCheckedException {
-        checkTransactionalRead(GridCacheTxConcurrency.OPTIMISTIC, GridCacheTxIsolation.REPEATABLE_READ);
+        checkTransactionalRead(IgniteTxConcurrency.OPTIMISTIC, IgniteTxIsolation.REPEATABLE_READ);
     }
 
     /**
      * @throws IgniteCheckedException If failed
      */
     public void testTxReadOptimisticSerializable() throws IgniteCheckedException {
-        checkTransactionalRead(GridCacheTxConcurrency.OPTIMISTIC, GridCacheTxIsolation.SERIALIZABLE);
+        checkTransactionalRead(IgniteTxConcurrency.OPTIMISTIC, IgniteTxIsolation.SERIALIZABLE);
     }
 
     /**
      * @throws IgniteCheckedException If failed
      */
     public void testTxReadPessimisticReadCommitted() throws IgniteCheckedException {
-        checkTransactionalRead(GridCacheTxConcurrency.PESSIMISTIC, GridCacheTxIsolation.READ_COMMITTED);
+        checkTransactionalRead(IgniteTxConcurrency.PESSIMISTIC, IgniteTxIsolation.READ_COMMITTED);
     }
 
     /**
      * @throws IgniteCheckedException If failed
      */
     public void testTxReadPessimisticRepeatableRead() throws IgniteCheckedException {
-        checkTransactionalRead(GridCacheTxConcurrency.PESSIMISTIC, GridCacheTxIsolation.REPEATABLE_READ);
+        checkTransactionalRead(IgniteTxConcurrency.PESSIMISTIC, IgniteTxIsolation.REPEATABLE_READ);
     }
 
     /**
      * @throws IgniteCheckedException If failed
      */
     public void testTxReadPessimisticSerializable() throws IgniteCheckedException {
-        checkTransactionalRead(GridCacheTxConcurrency.PESSIMISTIC, GridCacheTxIsolation.SERIALIZABLE);
+        checkTransactionalRead(IgniteTxConcurrency.PESSIMISTIC, IgniteTxIsolation.SERIALIZABLE);
     }
 
     /**
@@ -88,7 +88,7 @@ public abstract class GridCacheAbstractTxReadTest extends GridCacheAbstractSelfT
      * @param isolation Transaction isolation.
      * @throws IgniteCheckedException If failed
      */
-    protected void checkTransactionalRead(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    protected void checkTransactionalRead(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws IgniteCheckedException {
         GridCache<String, Integer> cache = cache(0);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
index b52ac94..46462d1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
@@ -25,8 +25,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
index 8d3860f..ae77ca7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
@@ -40,8 +40,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
index 6173193..47a67bb 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
@@ -24,8 +24,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test cache operations with daemon node.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
index 5b5e372..3bfb9cd 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
@@ -31,8 +31,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.IgniteTxIsolation.REPEATABLE_READ;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
index efe3a80..6325d6f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
@@ -19,8 +19,8 @@ import org.gridgain.testframework.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
index c7db6b0..738c80b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
@@ -24,8 +24,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Abstract class for cache tests.


[24/50] [abbrv] incubator-ignite git commit: GG-9141 - Added @IgniteAsyncSupported annotation.

Posted by sb...@apache.org.
GG-9141 - Added @IgniteAsyncSupported annotation.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8165736f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8165736f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8165736f

Branch: refs/heads/ignite-32
Commit: 8165736fe1937055e8a3e4215d3e5fe5e1d27cca
Parents: a1a5b39
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:37:22 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:37:22 2014 -0800

----------------------------------------------------------------------
 .../java/org/apache/ignite/IgniteCompute.java   | 16 +++++++++++
 .../ignite/lang/IgniteAsyncSupported.java       | 28 ++++++++++++++++++++
 .../apache/ignite/transactions/IgniteTx.java    |  2 ++
 3 files changed, 46 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8165736f/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java b/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
index 16da89f..dc77698 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCompute.java
@@ -119,6 +119,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @see ComputeJobContext#affinityKey()
      * @throws IgniteCheckedException If job failed.
      */
+    @IgniteAsyncSupported
     public void affinityRun(@Nullable String cacheName, Object affKey, Runnable job) throws IgniteCheckedException;
 
     /**
@@ -135,6 +136,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @see ComputeJobContext#cacheName()
      * @see ComputeJobContext#affinityKey()
      */
+    @IgniteAsyncSupported
     public <R> R affinityCall(@Nullable String cacheName, Object affKey, Callable<R> job) throws IgniteCheckedException;
 
     /**
@@ -150,6 +152,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Task result.
      * @throws IgniteCheckedException If task failed.
      */
+    @IgniteAsyncSupported
     public <T, R> R execute(Class<? extends ComputeTask<T, R>> taskCls, @Nullable T arg) throws IgniteCheckedException;
 
     /**
@@ -165,6 +168,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Task result.
      * @throws IgniteCheckedException If task failed.
      */
+    @IgniteAsyncSupported
     public <T, R> R execute(ComputeTask<T, R> task, @Nullable T arg) throws IgniteCheckedException;
 
     /**
@@ -182,6 +186,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @throws IgniteCheckedException If task failed.
      * @see ComputeTask for information about task execution.
      */
+    @IgniteAsyncSupported
     public <T, R> R execute(String taskName, @Nullable T arg) throws IgniteCheckedException;
 
     /**
@@ -192,6 +197,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @param job Job to broadcast to all projection nodes.
      * @throws IgniteCheckedException If job failed.
      */
+    @IgniteAsyncSupported
     public void broadcast(Runnable job) throws IgniteCheckedException;
 
     /**
@@ -204,6 +210,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Collection of results for this execution.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R> Collection<R> broadcast(Callable<R> job) throws IgniteCheckedException;
 
     /**
@@ -218,6 +225,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Collection of results for this execution.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R, T> Collection<R> broadcast(IgniteClosure<T, R> job, @Nullable T arg) throws IgniteCheckedException;
 
     /**
@@ -228,6 +236,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @param job Job closure to execute.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public void run(Runnable job) throws IgniteCheckedException;
 
     /**
@@ -238,6 +247,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @param jobs Collection of jobs to execute.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public void run(Collection<? extends Runnable> jobs) throws IgniteCheckedException;
 
     /**
@@ -250,6 +260,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Job result.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R> R call(Callable<R> job) throws IgniteCheckedException;
 
     /**
@@ -262,6 +273,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Collection of job results for this execution.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R> Collection<R> call(Collection<? extends Callable<R>> jobs) throws IgniteCheckedException;
 
     /**
@@ -275,6 +287,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Future with reduced job result for this execution.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R1, R2> R2 call(Collection<? extends Callable<R1>> jobs, IgniteReducer<R1, R2> rdc) throws IgniteCheckedException;
 
     /**
@@ -289,6 +302,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Job result.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R, T> R apply(IgniteClosure<T, R> job, @Nullable T arg) throws IgniteCheckedException;
 
     /**
@@ -303,6 +317,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Collection of job results.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <T, R> Collection<R> apply(IgniteClosure<T, R> job, Collection<? extends T> args) throws IgniteCheckedException;
 
     /**
@@ -319,6 +334,7 @@ public interface IgniteCompute extends IgniteAsyncSupport {
      * @return Future with reduced job result for this execution.
      * @throws IgniteCheckedException If execution failed.
      */
+    @IgniteAsyncSupported
     public <R1, R2, T> R2 apply(IgniteClosure<T, R1> job, Collection<? extends T> args,
         IgniteReducer<R1, R2> rdc) throws IgniteCheckedException;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8165736f/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java b/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
new file mode 100644
index 0000000..828efdc
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
@@ -0,0 +1,28 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.lang;
+
+import java.lang.annotation.*;
+
+/**
+ * Annotation to indicate that method can be executed asynchronously if async mode is enabled.
+ * To enable async mode, invoke {@link IgniteAsyncSupport#enableAsync()} method on the API.
+ * The future for the async method can be retrieved via {@link IgniteAsyncSupport#future()} method
+ * right after the execution of an asynchronous method.
+ *
+ * TODO coding example.
+ *
+ * @see IgniteAsyncSupport
+ */
+@Documented
+@Target(ElementType.METHOD)
+public @interface IgniteAsyncSupported {
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8165736f/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
index c3466f7..97a0210 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
@@ -219,6 +219,7 @@ public interface IgniteTx extends GridMetadataAware, AutoCloseable {
      *
      * @throws IgniteCheckedException If commit failed.
      */
+    @IgniteAsyncSupported
     public void commit() throws IgniteCheckedException;
 
     /**
@@ -240,5 +241,6 @@ public interface IgniteTx extends GridMetadataAware, AutoCloseable {
      *
      * @throws IgniteCheckedException If rollback failed.
      */
+    @IgniteAsyncSupported
     public void rollback() throws IgniteCheckedException;
 }


[25/50] [abbrv] incubator-ignite git commit: GG-9141 - Added @IgniteAsyncSupported annotation.

Posted by sb...@apache.org.
GG-9141 - Added @IgniteAsyncSupported annotation.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/301a0067
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/301a0067
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/301a0067

Branch: refs/heads/ignite-32
Commit: 301a0067ab35dc75f5120af1d98845069a34117a
Parents: 8165736
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:39:56 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:39:56 2014 -0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java  | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/301a0067/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java b/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
index 828efdc..f461db3 100644
--- a/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteAsyncSupported.java
@@ -22,6 +22,7 @@ import java.lang.annotation.*;
  * @see IgniteAsyncSupport
  */
 @Documented
+@Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.METHOD)
 public @interface IgniteAsyncSupported {
 


[44/50] [abbrv] incubator-ignite git commit: Merge branch ignite-1 to master.

Posted by sb...@apache.org.
Merge branch ignite-1 to master.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/92b73ff1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/92b73ff1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/92b73ff1

Branch: refs/heads/ignite-32
Commit: 92b73ff1738d437b34f702c0d45e18acf6b874b4
Parents: 1812040 7b68f59
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 22 15:59:13 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 22 15:59:13 2014 -0800

----------------------------------------------------------------------
 .../datagrid/CacheTransactionExample.java       |    8 +-
 .../datagrid/store/CacheStoreExample.java       |    4 +-
 .../store/dummy/CacheDummyPersonStore.java      |    8 +-
 .../hibernate/CacheHibernatePersonStore.java    |   16 +-
 .../store/jdbc/CacheJdbcPersonStore.java        |   14 +-
 .../org/gridgain/client/GridHashMapStore.java   |    8 +-
 .../GridClientAbstractMultiNodeSelfTest.java    |   14 +-
 .../integration/GridClientAbstractSelfTest.java |    7 +-
 .../client/suite/GridClientTestSuite.java       |    4 -
 .../java/org/apache/ignite/IgniteCache.java     |   14 +-
 .../java/org/apache/ignite/IgniteCompute.java   |   91 +-
 .../java/org/apache/ignite/IgniteManaged.java   |   47 +-
 .../org/apache/ignite/IgniteTransactions.java   |   33 +-
 .../java/org/apache/ignite/cache/CacheFlag.java |    3 +-
 .../configuration/IgniteConfiguration.java      |    6 +-
 .../TransactionsConfiguration.java              |  194 ++
 .../processors/cache/IgniteCacheProxy.java      |  601 ++++
 .../ignite/lang/IgniteAsyncSupported.java       |   29 +
 .../org/apache/ignite/lang/IgniteFuture.java    |   10 +-
 .../communication/tcp/TcpCommunicationSpi.java  |    2 +-
 .../tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java |    7 +-
 .../apache/ignite/transactions/IgniteTx.java    |  239 ++
 .../transactions/IgniteTxConcurrency.java       |   37 +
 .../IgniteTxHeuristicException.java             |   43 +
 .../ignite/transactions/IgniteTxIsolation.java  |   41 +
 .../ignite/transactions/IgniteTxMetrics.java    |   45 +
 .../IgniteTxOptimisticException.java            |   39 +
 .../transactions/IgniteTxRollbackException.java |   39 +
 .../ignite/transactions/IgniteTxState.java      |   57 +
 .../transactions/IgniteTxSynchronization.java   |   38 +
 .../transactions/IgniteTxTimeoutException.java  |   39 +
 .../java/org/gridgain/grid/cache/GridCache.java |   11 +-
 .../grid/cache/GridCacheAtomicityMode.java      |    3 +-
 .../grid/cache/GridCacheConfiguration.java      |  123 +-
 .../org/gridgain/grid/cache/GridCacheEntry.java |    9 +-
 .../org/gridgain/grid/cache/GridCacheFlag.java  |    3 +-
 .../grid/cache/GridCacheProjection.java         |  129 +-
 .../org/gridgain/grid/cache/GridCacheTx.java    |  243 --
 .../grid/cache/GridCacheTxConcurrency.java      |   37 -
 .../cache/GridCacheTxHeuristicException.java    |   43 -
 .../grid/cache/GridCacheTxIsolation.java        |   41 -
 .../gridgain/grid/cache/GridCacheTxMetrics.java |   45 -
 .../grid/cache/GridCacheTxMetricsAdapter.java   |  108 -
 .../cache/GridCacheTxOptimisticException.java   |   39 -
 .../cache/GridCacheTxRollbackException.java     |   39 -
 .../gridgain/grid/cache/GridCacheTxState.java   |   57 -
 .../grid/cache/GridCacheTxSynchronization.java  |   37 -
 .../grid/cache/GridCacheTxTimeoutException.java |   39 -
 .../GridCacheWriteSynchronizationMode.java      |    5 +-
 .../cache/GridTransactionsConfiguration.java    |  190 --
 .../store/GridCacheLoadOnlyStoreAdapter.java    |   16 +-
 .../grid/cache/store/GridCacheStore.java        |   27 +-
 .../grid/cache/store/GridCacheStoreAdapter.java |   17 +-
 .../store/GridCacheStoreBalancingWrapper.java   |   16 +-
 .../store/jdbc/GridCacheJdbcBlobStore.java      |   15 +-
 .../org/gridgain/grid/kernal/GridGainEx.java    |    2 +-
 .../org/gridgain/grid/kernal/GridKernal.java    |   15 +-
 .../gridgain/grid/kernal/GridKernalContext.java |    2 +-
 .../grid/kernal/GridNodeAttributes.java         |    3 +
 .../grid/kernal/IgniteTransactionsEx.java       |   34 +
 .../affinity/GridAffinityAssignmentCache.java   |    1 -
 .../processors/cache/GridCacheAdapter.java      |  296 +-
 .../processors/cache/GridCacheAttributes.java   |   40 -
 .../processors/cache/GridCacheContext.java      |   34 +-
 .../processors/cache/GridCacheEntryEx.java      |   15 +-
 .../processors/cache/GridCacheEntryImpl.java    |   11 +-
 .../processors/cache/GridCacheEventManager.java |    8 +-
 .../cache/GridCacheEvictionEntry.java           |    9 +-
 .../cache/GridCacheEvictionManager.java         |   73 +-
 .../processors/cache/GridCacheIoManager.java    |   32 +-
 .../processors/cache/GridCacheMapEntry.java     |   56 +-
 .../processors/cache/GridCacheMessage.java      |    9 +-
 .../cache/GridCacheMultiTxFuture.java           |   19 +-
 .../kernal/processors/cache/GridCacheMvcc.java  |    3 +-
 .../processors/cache/GridCacheMvccManager.java  |   19 +-
 .../GridCachePartitionExchangeManager.java      |   35 +-
 .../processors/cache/GridCacheProcessor.java    |  124 +-
 .../processors/cache/GridCacheProjectionEx.java |    9 +-
 .../cache/GridCacheProjectionImpl.java          |   29 +-
 .../processors/cache/GridCacheProxyImpl.java    |   23 +-
 .../cache/GridCacheSharedContext.java           |   61 +-
 .../processors/cache/GridCacheStoreManager.java |   27 +-
 .../processors/cache/GridCacheTxAdapter.java    | 1479 --------
 .../processors/cache/GridCacheTxEntry.java      | 1059 ------
 .../kernal/processors/cache/GridCacheTxEx.java  |  503 ---
 .../processors/cache/GridCacheTxHandler.java    | 1478 --------
 .../kernal/processors/cache/GridCacheTxKey.java |   97 -
 .../cache/GridCacheTxLocalAdapter.java          | 3183 ------------------
 .../processors/cache/GridCacheTxLocalEx.java    |  166 -
 .../processors/cache/GridCacheTxManager.java    | 2194 ------------
 .../kernal/processors/cache/GridCacheTxMap.java |  179 -
 .../processors/cache/GridCacheTxProxy.java      |   19 -
 .../processors/cache/GridCacheTxProxyImpl.java  |  303 --
 .../processors/cache/GridCacheTxRemoteEx.java   |   37 -
 .../kernal/processors/cache/GridCacheUtils.java |   89 +-
 .../cache/GridCacheVersionManager.java          |    2 +-
 .../cache/GridCacheWriteBehindStore.java        |   15 +-
 .../datastructures/GridCacheAtomicLongImpl.java |   21 +-
 .../GridCacheAtomicReferenceImpl.java           |   10 +-
 .../GridCacheAtomicSequenceImpl.java            |    8 +-
 .../GridCacheAtomicStampedImpl.java             |   10 +-
 .../GridCacheCountDownLatchImpl.java            |   10 +-
 .../GridCacheDataStructuresManager.java         |   29 +-
 .../GridTransactionalCacheQueueImpl.java        |   14 +-
 .../distributed/GridCacheCommittedTxInfo.java   |    9 +-
 ...ridCacheOptimisticCheckPreparedTxFuture.java |    6 +-
 ...idCacheOptimisticCheckPreparedTxRequest.java |    3 +-
 .../GridCachePerThreadTxCommitBuffer.java       |    3 +-
 ...dCachePessimisticCheckCommittedTxFuture.java |    9 +-
 ...CachePessimisticCheckCommittedTxRequest.java |    3 +-
 .../distributed/GridCacheTxCommitBuffer.java    |    3 +-
 .../GridDistributedCacheAdapter.java            |   12 +-
 .../distributed/GridDistributedCacheEntry.java  |   47 +-
 .../distributed/GridDistributedLockRequest.java |   23 +-
 .../GridDistributedTxFinishRequest.java         |   57 +-
 .../distributed/GridDistributedTxMapping.java   |   31 +-
 .../GridDistributedTxPrepareRequest.java        |   91 +-
 .../GridDistributedTxRemoteAdapter.java         |   87 +-
 .../distributed/dht/GridDhtCacheEntry.java      |   65 +-
 .../distributed/dht/GridDhtCacheEntryImpl.java  |    2 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |    5 +-
 .../distributed/dht/GridDhtLockFuture.java      |   12 +-
 .../distributed/dht/GridDhtLockRequest.java     |    9 +-
 .../distributed/dht/GridDhtLockResponse.java    |    7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   53 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |   28 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   79 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   91 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   79 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |   84 +-
 .../dht/GridDhtTxPrepareRequest.java            |   73 +-
 .../dht/GridDhtTxPrepareResponse.java           |    7 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   37 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   69 +-
 .../dht/colocated/GridDhtColocatedCache.java    |   12 +-
 .../colocated/GridDhtColocatedLockFuture.java   |   19 +-
 .../preloader/GridDhtPartitionDemandPool.java   |    2 +-
 .../GridDhtPartitionsExchangeFuture.java        |   11 +-
 .../distributed/near/GridNearAtomicCache.java   |    6 +-
 .../distributed/near/GridNearCacheAdapter.java  |    7 +-
 .../distributed/near/GridNearCacheEntry.java    |   16 +-
 .../distributed/near/GridNearGetFuture.java     |    8 +-
 .../distributed/near/GridNearLockFuture.java    |   17 +-
 .../distributed/near/GridNearLockRequest.java   |   33 +-
 .../near/GridNearTransactionalCache.java        |   23 +-
 .../near/GridNearTxFinishFuture.java            |   33 +-
 .../near/GridNearTxFinishRequest.java           |   55 +-
 .../cache/distributed/near/GridNearTxLocal.java |  160 +-
 .../near/GridNearTxPrepareFuture.java           |  110 +-
 .../near/GridNearTxPrepareRequest.java          |   47 +-
 .../near/GridNearTxPrepareResponse.java         |   15 +-
 .../distributed/near/GridNearTxRemote.java      |   53 +-
 .../processors/cache/dr/GridCacheDrManager.java |    3 +-
 .../cache/dr/os/GridOsCacheDrManager.java       |    3 +-
 .../processors/cache/local/GridLocalCache.java  |   10 +-
 .../cache/local/GridLocalCacheEntry.java        |    5 +-
 .../cache/local/GridLocalLockFuture.java        |    6 +-
 .../processors/cache/local/GridLocalTx.java     |   32 +-
 .../cache/local/GridLocalTxFuture.java          |   28 +-
 .../local/atomic/GridLocalAtomicCache.java      |    6 +-
 .../GridCacheContinuousQueryManager.java        |   11 +-
 .../transactions/IgniteTransactionsImpl.java    |  165 +-
 .../cache/transactions/IgniteTxAdapter.java     | 1548 +++++++++
 .../cache/transactions/IgniteTxEntry.java       | 1060 ++++++
 .../cache/transactions/IgniteTxEx.java          |  526 +++
 .../cache/transactions/IgniteTxHandler.java     | 1493 ++++++++
 .../cache/transactions/IgniteTxKey.java         |   97 +
 .../transactions/IgniteTxLocalAdapter.java      | 3179 +++++++++++++++++
 .../cache/transactions/IgniteTxLocalEx.java     |  162 +
 .../cache/transactions/IgniteTxManager.java     | 2213 ++++++++++++
 .../cache/transactions/IgniteTxMap.java         |  179 +
 .../transactions/IgniteTxMetricsAdapter.java    |  108 +
 .../cache/transactions/IgniteTxProxy.java       |   19 +
 .../cache/transactions/IgniteTxProxyImpl.java   |  364 ++
 .../cache/transactions/IgniteTxRemoteEx.java    |   39 +
 .../dataload/GridDataLoadCacheUpdaters.java     |    7 +-
 .../processors/ggfs/GridGgfsDataManager.java    |    9 +-
 .../processors/ggfs/GridGgfsMetaManager.java    |   31 +-
 .../handlers/cache/GridCacheCommandHandler.java |    8 +-
 .../service/GridServiceProcessor.java           |    7 +-
 .../cache/VisorCacheDefaultConfiguration.java   |   13 +-
 .../visor/cache/VisorCacheDgcConfiguration.java |    4 -
 .../grid/util/future/GridCompoundFuture.java    |    4 +-
 .../ipc/shmem/GridIpcSharedMemorySpace.java     |    1 -
 .../core/src/test/config/spring-multicache.xml  |   16 -
 .../processors/cache/IgniteCacheTest.java       |  113 +
 .../tcp/GridCacheDhtLockBackupSelfTest.java     |    7 -
 .../store/GridCacheBalancingStoreSelfTest.java  |   16 +-
 .../cache/store/GridGeneratingTestStore.java    |   16 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |    3 +-
 .../grid/kernal/GridStartStopSelfTest.java      |    7 +-
 .../GridDeploymentMessageCountSelfTest.java     |    2 +-
 .../GridCacheAbstractFailoverSelfTest.java      |   19 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  238 +-
 .../cache/GridCacheAbstractMetricsSelfTest.java |    9 +-
 .../GridCacheAbstractProjectionSelfTest.java    |   12 +-
 .../GridCacheAbstractRemoveFailureTest.java     |    9 -
 .../cache/GridCacheAbstractSelfTest.java        |    9 +-
 .../cache/GridCacheAbstractTtlSelfTest.java     |    3 +-
 .../cache/GridCacheAbstractTxReadTest.java      |   17 +-
 .../cache/GridCacheBasicStoreAbstractTest.java  |   11 +-
 ...acheBasicStoreMultithreadedAbstractTest.java |    7 +-
 .../cache/GridCacheClearAllSelfTest.java        |    3 +-
 ...dCacheColocatedTxStoreExceptionSelfTest.java |    2 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |    8 +-
 ...idCacheConfigurationConsistencySelfTest.java |   16 +-
 .../GridCacheDaemonNodeAbstractSelfTest.java    |    9 +-
 .../cache/GridCacheDeploymentSelfTest.java      |    7 +-
 .../GridCacheExAbstractFullApiSelfTest.java     |    7 +-
 .../GridCacheFinishPartitionsSelfTest.java      |    9 +-
 .../cache/GridCacheGenericTestStore.java        |   32 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |  118 +-
 .../GridCacheGroupLockFailoverSelfTest.java     |    3 -
 .../cache/GridCacheGroupLockPutTask.java        |    8 +-
 .../GridCacheInterceptorAbstractSelfTest.java   |   13 +-
 .../GridCacheInterceptorSelfTestSuite.java      |    6 +-
 .../cache/GridCacheLifecycleAwareSelfTest.java  |   18 +-
 .../GridCacheLocalTxStoreExceptionSelfTest.java |    2 +-
 .../GridCacheMarshallerTxAbstractTest.java      |    8 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |    7 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |    9 +-
 .../cache/GridCacheMvccManagerSelfTest.java     |    3 +-
 .../GridCacheNearTxStoreExceptionSelfTest.java  |    2 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |   11 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |    7 +-
 ...HeapMultiThreadedUpdateAbstractSelfTest.java |    2 +-
 ...CacheOffHeapMultiThreadedUpdateSelfTest.java |   21 +-
 .../GridCacheOffHeapTieredAbstractSelfTest.java |   23 +-
 .../cache/GridCacheOffheapUpdateSelfTest.java   |   15 +-
 .../cache/GridCachePartitionedWritesTest.java   |    9 +-
 .../cache/GridCachePutAllFailoverSelfTest.java  |    3 -
 .../GridCacheReferenceCleanupSelfTest.java      |   12 +-
 .../GridCacheRefreshAheadAbstractSelfTest.java  |    7 +-
 .../cache/GridCacheReloadSelfTest.java          |    7 +-
 ...CacheReplicatedTxStoreExceptionSelfTest.java |    2 +-
 .../cache/GridCacheSlowTxWarnTest.java          |    3 +-
 .../processors/cache/GridCacheStopSelfTest.java |    3 +-
 .../cache/GridCacheStorePutxSelfTest.java       |   17 +-
 .../cache/GridCacheSwapReloadSelfTest.java      |    7 +-
 .../processors/cache/GridCacheTestEntryEx.java  |   17 +-
 .../processors/cache/GridCacheTestStore.java    |   37 +-
 ...cheTransactionalAbstractMetricsSelfTest.java |   43 +-
 .../cache/GridCacheTxAbstractTest.java          |  484 ---
 .../GridCacheTxConcurrentGetAbstractTest.java   |  134 -
 .../GridCacheTxExceptionAbstractSelfTest.java   |  630 ----
 .../cache/GridCacheTxMultiNodeAbstractTest.java |  918 -----
 .../GridCacheTxMultiThreadedAbstractTest.java   |  275 --
 .../GridCacheTxReentryAbstractSelfTest.java     |  168 -
 .../GridCacheTxSingleThreadedAbstractTest.java  |  129 -
 ...idCacheTxStoreExceptionAbstractSelfTest.java |  630 ----
 .../GridCacheVariableTopologySelfTest.java      |    5 +-
 .../GridCacheWriteBehindStoreAbstractTest.java  |    9 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |    9 +-
 .../GridCacheWriteBehindStoreSelfTest.java      |    4 +-
 .../processors/cache/IgniteTxAbstractTest.java  |  484 +++
 .../IgniteTxConcurrentGetAbstractTest.java      |  134 +
 .../IgniteTxExceptionAbstractSelfTest.java      |  631 ++++
 .../cache/IgniteTxMultiNodeAbstractTest.java    |  918 +++++
 .../IgniteTxMultiThreadedAbstractTest.java      |  275 ++
 .../cache/IgniteTxReentryAbstractSelfTest.java  |  169 +
 .../IgniteTxSingleThreadedAbstractTest.java     |  129 +
 .../IgniteTxStoreExceptionAbstractSelfTest.java |  631 ++++
 .../GridCacheAtomicLongApiSelfTest.java         |    3 +-
 ...dCacheQueueMultiNodeConsistencySelfTest.java |    1 -
 .../GridCacheSequenceApiSelfAbstractTest.java   |    8 +-
 ...idCachePartitionedNodeRestartTxSelfTest.java |   13 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |    7 +-
 ...dCachePartitionedQueueMultiNodeSelfTest.java |    1 -
 ...tractDistributedByteArrayValuesSelfTest.java |   11 +-
 .../GridCacheAbstractJobExecutionTest.java      |   12 +-
 .../GridCacheAbstractNodeRestartSelfTest.java   |   13 +-
 ...tractPartitionedByteArrayValuesSelfTest.java |    2 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |    7 +-
 .../GridCacheBasicOpAbstractTest.java           |   10 +-
 .../GridCacheEntrySetAbstractSelfTest.java      |    7 +-
 .../distributed/GridCacheEventAbstractTest.java |   25 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |    8 +-
 .../GridCacheNodeFailureAbstractTest.java       |   12 +-
 ...chePartitionedReloadAllAbstractSelfTest.java |    7 +-
 .../GridCacheTransformEventSelfTest.java        |   20 +-
 ...cheTxConsistencyRestartAbstractSelfTest.java |  193 --
 ...xOriginatingNodeFailureAbstractSelfTest.java |  294 --
 ...cOriginatingNodeFailureAbstractSelfTest.java |  488 ---
 .../GridCacheTxPreloadAbstractTest.java         |  191 --
 .../GridCacheTxTimeoutAbstractTest.java         |  147 -
 ...iteTxConsistencyRestartAbstractSelfTest.java |  194 ++
 ...xOriginatingNodeFailureAbstractSelfTest.java |  295 ++
 ...cOriginatingNodeFailureAbstractSelfTest.java |  493 +++
 .../IgniteTxPreloadAbstractTest.java            |  192 ++
 .../IgniteTxTimeoutAbstractTest.java            |  147 +
 ...heAbstractTransformWriteThroughSelfTest.java |    9 +-
 .../dht/GridCacheColocatedDebugTest.java        |   34 +-
 ...eColocatedOptimisticTransactionSelfTest.java |    7 +-
 .../GridCacheColocatedTxExceptionSelfTest.java  |    2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 ...dCacheColocatedTxSingleThreadedSelfTest.java |    2 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |    3 +-
 .../dht/GridCacheDhtPreloadDelayedSelfTest.java |    2 +-
 ...ridCacheDhtPreloadMultiThreadedSelfTest.java |   17 +-
 .../dht/GridCacheDhtTxPreloadSelfTest.java      |    3 +-
 ...cheGroupLockPartitionedAbstractSelfTest.java |   11 +-
 ...ockPartitionedMultiNodeAbstractSelfTest.java |   14 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   14 +-
 ...itionedTxOriginatingNodeFailureSelfTest.java |    2 +-
 ...heTxConsistencyColocatedRestartSelfTest.java |   28 -
 .../GridCacheTxReentryColocatedSelfTest.java    |   71 -
 ...teTxConsistencyColocatedRestartSelfTest.java |   28 +
 .../dht/IgniteTxReentryColocatedSelfTest.java   |   71 +
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |   13 +-
 .../near/GridCacheGetStoreErrorSelfTest.java    |    7 +-
 .../near/GridCacheNearMultiGetSelfTest.java     |   14 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |   30 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |   38 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |    9 +-
 .../GridCacheNearPartitionedClearSelfTest.java  |  142 +
 .../near/GridCacheNearTxExceptionSelfTest.java  |    2 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |   21 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 .../near/GridCacheNearTxPreloadSelfTest.java    |    3 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |   23 +-
 .../GridCachePartitionedEvictionSelfTest.java   |    9 +-
 ...titionedExplicitLockNodeFailureSelfTest.java |    1 -
 ...GridCachePartitionedFilteredPutSelfTest.java |    5 +-
 .../GridCachePartitionedLoadCacheSelfTest.java  |    7 +-
 ...achePartitionedMultiNodeCounterSelfTest.java |   14 +-
 ...idCachePartitionedMultiNodeLockSelfTest.java |    1 -
 ...ePartitionedMultiThreadedPutGetSelfTest.java |    9 +-
 ...GridCachePartitionedNodeFailureSelfTest.java |    1 -
 .../GridCachePartitionedNodeRestartTest.java    |    3 +-
 ...ePartitionedOptimisticTxNodeRestartTest.java |    6 +-
 ...achePartitionedPreloadLifecycleSelfTest.java |    6 +-
 .../GridCachePartitionedStorePutSelfTest.java   |    7 +-
 ...GridCachePartitionedTxConcurrentGetTest.java |    2 +-
 ...GridCachePartitionedTxMultiNodeSelfTest.java |    2 +-
 ...CachePartitionedTxMultiThreadedSelfTest.java |    2 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |   24 +-
 ...achePartitionedTxSingleThreadedSelfTest.java |    2 +-
 .../GridCachePartitionedTxTimeoutSelfTest.java  |    4 +-
 .../near/GridCachePutArrayValueSelfTest.java    |    2 -
 .../near/GridCacheTxReentryNearSelfTest.java    |   71 -
 .../near/GridPartitionedBackupLoadSelfTest.java |    7 +-
 .../near/IgniteTxReentryNearSelfTest.java       |   71 +
 .../GridCacheReplicatedEvictionSelfTest.java    |    8 +-
 .../GridCacheReplicatedInvalidateSelfTest.java  |   14 +-
 .../GridCacheReplicatedTxConcurrentGetTest.java |    2 +-
 .../GridCacheReplicatedTxExceptionSelfTest.java |    2 +-
 ...GridCacheReplicatedTxMultiNodeBasicTest.java |    2 +-
 ...dCacheReplicatedTxMultiThreadedSelfTest.java |    4 +-
 ...licatedTxOriginatingNodeFailureSelfTest.java |    2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 ...CacheReplicatedTxSingleThreadedSelfTest.java |    2 +-
 .../GridCacheReplicatedTxTimeoutSelfTest.java   |    2 +-
 .../replicated/GridReplicatedTxPreloadTest.java |    2 +-
 ...CacheReplicatedPreloadLifecycleSelfTest.java |    5 +-
 .../GridCacheReplicatedPreloadSelfTest.java     |    5 +-
 .../GridCacheBatchEvictUnswapSelfTest.java      |    8 +-
 ...heConcurrentEvictionConsistencySelfTest.java |    7 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |    4 +-
 .../GridCacheDistributedEvictionsSelfTest.java  |    7 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |   21 +-
 .../eviction/GridCacheEvictionAbstractTest.java |    9 +-
 .../GridCacheEvictionFilterSelfTest.java        |    2 +-
 .../GridCacheEvictionTouchSelfTest.java         |   21 +-
 .../GridCacheLruNearEvictionPolicySelfTest.java |    2 +-
 .../GridCacheRandomEvictionPolicySelfTest.java  |    2 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |   11 +-
 .../local/GridCacheLocalLoadAllSelfTest.java    |   10 +-
 .../GridCacheLocalTxExceptionSelfTest.java      |    2 +-
 .../GridCacheLocalTxMultiThreadedSelfTest.java  |    4 +-
 .../GridCacheLocalTxSingleThreadedSelfTest.java |    2 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |   16 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |    8 +-
 .../GridDataLoaderProcessorSelfTest.java        |   12 +-
 .../ggfs/GridGgfsDataManagerSelfTest.java       |    7 +-
 .../processors/ggfs/GridGgfsSizeSelfTest.java   |    9 +-
 .../cache/GridCacheCommandHandlerSelfTest.java  |    2 +-
 .../cache/GridCacheAbstractLoadTest.java        |   14 +-
 ...ridCacheAffinityTransactionsOffHeapTest.java |    8 +-
 .../cache/GridCacheGroupLockComparisonTest.java |    7 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |    7 +-
 .../colocation/GridTestCacheStore.java          |    8 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |    7 +-
 .../gridgain/loadtests/dsi/GridDsiPerfJob.java  |    4 +-
 .../loadtests/hashmap/GridCacheTestContext.java |    4 +-
 .../loadtests/hashmap/GridHashMapLoadTest.java  |    5 +-
 .../swap/GridSwapEvictAllBenchmark.java         |    8 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |   30 +-
 .../GridCacheDataStructuresSelfTestSuite.java   |   15 +-
 .../GridCacheEvictionSelfTestSuite.java         |    6 +-
 .../GridCacheFullApiSelfTestSuite.java          |    6 +-
 .../GridCacheMetricsSelfTestSuite.java          |    4 +-
 .../GridCacheWriteBehindTestSuite.java          |    4 +-
 .../bamboo/GridCacheFailoverTestSuite.java      |    4 -
 .../bamboo/GridDataGridRestartTestSuite.java    |    4 -
 .../bamboo/GridDataGridTestSuite.java           |   48 +-
 .../GridHibernateReadWriteAccessStrategy.java   |   10 +-
 .../hibernate/GridHibernateRegionFactory.java   |   15 +-
 .../hibernate/GridCacheHibernateBlobStore.java  |   17 +-
 .../cache/GridCacheAbstractQuerySelfTest.java   |    8 +-
 .../cache/GridCacheQueryLoadSelfTest.java       |    7 +-
 .../GridCacheQueryMultiThreadedSelfTest.java    |    9 +-
 ...idCachePartitionedHitsAndMissesSelfTest.java |    8 +-
 .../GridCacheReplicatedQuerySelfTest.java       |    6 +-
 .../testsuites/GridCacheQuerySelfTestSuite.java |   10 +-
 .../cache/jta/GridCacheJtaManager.java          |   24 +-
 .../cache/jta/GridCacheXAResource.java          |   12 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |    5 +-
 .../java/org/gridgain/grid/GridSpringBean.java  |    4 +-
 .../cache/spring/GridSpringCacheManager.java    |    5 +-
 .../cache/websession/GridWebSessionFilter.java  |    8 +-
 410 files changed, 20796 insertions(+), 19234 deletions(-)
----------------------------------------------------------------------



[40/50] [abbrv] incubator-ignite git commit: GG-9141 - Fixed imports.

Posted by sb...@apache.org.
GG-9141 - Fixed imports.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2f62dc61
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2f62dc61
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2f62dc61

Branch: refs/heads/ignite-32
Commit: 2f62dc6103a243cd5b9741ef8eb211c0c6246c8e
Parents: cd46f56
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:57:28 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:57:28 2014 -0800

----------------------------------------------------------------------
 .../java/org/apache/ignite/IgniteManaged.java   | 47 ++++++++++----------
 1 file changed, 24 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2f62dc61/modules/core/src/main/java/org/apache/ignite/IgniteManaged.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteManaged.java b/modules/core/src/main/java/org/apache/ignite/IgniteManaged.java
index 9aaa644..c696879 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteManaged.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteManaged.java
@@ -10,9 +10,10 @@
 package org.apache.ignite;
 
 import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.managed.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.resources.*;
 import org.jetbrains.annotations.*;
 
 import java.util.*;
@@ -36,7 +37,7 @@ import java.util.*;
  * </ul>
  * <h1 class="header">Deployment From Configuration</h1>
  * In addition to deploying managed services by calling any of the provided {@code deploy(...)} methods,
- * you can also automatically deploy services on startup by specifying them in {@link org.apache.ignite.configuration.IgniteConfiguration}
+ * you can also automatically deploy services on startup by specifying them in {@link IgniteConfiguration}
  * like so:
  * <pre name="code" class="java">
  * GridConfiguration gridCfg = new GridConfiguration();
@@ -73,15 +74,15 @@ import java.util.*;
  * grid resources. Both, field and method based injections are supported. The following grid
  * resources can be injected:
  * <ul>
- * <li>{@link org.apache.ignite.resources.IgniteInstanceResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteLoggerResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteHomeResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteExecutorServiceResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteLocalNodeIdResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteMBeanServerResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteMarshallerResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteSpringApplicationContextResource}</li>
- * <li>{@link org.apache.ignite.resources.IgniteSpringResource}</li>
+ * <li>{@link IgniteInstanceResource}</li>
+ * <li>{@link IgniteLoggerResource}</li>
+ * <li>{@link IgniteHomeResource}</li>
+ * <li>{@link IgniteExecutorServiceResource}</li>
+ * <li>{@link IgniteLocalNodeIdResource}</li>
+ * <li>{@link IgniteMBeanServerResource}</li>
+ * <li>{@link IgniteMarshallerResource}</li>
+ * <li>{@link IgniteSpringApplicationContextResource}</li>
+ * <li>{@link IgniteSpringResource}</li>
  * </ul>
  * Refer to corresponding resource documentation for more information.
  * <h1 class="header">Service Example</h1>
@@ -135,7 +136,7 @@ public interface IgniteManaged extends IgniteAsyncSupport {
      * when a singleton service instance will be active on more than one node (e.g. crash detection delay).
      * <p>
      * This method is analogous to calling
-     * {@link #deployMultiple(String, org.apache.ignite.managed.ManagedService, int, int) deployMultiple(name, svc, 1, 1)} method.
+     * {@link #deployMultiple(String, ManagedService, int, int) deployMultiple(name, svc, 1, 1)} method.
      * <p>
      * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
      *
@@ -152,7 +153,7 @@ public interface IgniteManaged extends IgniteAsyncSupport {
      * the service on every new node.
      * <p>
      * This method is analogous to calling
-     * {@link #deployMultiple(String, org.apache.ignite.managed.ManagedService, int, int) deployMultiple(name, svc, 0, 1)} method.
+     * {@link #deployMultiple(String, ManagedService, int, int) deployMultiple(name, svc, 0, 1)} method.
      * <p>
      * Supports asynchronous execution (see {@link IgniteAsyncSupport}).
      *
@@ -171,7 +172,7 @@ public interface IgniteManaged extends IgniteAsyncSupport {
      * Note that in case of topology changes, due to network delays, there may be a temporary situation
      * when a service instance will be active on more than one node (e.g. crash detection delay).
      * <p>
-     * This method is analogous to the invocation of {@link #deploy(org.apache.ignite.managed.ManagedServiceConfiguration)} method
+     * This method is analogous to the invocation of {@link #deploy(ManagedServiceConfiguration)} method
      * as follows:
      * <pre name="code" class="java">
      *     GridServiceConfiguration cfg = new GridServiceConfiguration();
@@ -209,7 +210,7 @@ public interface IgniteManaged extends IgniteAsyncSupport {
      * Note that at least one of {@code 'totalCnt'} or {@code 'maxPerNodeCnt'} parameters must have
      * value greater than {@code 0}.
      * <p>
-     * This method is analogous to the invocation of {@link #deploy(org.apache.ignite.managed.ManagedServiceConfiguration)} method
+     * This method is analogous to the invocation of {@link #deploy(ManagedServiceConfiguration)} method
      * as follows:
      * <pre name="code" class="java">
      *     GridServiceConfiguration cfg = new GridServiceConfiguration();
@@ -235,17 +236,17 @@ public interface IgniteManaged extends IgniteAsyncSupport {
     /**
      * Deploys multiple instances of the service on the grid according to provided
      * configuration. GridGain will deploy a maximum amount of services equal to
-     * {@link org.apache.ignite.managed.ManagedServiceConfiguration#getTotalCount() cfg.getTotalCount()}  parameter
-     * making sure that there are no more than {@link org.apache.ignite.managed.ManagedServiceConfiguration#getMaxPerNodeCount() cfg.getMaxPerNodeCount()}
+     * {@link ManagedServiceConfiguration#getTotalCount() cfg.getTotalCount()}  parameter
+     * making sure that there are no more than {@link ManagedServiceConfiguration#getMaxPerNodeCount() cfg.getMaxPerNodeCount()}
      * service instances running on each node. Whenever topology changes, GridGain will automatically rebalance
      * the deployed services within cluster to make sure that each node will end up with
      * about equal number of deployed instances whenever possible.
      * <p>
-     * If {@link org.apache.ignite.managed.ManagedServiceConfiguration#getAffinityKey() cfg.getAffinityKey()} is not {@code null}, then GridGain
+     * If {@link ManagedServiceConfiguration#getAffinityKey() cfg.getAffinityKey()} is not {@code null}, then GridGain
      * will deploy the service on the primary node for given affinity key. The affinity will be calculated
-     * on the cache with {@link org.apache.ignite.managed.ManagedServiceConfiguration#getCacheName() cfg.getCacheName()} name.
+     * on the cache with {@link ManagedServiceConfiguration#getCacheName() cfg.getCacheName()} name.
      * <p>
-     * If {@link org.apache.ignite.managed.ManagedServiceConfiguration#getNodeFilter() cfg.getNodeFilter()} is not {@code null}, then
+     * If {@link ManagedServiceConfiguration#getNodeFilter() cfg.getNodeFilter()} is not {@code null}, then
      * GridGain will deploy service on all grid nodes for which the provided filter evaluates to {@code true}.
      * The node filter will be checked in addition to the underlying grid projection filter, or the
      * whole grid, if the underlying grid projection includes all grid nodes.
@@ -274,10 +275,10 @@ public interface IgniteManaged extends IgniteAsyncSupport {
 
     /**
      * Cancels service deployment. If a service with specified name was deployed on the grid,
-     * then {@link org.apache.ignite.managed.ManagedService#cancel(org.apache.ignite.managed.ManagedServiceContext)} method will be called on it.
+     * then {@link ManagedService#cancel(ManagedServiceContext)} method will be called on it.
      * <p>
-     * Note that GridGain cannot guarantee that the service exits from {@link org.apache.ignite.managed.ManagedService#execute(org.apache.ignite.managed.ManagedServiceContext)}
-     * method whenever {@link org.apache.ignite.managed.ManagedService#cancel(org.apache.ignite.managed.ManagedServiceContext)} is called. It is up to the user to
+     * Note that GridGain cannot guarantee that the service exits from {@link ManagedService#execute(ManagedServiceContext)}
+     * method whenever {@link ManagedService#cancel(ManagedServiceContext)} is called. It is up to the user to
      * make sure that the service code properly reacts to cancellations.
      * <p>
      * Supports asynchronous execution (see {@link IgniteAsyncSupport}).


[49/50] [abbrv] incubator-ignite git commit: Ignite - Fixing.

Posted by sb...@apache.org.
Ignite - Fixing.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3f254252
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3f254252
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3f254252

Branch: refs/heads/ignite-32
Commit: 3f254252b6a366060fbc65de59fc988ab4a2d9b9
Parents: e01d3c3
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 22 18:25:29 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 22 18:25:29 2014 -0800

----------------------------------------------------------------------
 .../grid/kernal/visor/cache/VisorCacheMetrics.java     | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3f254252/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheMetrics.java b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheMetrics.java
index 5b75c59..507ef2f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheMetrics.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheMetrics.java
@@ -92,7 +92,6 @@ public class VisorCacheMetrics implements Serializable {
     public static VisorCacheMetrics from(GridCache c) {
         VisorCacheMetrics cm = new VisorCacheMetrics();
 
-        // TODO gg-9141
         GridCacheMetrics m = c.metrics();
 
         cm.size = c.size();
@@ -100,23 +99,23 @@ public class VisorCacheMetrics implements Serializable {
         cm.createTm = m.createTime();
         cm.writeTm = m.writeTime();
         cm.readTm = m.readTime();
-//        cm.commitTm = m.commitTime();
-//        cm.rollbackTm = m.rollbackTime();
+        cm.commitTm = m.commitTime();
+        cm.rollbackTm = m.rollbackTime();
 
         cm.reads = m.reads();
         cm.writes = m.writes();
         cm.hits = m.hits();
         cm.misses = m.misses();
 
-//        cm.txCommits = m.txCommits();
-//        cm.txRollbacks = m.txRollbacks();
+        cm.txCommits = m.txCommits();
+        cm.txRollbacks = m.txRollbacks();
 
         cm.readsPerSec = perSecond(m.reads(), m.readTime(), m.createTime());
         cm.writesPerSec = perSecond(m.writes(), m.writeTime(), m.createTime());
         cm.hitsPerSec = perSecond (m.hits(), m.readTime(), m.createTime());
         cm.missesPerSec = perSecond(m.misses(), m.readTime(), m.createTime());
-//        cm.commitsPerSec = perSecond(m.txCommits(), m.commitTime(), m.createTime());
-//        cm.rollbacksPerSec = perSecond(m.txRollbacks(), m.rollbackTime(), m.createTime());
+        cm.commitsPerSec = perSecond(m.txCommits(), m.commitTime(), m.createTime());
+        cm.rollbacksPerSec = perSecond(m.txRollbacks(), m.rollbackTime(), m.createTime());
 
         cm.qryMetrics = VisorCacheQueryMetrics.from(c.queries().metrics());
 


[37/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
deleted file mode 100644
index 2861d66..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
+++ /dev/null
@@ -1,519 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.timeout.*;
-import org.gridgain.grid.util.lang.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * Transaction managed by cache ({@code 'Ex'} stands for external).
- */
-public interface GridCacheTxEx<K, V> extends IgniteTx, GridTimeoutObject {
-    @SuppressWarnings("PublicInnerClass")
-    public enum FinalizationStatus {
-        /** Transaction was not finalized yet. */
-        NONE,
-
-        /** Transaction is being finalized by user. */
-        USER_FINISH,
-
-        /** Recovery request is received, user finish requests should be ignored. */
-        RECOVERY_WAIT,
-
-        /** Transaction is being finalized by recovery procedure. */
-        RECOVERY_FINISH
-    }
-
-    /**
-     * @return Size of the transaction.
-     */
-    public int size();
-
-    /**
-     * @return {@code True} if transaction is allowed to use store.
-     */
-    public boolean storeEnabled();
-
-    /**
-     * @return {@code True} if transaction is allowed to use store and transactions spans one or more caches with
-     *      store enabled.
-     */
-    public boolean storeUsed();
-
-    /**
-     * Checks if this is system cache transaction. System transactions are isolated from user transactions
-     * because some of the public API methods may be invoked inside user transactions and internally start
-     * system cache transactions.
-     *
-     * @return {@code True} if transaction is started for system cache.
-     */
-    public boolean system();
-
-    /**
-     * @return Last recorded topology version.
-     */
-    public long topologyVersion();
-
-    /**
-     * @return Flag indicating whether transaction is implicit with only one key.
-     */
-    public boolean implicitSingle();
-
-    /**
-     * @return Collection of cache IDs involved in this transaction.
-     */
-    public Collection<Integer> activeCacheIds();
-
-    /**
-     * Attempts to set topology version and returns the current value.
-     * If topology version was previously set, then it's value will
-     * be returned (but not updated).
-     *
-     * @param topVer Topology version.
-     * @return Recorded topology version.
-     */
-    public long topologyVersion(long topVer);
-
-    /**
-     * @return {@code True} if transaction is empty.
-     */
-    public boolean empty();
-
-    /**
-     * @return {@code True} if transaction group-locked.
-     */
-    public boolean groupLock();
-
-    /**
-     * @return Group lock key if {@link #groupLock()} is {@code true}.
-     */
-    @Nullable public GridCacheTxKey groupLockKey();
-
-    /**
-     * @return {@code True} if preparing flag was set with this call.
-     */
-    public boolean markPreparing();
-
-    /**
-     * @param status Finalization status to set.
-     * @return {@code True} if could mark was set.
-     */
-    public boolean markFinalizing(FinalizationStatus status);
-
-    /**
-     * @param part Invalid partition.
-     */
-    public void addInvalidPartition(GridCacheContext<K, V> cacheCtx, int part);
-
-    /**
-     * @return Invalid partitions.
-     */
-    public Set<Integer> invalidPartitions();
-
-    /**
-     * Gets owned version for near remote transaction.
-     *
-     * @param key Key to get version for.
-     * @return Owned version, if any.
-     */
-    @Nullable public GridCacheVersion ownedVersion(GridCacheTxKey<K> key);
-
-    /**
-     * Gets ID of additional node involved. For example, in DHT case, other node is
-     * near node ID.
-     *
-     * @return Parent node IDs.
-     */
-    @Nullable public UUID otherNodeId();
-
-    /**
-     * @return Event node ID.
-     */
-    public UUID eventNodeId();
-
-    /**
-     * Gets node ID which directly started this transaction. In case of DHT local transaction it will be
-     * near node ID, in case of DHT remote transaction it will be primary node ID, in case of replicated remote
-     * transaction it will be starter node ID.
-     *
-     * @return Originating node ID.
-     */
-    public UUID originatingNodeId();
-
-    /**
-     * @return Master node IDs.
-     */
-    public Collection<UUID> masterNodeIds();
-
-    /**
-     * @return Near transaction ID.
-     */
-    @Nullable public GridCacheVersion nearXidVersion();
-
-    /**
-     * @return Transaction nodes mapping (primary node -> related backup nodes).
-     */
-    @Nullable public Map<UUID, Collection<UUID>> transactionNodes();
-
-    /**
-     * @param entry Entry to check.
-     * @return {@code True} if lock is owned.
-     * @throws GridCacheEntryRemovedException If entry has been removed.
-     */
-    public boolean ownsLock(GridCacheEntryEx<K, V> entry) throws GridCacheEntryRemovedException;
-
-    /**
-     * @param entry Entry to check.
-     * @return {@code True} if lock is owned.
-     */
-    public boolean ownsLockUnsafe(GridCacheEntryEx<K, V> entry);
-
-    /**
-     * For Partitioned caches, this flag is {@code false} for remote DHT and remote NEAR
-     * transactions because serializability of transaction is enforced on primary node. All
-     * other transaction types must enforce it.
-     *
-     * @return Enforce serializable flag.
-     */
-    public boolean enforceSerializable();
-
-    /**
-     * @return {@code True} if near transaction.
-     */
-    public boolean near();
-
-    /**
-     * @return {@code True} if DHT transaction.
-     */
-    public boolean dht();
-
-    /**
-     * @return {@code True} if dht colocated transaction.
-     */
-    public boolean colocated();
-
-    /**
-     * @return {@code True} if transaction is local, {@code false} if it's remote.
-     */
-    public boolean local();
-
-    /**
-     * @return {@code True} if transaction is replicated.
-     */
-    public boolean replicated();
-
-    /**
-     * @return Subject ID initiated this transaction.
-     */
-    public UUID subjectId();
-
-    /**
-     * Task name hash in case if transaction was initiated within task execution.
-     *
-     * @return Task name hash.
-     */
-    public int taskNameHash();
-
-    /**
-     * @return {@code True} if transaction is user transaction, which means:
-     * <ul>
-     *     <li>Explicit</li>
-     *     <li>Local</li>
-     *     <li>Not DHT</li>
-     * </ul>
-     */
-    public boolean user();
-
-    /**
-     * @return {@code True} if transaction is configured with synchronous commit flag.
-     */
-    public boolean syncCommit();
-
-    /**
-     * @return {@code True} if transaction is configured with synchronous rollback flag.
-     */
-    public boolean syncRollback();
-
-    /**
-     * @param key Key to check.
-     * @return {@code True} if key is present.
-     */
-    public boolean hasWriteKey(GridCacheTxKey<K> key);
-
-    /**
-     * @return Read set.
-     */
-    public Set<GridCacheTxKey<K>> readSet();
-
-    /**
-     * @return Write set.
-     */
-    public Set<GridCacheTxKey<K>> writeSet();
-
-    /**
-     * @return All transaction entries.
-     */
-    public Collection<GridCacheTxEntry<K, V>> allEntries();
-
-    /**
-     * @return Write entries.
-     */
-    public Collection<GridCacheTxEntry<K, V>> writeEntries();
-
-    /**
-     * @return Read entries.
-     */
-    public Collection<GridCacheTxEntry<K, V>> readEntries();
-
-    /**
-     * @return Transaction write map.
-     */
-    public Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> writeMap();
-
-    /**
-     * @return Transaction read map.
-     */
-    public Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> readMap();
-
-    /**
-     * Gets pessimistic recovery writes, i.e. values that have never been sent to remote nodes with lock requests.
-     *
-     * @return Collection of recovery writes.
-     */
-    public Collection<GridCacheTxEntry<K, V>> recoveryWrites();
-
-    /**
-     * Gets a list of entries that needs to be locked on the next step of prepare stage of
-     * optimistic transaction.
-     *
-     * @return List of tx entries for optimistic locking.
-     */
-    public Collection<GridCacheTxEntry<K, V>> optimisticLockEntries();
-
-    /**
-     * Seals transaction for updates.
-     */
-    public void seal();
-
-    /**
-     * @param key Key for the entry.
-     * @return Entry for the key (either from write set or read set).
-     */
-    @Nullable public GridCacheTxEntry<K, V> entry(GridCacheTxKey<K> key);
-
-    /**
-     * @param failFast Fail-fast flag.
-     * @param key Key to look up.
-     * @param filter Filter to check.
-     * @return Current value for the key within transaction.
-     * @throws GridCacheFilterFailedException If filter failed and failFast is {@code true}.
-     */
-     @Nullable public GridTuple<V> peek(
-         GridCacheContext<K, V> ctx,
-         boolean failFast,
-         K key,
-         @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter) throws GridCacheFilterFailedException;
-
-    /**
-     * @return Start version.
-     */
-    public GridCacheVersion startVersion();
-
-    /**
-     * @return Transaction version.
-     */
-    public GridCacheVersion xidVersion();
-
-    /**
-     * @return Version created at commit time.
-     */
-    public GridCacheVersion commitVersion();
-
-    /**
-     * @param commitVer Commit version.
-     * @return {@code True} if version was set.
-     */
-    public boolean commitVersion(GridCacheVersion commitVer);
-
-    /**
-     * @return End version (a.k.a. <tt>'tnc'</tt> or <tt>'transaction number counter'</tt>)
-     *      assigned to this transaction at the end of write phase.
-     */
-    public GridCacheVersion endVersion();
-
-    /**
-     * Prepare state.
-     *
-     * @throws IgniteCheckedException If failed.
-     */
-    public void prepare() throws IgniteCheckedException;
-
-    /**
-     * Prepare stage.
-     *
-     * @return Future for prepare step.
-     */
-    public IgniteFuture<GridCacheTxEx<K, V>> prepareAsync();
-
-    /**
-     * @param endVer End version (a.k.a. <tt>'tnc'</tt> or <tt>'transaction number counter'</tt>)
-     *      assigned to this transaction at the end of write phase.
-     */
-    public void endVersion(GridCacheVersion endVer);
-
-    /**
-     * @return Transaction write version. For all transactions except DHT transactions, will be equal to
-     *      {@link #xidVersion()}.
-     */
-    public GridCacheVersion writeVersion();
-
-    /**
-     * Sets write version.
-     *
-     * @param ver Write version.
-     */
-    public void writeVersion(GridCacheVersion ver);
-
-    /**
-     * @return Future for transaction completion.
-     */
-    public IgniteFuture<IgniteTx> finishFuture();
-
-    /**
-     * @param state Transaction state.
-     * @return {@code True} if transition was valid, {@code false} otherwise.
-     */
-    public boolean state(IgniteTxState state);
-
-    /**
-     * @param invalidate Invalidate flag.
-     */
-    public void invalidate(boolean invalidate);
-
-    /**
-     * @param sysInvalidate System invalidate flag.
-     */
-    public void systemInvalidate(boolean sysInvalidate);
-
-    /**
-     * @return System invalidate flag.
-     */
-    public boolean isSystemInvalidate();
-
-    /**
-     * TODO-gg-4004 Put rollback async on public API?
-     * Asynchronously rollback this transaction.
-     *
-     * @return Rollback future.
-     */
-    public IgniteFuture<IgniteTx> rollbackAsync();
-
-    /**
-     * Callback invoked whenever there is a lock that has been acquired
-     * by this transaction for any of the participating entries.
-     *
-     * @param entry Cache entry.
-     * @param owner Lock candidate that won ownership of the lock.
-     * @return {@code True} if transaction cared about notification.
-     */
-    public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner);
-
-    /**
-     * @return {@code True} if transaction timed out.
-     */
-    public boolean timedOut();
-
-    /**
-     * @return {@code True} if transaction had completed successfully or unsuccessfully.
-     */
-    public boolean done();
-
-    /**
-     * @return {@code True} for OPTIMISTIC transactions.
-     */
-    public boolean optimistic();
-
-    /**
-     * @return {@code True} for PESSIMISTIC transactions.
-     */
-    public boolean pessimistic();
-
-    /**
-     * @return {@code True} if read-committed.
-     */
-    public boolean readCommitted();
-
-    /**
-     * @return {@code True} if repeatable-read.
-     */
-    public boolean repeatableRead();
-
-    /**
-     * @return {@code True} if serializable.
-     */
-    public boolean serializable();
-
-    /**
-     * Checks whether given key has been removed within transaction.
-     *
-     * @param key Key to check.
-     * @return {@code True} if key has been removed.
-     */
-    public boolean removed(GridCacheTxKey<K> key);
-
-    /**
-     * Gets allowed remaining time for this transaction.
-     *
-     * @return Remaining time.
-     * @throws IgniteTxTimeoutException If transaction timed out.
-     */
-    public long remainingTime() throws IgniteTxTimeoutException;
-
-    /**
-     * @return Alternate transaction versions.
-     */
-    public Collection<GridCacheVersion> alternateVersions();
-
-    /**
-     * @return {@code True} if transaction needs completed versions for processing.
-     */
-    public boolean needsCompletedVersions();
-
-    /**
-     * @param base Base for committed versions.
-     * @param committed Committed transactions relative to base.
-     * @param rolledback Rolled back transactions relative to base.
-     */
-    public void completedVersions(GridCacheVersion base, Collection<GridCacheVersion> committed,
-        Collection<GridCacheVersion> rolledback);
-
-    /**
-     * @return {@code True} if transaction has at least one internal entry.
-     */
-    public boolean internal();
-
-    /**
-     * @return {@code True} if transaction is a one-phase-commit transaction.
-     */
-    public boolean onePhaseCommit();
-
-    /**
-     * @return {@code True} if transaction has transform entries. This flag will be only set for local
-     *      transactions.
-     */
-    public boolean hasTransforms();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
deleted file mode 100644
index 47631e0..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ /dev/null
@@ -1,1492 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.grid.util.future.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
-import static org.apache.ignite.transactions.IgniteTxIsolation.*;
-import static org.apache.ignite.transactions.IgniteTxState.*;
-import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
-
-/**
- * Isolated logic to process cache messages.
- */
-public class GridCacheTxHandler<K, V> {
-    /** Logger. */
-    private IgniteLogger log;
-
-    /** Shared cache context. */
-    private GridCacheSharedContext<K, V> ctx;
-
-    public IgniteFuture<GridCacheTxEx<K, V>> processNearTxPrepareRequest(final UUID nearNodeId,
-        final GridNearTxPrepareRequest<K, V> req) {
-        return prepareTx(nearNodeId, null, req);
-    }
-
-    /**
-     * @param ctx Shared cache context.
-     */
-    public GridCacheTxHandler(GridCacheSharedContext<K, V> ctx) {
-        this.ctx = ctx;
-
-        log = ctx.logger(GridCacheTxHandler.class);
-
-        ctx.io().addHandler(0, GridNearTxPrepareRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processNearTxPrepareRequest(nodeId, (GridNearTxPrepareRequest<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridNearTxPrepareResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processNearTxPrepareResponse(nodeId, (GridNearTxPrepareResponse<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridNearTxFinishRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processNearTxFinishRequest(nodeId, (GridNearTxFinishRequest<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridNearTxFinishResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processNearTxFinishResponse(nodeId, (GridNearTxFinishResponse<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridDhtTxPrepareRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processDhtTxPrepareRequest(nodeId, (GridDhtTxPrepareRequest<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridDhtTxPrepareResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processDhtTxPrepareResponse(nodeId, (GridDhtTxPrepareResponse<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridDhtTxFinishRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processDhtTxFinishRequest(nodeId, (GridDhtTxFinishRequest<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridDhtTxFinishResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
-            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
-                processDhtTxFinishResponse(nodeId, (GridDhtTxFinishResponse<K, V>)msg);
-            }
-        });
-
-        ctx.io().addHandler(0, GridCacheOptimisticCheckPreparedTxRequest.class,
-            new CI2<UUID, GridCacheOptimisticCheckPreparedTxRequest<K, V>>() {
-                @Override public void apply(UUID nodeId, GridCacheOptimisticCheckPreparedTxRequest<K, V> req) {
-                    processCheckPreparedTxRequest(nodeId, req);
-                }
-            });
-
-        ctx.io().addHandler(0, GridCacheOptimisticCheckPreparedTxResponse.class,
-            new CI2<UUID, GridCacheOptimisticCheckPreparedTxResponse<K, V>>() {
-                @Override public void apply(UUID nodeId, GridCacheOptimisticCheckPreparedTxResponse<K, V> res) {
-                    processCheckPreparedTxResponse(nodeId, res);
-                }
-            });
-
-        ctx.io().addHandler(0, GridCachePessimisticCheckCommittedTxRequest.class,
-            new CI2<UUID, GridCachePessimisticCheckCommittedTxRequest<K, V>>() {
-                @Override public void apply(UUID nodeId, GridCachePessimisticCheckCommittedTxRequest<K, V> req) {
-                    processCheckCommittedTxRequest(nodeId, req);
-                }
-            });
-
-        ctx.io().addHandler(0, GridCachePessimisticCheckCommittedTxResponse.class,
-            new CI2<UUID, GridCachePessimisticCheckCommittedTxResponse<K, V>>() {
-                @Override public void apply(UUID nodeId, GridCachePessimisticCheckCommittedTxResponse<K, V> res) {
-                    processCheckCommittedTxResponse(nodeId, res);
-                }
-            });
-    }
-
-    /**
-     * @param nearNodeId Near node ID that initiated transaction.
-     * @param locTx Optional local transaction.
-     * @param req Near prepare request.
-     * @return Future for transaction.
-     */
-    public IgniteFuture<GridCacheTxEx<K, V>> prepareTx(final UUID nearNodeId, @Nullable GridNearTxLocal<K, V> locTx,
-        final GridNearTxPrepareRequest<K, V> req) {
-        assert nearNodeId != null;
-        assert req != null;
-
-        if (locTx != null) {
-            if (req.near()) {
-                // Make sure not to provide Near entries to DHT cache.
-                req.cloneEntries();
-
-                return prepareNearTx(nearNodeId, req);
-            }
-            else
-                return prepareColocatedTx(locTx, req);
-        }
-        else
-            return prepareNearTx(nearNodeId, req);
-    }
-
-    /**
-     * Prepares local colocated tx.
-     *
-     * @param locTx Local transaction.
-     * @param req Near prepare request.
-     * @return Prepare future.
-     */
-    private IgniteFuture<GridCacheTxEx<K, V>> prepareColocatedTx(final GridNearTxLocal<K, V> locTx,
-        final GridNearTxPrepareRequest<K, V> req) {
-
-        IgniteFuture<Object> fut = new GridFinishedFutureEx<>(); // TODO force preload keys.
-
-        return new GridEmbeddedFuture<>(
-            ctx.kernalContext(),
-            fut,
-            new C2<Object, Exception, IgniteFuture<GridCacheTxEx<K, V>>>() {
-                @Override public IgniteFuture<GridCacheTxEx<K, V>> apply(Object o, Exception ex) {
-                    if (ex != null)
-                        throw new GridClosureException(ex);
-
-                    IgniteFuture<GridCacheTxEx<K, V>> fut = locTx.prepareAsyncLocal(req.reads(), req.writes(),
-                        req.transactionNodes(), req.last(), req.lastBackups());
-
-                    if (locTx.isRollbackOnly())
-                        locTx.rollbackAsync();
-
-                    return fut;
-                }
-            },
-            new C2<GridCacheTxEx<K, V>, Exception, GridCacheTxEx<K, V>>() {
-                @Nullable @Override public GridCacheTxEx<K, V> apply(GridCacheTxEx<K, V> tx, Exception e) {
-                    if (e != null) {
-                        // tx can be null of exception occurred.
-                        if (tx != null)
-                            tx.setRollbackOnly(); // Just in case.
-
-                        if (!(e instanceof IgniteTxOptimisticException))
-                            U.error(log, "Failed to prepare DHT transaction: " + tx, e);
-                    }
-
-                    return tx;
-                }
-            }
-        );
-    }
-
-    /**
-     * Prepares near transaction.
-     *
-     * @param nearNodeId Near node ID that initiated transaction.
-     * @param req Near prepare request.
-     * @return Prepare future.
-     */
-    private IgniteFuture<GridCacheTxEx<K, V>> prepareNearTx(final UUID nearNodeId,
-        final GridNearTxPrepareRequest<K, V> req) {
-        ClusterNode nearNode = ctx.node(nearNodeId);
-
-        if (nearNode == null) {
-            if (log.isDebugEnabled())
-                log.debug("Received transaction request from node that left grid (will ignore): " + nearNodeId);
-
-            return null;
-        }
-
-        try {
-            for (GridCacheTxEntry<K, V> e : F.concat(false, req.reads(), req.writes()))
-                e.unmarshal(ctx, false, ctx.deploy().globalLoader());
-        }
-        catch (IgniteCheckedException e) {
-            return new GridFinishedFuture<>(ctx.kernalContext(), e);
-        }
-
-        GridDhtTxLocal<K, V> tx;
-
-        GridCacheVersion mappedVer = ctx.tm().mappedVersion(req.version());
-
-        if (mappedVer != null) {
-            tx = ctx.tm().tx(mappedVer);
-
-            if (tx == null)
-                U.warn(log, "Missing local transaction for mapped near version [nearVer=" + req.version()
-                    + ", mappedVer=" + mappedVer + ']');
-        }
-        else {
-            tx = new GridDhtTxLocal<>(
-                ctx,
-                nearNode.id(),
-                req.version(),
-                req.futureId(),
-                req.miniId(),
-                req.threadId(),
-                /*implicit*/false,
-                /*implicit-single*/false,
-                req.system(),
-                req.concurrency(),
-                req.isolation(),
-                req.timeout(),
-                req.isInvalidate(),
-                false,
-                req.txSize(),
-                req.groupLockKey(),
-                req.partitionLock(),
-                req.transactionNodes(),
-                req.subjectId(),
-                req.taskNameHash()
-            );
-
-            tx = ctx.tm().onCreated(tx);
-
-            if (tx != null)
-                tx.topologyVersion(req.topologyVersion());
-            else
-                U.warn(log, "Failed to create local transaction (was transaction rolled back?) [xid=" +
-                    tx.xid() + ", req=" + req + ']');
-        }
-
-        if (tx != null) {
-            IgniteFuture<GridCacheTxEx<K, V>> fut = tx.prepareAsync(req.reads(), req.writes(),
-                req.dhtVersions(), req.messageId(), req.miniId(), req.transactionNodes(), req.last(),
-                req.lastBackups());
-
-            if (tx.isRollbackOnly()) {
-                try {
-                    tx.rollback();
-                }
-                catch (IgniteCheckedException e) {
-                    U.error(log, "Failed to rollback transaction: " + tx, e);
-                }
-            }
-
-            final GridDhtTxLocal<K, V> tx0 = tx;
-
-            fut.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-                @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> txFut) {
-                    try {
-                        txFut.get();
-                    }
-                    catch (IgniteCheckedException e) {
-                        tx0.setRollbackOnly(); // Just in case.
-
-                        if (!(e instanceof IgniteTxOptimisticException))
-                            U.error(log, "Failed to prepare DHT transaction: " + tx0, e);
-                    }
-                }
-            });
-
-            return fut;
-        }
-        else
-            return new GridFinishedFuture<>(ctx.kernalContext(), (GridCacheTxEx<K, V>)null);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param res Response.
-     */
-    private void processNearTxPrepareResponse(UUID nodeId, GridNearTxPrepareResponse<K, V> res) {
-        GridNearTxPrepareFuture<K, V> fut = (GridNearTxPrepareFuture<K, V>)ctx.mvcc()
-            .<GridCacheTxEx<K, V>>future(res.version(), res.futureId());
-
-        if (fut == null) {
-            if (log.isDebugEnabled())
-                log.debug("Failed to find future for prepare response [sender=" + nodeId + ", res=" + res + ']');
-
-            return;
-        }
-
-        fut.onResult(nodeId, res);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param res Response.
-     */
-    private void processNearTxFinishResponse(UUID nodeId, GridNearTxFinishResponse<K, V> res) {
-        ctx.tm().onFinishedRemote(nodeId, res.threadId());
-
-        GridNearTxFinishFuture<K, V> fut = (GridNearTxFinishFuture<K, V>)ctx.mvcc().<IgniteTx>future(
-            res.xid(), res.futureId());
-
-        if (fut == null) {
-            if (log.isDebugEnabled())
-                log.debug("Failed to find future for finish response [sender=" + nodeId + ", res=" + res + ']');
-
-            return;
-        }
-
-        fut.onResult(nodeId, res);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param res Response.
-     */
-    private void processDhtTxPrepareResponse(UUID nodeId, GridDhtTxPrepareResponse<K, V> res) {
-        GridDhtTxPrepareFuture<K, V> fut = (GridDhtTxPrepareFuture<K, V>)ctx.mvcc().
-            <GridCacheTxEx<K, V>>future(res.version(), res.futureId());
-
-        if (fut == null) {
-            if (log.isDebugEnabled())
-                log.debug("Received response for unknown future (will ignore): " + res);
-
-            return;
-        }
-
-        fut.onResult(nodeId, res);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param res Response.
-     */
-    private void processDhtTxFinishResponse(UUID nodeId, GridDhtTxFinishResponse<K, V> res) {
-        assert nodeId != null;
-        assert res != null;
-
-        GridDhtTxFinishFuture<K, V> fut = (GridDhtTxFinishFuture<K, V>)ctx.mvcc().<IgniteTx>future(res.xid(),
-            res.futureId());
-
-        if (fut == null) {
-            if (log.isDebugEnabled())
-                log.debug("Received response for unknown future (will ignore): " + res);
-
-            return;
-        }
-
-        fut.onResult(nodeId, res);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param req Request.
-     * @return Future.
-     */
-    @Nullable public IgniteFuture<IgniteTx> processNearTxFinishRequest(UUID nodeId, GridNearTxFinishRequest<K, V> req) {
-        return finish(nodeId, null, req);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param req Request.
-     * @return Future.
-     */
-    @Nullable public IgniteFuture<IgniteTx> finish(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
-        GridNearTxFinishRequest<K, V> req) {
-        assert nodeId != null;
-        assert req != null;
-
-        // Transaction on local cache only.
-        if (locTx != null && !locTx.nearLocallyMapped() && !locTx.colocatedLocallyMapped())
-            return new GridFinishedFutureEx<IgniteTx>(locTx);
-
-        if (log.isDebugEnabled())
-            log.debug("Processing near tx finish request [nodeId=" + nodeId + ", req=" + req + "]");
-
-        IgniteFuture<IgniteTx> colocatedFinishFut = null;
-
-        if (locTx != null && locTx.colocatedLocallyMapped())
-            colocatedFinishFut = finishColocatedLocal(req.commit(), locTx);
-
-        IgniteFuture<IgniteTx> nearFinishFut = null;
-
-        if (locTx == null || locTx.nearLocallyMapped()) {
-            if (locTx != null)
-                req.cloneEntries();
-
-            nearFinishFut = finishDhtLocal(nodeId, locTx, req);
-        }
-
-        if (colocatedFinishFut != null && nearFinishFut != null) {
-            GridCompoundFuture<IgniteTx, IgniteTx> res = new GridCompoundFuture<>(ctx.kernalContext());
-
-            res.add(colocatedFinishFut);
-            res.add(nearFinishFut);
-
-            res.markInitialized();
-
-            return res;
-        }
-
-        if (colocatedFinishFut != null)
-            return colocatedFinishFut;
-
-        return nearFinishFut;
-    }
-
-    /**
-     * @param nodeId Node ID initiated commit.
-     * @param locTx Optional local transaction.
-     * @param req Finish request.
-     * @return Finish future.
-     */
-    private IgniteFuture<IgniteTx> finishDhtLocal(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
-        GridNearTxFinishRequest<K, V> req) {
-        GridCacheVersion dhtVer = ctx.tm().mappedVersion(req.version());
-
-        GridDhtTxLocal<K, V> tx = null;
-
-        if (dhtVer == null) {
-            if (log.isDebugEnabled())
-                log.debug("Received transaction finish request for unknown near version (was lock explicit?): " + req);
-        }
-        else
-            tx = ctx.tm().tx(dhtVer);
-
-        if (tx == null && !req.explicitLock()) {
-            assert locTx == null : "DHT local tx should never be lost for near local tx: " + locTx;
-
-            U.warn(log, "Received finish request for completed transaction (the message may be too late " +
-                "and transaction could have been DGCed by now) [commit=" + req.commit() +
-                ", xid=" + req.version() + ']');
-
-            // Always send finish response.
-            GridCacheMessage<K, V> res = new GridNearTxFinishResponse<>(req.version(), req.threadId(), req.futureId(),
-                req.miniId(), new IgniteCheckedException("Transaction has been already completed."));
-
-            try {
-                ctx.io().send(nodeId, res, tx.system() ? UTILITY_CACHE_POOL : SYSTEM_POOL);
-            }
-            catch (Throwable e) {
-                // Double-check.
-                if (ctx.discovery().node(nodeId) == null) {
-                    if (log.isDebugEnabled())
-                        log.debug("Node left while sending finish response [nodeId=" + nodeId + ", res=" + res +
-                            ']');
-                }
-                else
-                    U.error(log, "Failed to send finish response to node [nodeId=" + nodeId + ", " +
-                        "res=" + res + ']', e);
-            }
-
-            return null;
-        }
-
-        try {
-            if (req.commit()) {
-                if (tx == null) {
-                    // Create transaction and add entries.
-                    tx = ctx.tm().onCreated(
-                        new GridDhtTxLocal<>(
-                            ctx,
-                            nodeId,
-                            req.version(),
-                            req.futureId(),
-                            req.miniId(),
-                            req.threadId(),
-                            true,
-                            false, /* we don't know, so assume false. */
-                            req.system(),
-                            PESSIMISTIC,
-                            READ_COMMITTED,
-                            /*timeout */0,
-                            req.isInvalidate(),
-                            req.storeEnabled(),
-                            req.txSize(),
-                            req.groupLockKey(),
-                            false,
-                            null,
-                            req.subjectId(),
-                            req.taskNameHash()));
-
-                    if (tx == null || !ctx.tm().onStarted(tx))
-                        throw new IgniteTxRollbackException("Attempt to start a completed transaction: " + req);
-
-                    tx.topologyVersion(req.topologyVersion());
-                }
-
-                tx.storeEnabled(req.storeEnabled());
-
-                if (!tx.markFinalizing(USER_FINISH)) {
-                    if (log.isDebugEnabled())
-                        log.debug("Will not finish transaction (it is handled by another thread): " + tx);
-
-                    return null;
-                }
-
-                if (!tx.syncCommit())
-                    tx.syncCommit(req.syncCommit());
-
-                tx.nearFinishFutureId(req.futureId());
-                tx.nearFinishMiniId(req.miniId());
-                tx.recoveryWrites(req.recoveryWrites());
-
-                Collection<GridCacheTxEntry<K, V>> writeEntries = req.writes();
-
-                if (!F.isEmpty(writeEntries)) {
-                    // In OPTIMISTIC mode, we get the values at PREPARE stage.
-                    assert tx.concurrency() == PESSIMISTIC;
-
-                    for (GridCacheTxEntry<K, V> entry : writeEntries)
-                        tx.addEntry(req.messageId(), entry);
-                }
-
-                if (tx.pessimistic())
-                    tx.prepare();
-
-                IgniteFuture<IgniteTx> commitFut = tx.commitAsync();
-
-                // Only for error logging.
-                commitFut.listenAsync(CU.errorLogger(log));
-
-                return commitFut;
-            }
-            else {
-                assert tx != null : "Transaction is null for near rollback request [nodeId=" +
-                    nodeId + ", req=" + req + "]";
-
-                tx.syncRollback(req.syncRollback());
-
-                tx.nearFinishFutureId(req.futureId());
-                tx.nearFinishMiniId(req.miniId());
-
-                IgniteFuture<IgniteTx> rollbackFut = tx.rollbackAsync();
-
-                // Only for error logging.
-                rollbackFut.listenAsync(CU.errorLogger(log));
-
-                return rollbackFut;
-            }
-        }
-        catch (Throwable e) {
-            U.error(log, "Failed completing transaction [commit=" + req.commit() + ", tx=" + tx + ']', e);
-
-            if (tx != null) {
-                IgniteFuture<IgniteTx> rollbackFut = tx.rollbackAsync();
-
-                // Only for error logging.
-                rollbackFut.listenAsync(CU.errorLogger(log));
-
-                return rollbackFut;
-            }
-
-            return new GridFinishedFuture<>(ctx.kernalContext(), e);
-        }
-    }
-
-    /**
-     * @param commit Commit flag (rollback if {@code false}).
-     * @param tx Transaction to commit.
-     * @return Future.
-     */
-    public IgniteFuture<IgniteTx> finishColocatedLocal(boolean commit, GridNearTxLocal<K, V> tx) {
-        try {
-            if (commit) {
-                if (!tx.markFinalizing(USER_FINISH)) {
-                    if (log.isDebugEnabled())
-                        log.debug("Will not finish transaction (it is handled by another thread): " + tx);
-
-                    return null;
-                }
-
-                return tx.commitAsyncLocal();
-            }
-            else
-                return tx.rollbackAsyncLocal();
-        }
-        catch (Throwable e) {
-            U.error(log, "Failed completing transaction [commit=" + commit + ", tx=" + tx + ']', e);
-
-            if (tx != null)
-                return tx.rollbackAsync();
-
-            return new GridFinishedFuture<>(ctx.kernalContext(), e);
-        }
-    }
-
-    /**
-     * @param nodeId Sender node ID.
-     * @param req Request.
-     */
-    protected final void processDhtTxPrepareRequest(UUID nodeId, GridDhtTxPrepareRequest<K, V> req) {
-        assert nodeId != null;
-        assert req != null;
-
-        if (log.isDebugEnabled())
-            log.debug("Processing dht tx prepare request [locNodeId=" + ctx.localNodeId() +
-                ", nodeId=" + nodeId + ", req=" + req + ']');
-
-        GridDhtTxRemote<K, V> dhtTx = null;
-        GridNearTxRemote<K, V> nearTx = null;
-
-        GridDhtTxPrepareResponse<K, V> res;
-
-        try {
-            res = new GridDhtTxPrepareResponse<>(req.version(), req.futureId(), req.miniId());
-
-            // Start near transaction first.
-            nearTx = !F.isEmpty(req.nearWrites()) ? startNearRemoteTx(ctx.deploy().globalLoader(), nodeId, req) : null;
-            dhtTx = startRemoteTx(nodeId, req, res);
-
-            // Set evicted keys from near transaction.
-            if (nearTx != null)
-                res.nearEvicted(nearTx.evicted());
-
-            if (dhtTx != null && !F.isEmpty(dhtTx.invalidPartitions()))
-                res.invalidPartitions(dhtTx.invalidPartitions());
-        }
-        catch (IgniteCheckedException e) {
-            if (e instanceof IgniteTxRollbackException)
-                U.error(log, "Transaction was rolled back before prepare completed: " + dhtTx, e);
-            else if (e instanceof IgniteTxOptimisticException) {
-                if (log.isDebugEnabled())
-                    log.debug("Optimistic failure for remote transaction (will rollback): " + dhtTx);
-            }
-            else
-                U.error(log, "Failed to process prepare request: " + req, e);
-
-            if (nearTx != null)
-                nearTx.rollback();
-
-            if (dhtTx != null)
-                dhtTx.rollback();
-
-            res = new GridDhtTxPrepareResponse<>(req.version(), req.futureId(), req.miniId(), e);
-        }
-
-        try {
-            // Reply back to sender.
-            ctx.io().send(nodeId, res, req.system() ? UTILITY_CACHE_POOL : SYSTEM_POOL);
-        }
-        catch (IgniteCheckedException e) {
-            if (e instanceof ClusterTopologyException) {
-                if (log.isDebugEnabled())
-                    log.debug("Failed to send tx response to remote node (node left grid) [node=" + nodeId +
-                        ", xid=" + req.version());
-            }
-            else
-                U.warn(log, "Failed to send tx response to remote node (will rollback transaction) [node=" + nodeId +
-                    ", xid=" + req.version() + ", err=" +  e.getMessage() + ']');
-
-            if (nearTx != null)
-                nearTx.rollback();
-
-            if (dhtTx != null)
-                dhtTx.rollback();
-        }
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param req Request.
-     */
-    @SuppressWarnings({"unchecked"})
-    protected final void processDhtTxFinishRequest(final UUID nodeId, final GridDhtTxFinishRequest<K, V> req) {
-        assert nodeId != null;
-        assert req != null;
-
-        if (log.isDebugEnabled())
-            log.debug("Processing dht tx finish request [nodeId=" + nodeId + ", req=" + req + ']');
-
-        GridDhtTxRemote<K, V> dhtTx = ctx.tm().tx(req.version());
-        GridNearTxRemote<K, V> nearTx = ctx.tm().nearTx(req.version());
-
-        try {
-            if (dhtTx == null && !F.isEmpty(req.writes()))
-                dhtTx = startRemoteTxForFinish(nodeId, req);
-
-            if (dhtTx != null) {
-                dhtTx.syncCommit(req.syncCommit());
-                dhtTx.syncRollback(req.syncRollback());
-            }
-
-            // One-phase commit transactions send finish requests to backup nodes.
-            if (dhtTx != null && req.onePhaseCommit()) {
-                dhtTx.onePhaseCommit(true);
-
-                dhtTx.writeVersion(req.writeVersion());
-            }
-
-            if (nearTx == null && !F.isEmpty(req.nearWrites()) && req.groupLock())
-                nearTx = startNearRemoteTxForFinish(nodeId, req);
-
-            if (nearTx != null) {
-                nearTx.syncCommit(req.syncCommit());
-                nearTx.syncRollback(req.syncRollback());
-            }
-        }
-        catch (IgniteTxRollbackException e) {
-            if (log.isDebugEnabled())
-                log.debug("Received finish request for completed transaction (will ignore) [req=" + req + ", err=" +
-                    e.getMessage() + ']');
-
-            sendReply(nodeId, req);
-
-            return;
-        }
-        catch (IgniteCheckedException e) {
-            U.error(log, "Failed to start remote DHT and Near transactions (will invalidate transactions) [dhtTx=" +
-                dhtTx + ", nearTx=" + nearTx + ']', e);
-
-            if (dhtTx != null)
-                dhtTx.invalidate(true);
-
-            if (nearTx != null)
-                nearTx.invalidate(true);
-        }
-        catch (GridDistributedLockCancelledException ignore) {
-            U.warn(log, "Received commit request to cancelled lock (will invalidate transaction) [dhtTx=" +
-                dhtTx + ", nearTx=" + nearTx + ']');
-
-            if (dhtTx != null)
-                dhtTx.invalidate(true);
-
-            if (nearTx != null)
-                nearTx.invalidate(true);
-        }
-
-        // Safety - local transaction will finish explicitly.
-        if (nearTx != null && nearTx.local())
-            nearTx = null;
-
-        finish(nodeId, dhtTx, req, req.writes());
-
-        if (nearTx != null)
-            finish(nodeId, nearTx, req, req.nearWrites());
-
-        sendReply(nodeId, req);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param tx Transaction.
-     * @param req Request.
-     * @param writes Writes.
-     */
-    protected void finish(
-        UUID nodeId,
-        GridCacheTxRemoteEx<K, V> tx,
-        GridDhtTxFinishRequest<K, V> req,
-        Collection<GridCacheTxEntry<K, V>> writes) {
-        // We don't allow explicit locks for transactions and
-        // therefore immediately return if transaction is null.
-        // However, we may decide to relax this restriction in
-        // future.
-        if (tx == null) {
-            if (req.commit())
-                // Must be some long time duplicate, but we add it anyway.
-                ctx.tm().addCommittedTx(req.version(), null);
-            else
-                ctx.tm().addRolledbackTx(req.version());
-
-            if (log.isDebugEnabled())
-                log.debug("Received finish request for non-existing transaction (added to completed set) " +
-                    "[senderNodeId=" + nodeId + ", res=" + req + ']');
-
-            return;
-        }
-        else if (log.isDebugEnabled())
-            log.debug("Received finish request for transaction [senderNodeId=" + nodeId + ", req=" + req +
-                ", tx=" + tx + ']');
-
-        try {
-            if (req.commit() || req.isSystemInvalidate()) {
-                if (tx.commitVersion(req.commitVersion())) {
-                    tx.invalidate(req.isInvalidate());
-                    tx.systemInvalidate(req.isSystemInvalidate());
-
-                    if (!F.isEmpty(writes)) {
-                        // In OPTIMISTIC mode, we get the values at PREPARE stage.
-                        assert tx.concurrency() == PESSIMISTIC;
-
-                        for (GridCacheTxEntry<K, V> entry : writes) {
-                            if (log.isDebugEnabled())
-                                log.debug("Unmarshalled transaction entry from pessimistic transaction [key=" +
-                                    entry.key() + ", value=" + entry.value() + ", tx=" + tx + ']');
-
-                            if (!tx.setWriteValue(entry))
-                                U.warn(log, "Received entry to commit that was not present in transaction [entry=" +
-                                    entry + ", tx=" + tx + ']');
-                        }
-                    }
-
-                    // Complete remote candidates.
-                    tx.doneRemote(req.baseVersion(), null, null, null);
-
-                    if (tx.pessimistic())
-                        tx.prepare();
-
-                    tx.commit();
-                }
-            }
-            else {
-                assert tx != null;
-
-                tx.doneRemote(req.baseVersion(), null, null, null);
-
-                tx.rollback();
-            }
-        }
-        catch (Throwable e) {
-            U.error(log, "Failed completing transaction [commit=" + req.commit() + ", tx=" + tx + ']', e);
-
-            // Mark transaction for invalidate.
-            tx.invalidate(true);
-            tx.systemInvalidate(true);
-
-            try {
-                tx.commit();
-            }
-            catch (IgniteCheckedException ex) {
-                U.error(log, "Failed to invalidate transaction: " + tx, ex);
-            }
-        }
-    }
-
-    /**
-     * Sends tx finish response to remote node, if response is requested.
-     *
-     * @param nodeId Node id that originated finish request.
-     * @param req Request.
-     */
-    protected void sendReply(UUID nodeId, GridDhtTxFinishRequest<K, V> req) {
-        if (req.replyRequired()) {
-            GridCacheMessage<K, V> res = new GridDhtTxFinishResponse<>(req.version(), req.futureId(), req.miniId());
-
-            try {
-                ctx.io().send(nodeId, res, req.system() ? UTILITY_CACHE_POOL : SYSTEM_POOL);
-            }
-            catch (Throwable e) {
-                // Double-check.
-                if (ctx.discovery().node(nodeId) == null) {
-                    if (log.isDebugEnabled())
-                        log.debug("Node left while sending finish response [nodeId=" + nodeId + ", res=" + res + ']');
-                }
-                else
-                    U.error(log, "Failed to send finish response to node [nodeId=" + nodeId + ", res=" + res + ']', e);
-            }
-        }
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param req Request.
-     * @param res Response.
-     * @return Remote transaction.
-     * @throws IgniteCheckedException If failed.
-     */
-    @Nullable GridDhtTxRemote<K, V> startRemoteTx(UUID nodeId,
-        GridDhtTxPrepareRequest<K, V> req,
-        GridDhtTxPrepareResponse<K, V> res) throws IgniteCheckedException {
-        if (!F.isEmpty(req.writes())) {
-            GridDhtTxRemote<K, V> tx = ctx.tm().tx(req.version());
-
-            assert F.isEmpty(req.candidatesByKey());
-
-            if (tx == null) {
-                tx = new GridDhtTxRemote<>(
-                    ctx,
-                    req.nearNodeId(),
-                    req.futureId(),
-                    nodeId,
-                    req.threadId(),
-                    req.topologyVersion(),
-                    req.version(),
-                    req.commitVersion(),
-                    req.system(),
-                    req.concurrency(),
-                    req.isolation(),
-                    req.isInvalidate(),
-                    req.timeout(),
-                    req.writes() != null ? Math.max(req.writes().size(), req.txSize()) : req.txSize(),
-                    req.groupLockKey(),
-                    req.nearXidVersion(),
-                    req.transactionNodes(),
-                    req.subjectId(),
-                    req.taskNameHash());
-
-                tx = ctx.tm().onCreated(tx);
-
-                if (tx == null || !ctx.tm().onStarted(tx)) {
-                    if (log.isDebugEnabled())
-                        log.debug("Attempt to start a completed transaction (will ignore): " + tx);
-
-                    return null;
-                }
-            }
-
-            if (!tx.isSystemInvalidate() && !F.isEmpty(req.writes())) {
-                int idx = 0;
-
-                for (GridCacheTxEntry<K, V> entry : req.writes()) {
-                    GridCacheContext<K, V> cacheCtx = entry.context();
-
-                    tx.addWrite(entry, ctx.deploy().globalLoader());
-
-                    if (isNearEnabled(cacheCtx) && req.invalidateNearEntry(idx))
-                        invalidateNearEntry(cacheCtx, entry.key(), req.version());
-
-                    try {
-                        if (req.needPreloadKey(idx)) {
-                            GridCacheEntryEx<K, V> cached = entry.cached();
-
-                            if (cached == null)
-                                cached = cacheCtx.cache().entryEx(entry.key(), req.topologyVersion());
-
-                            GridCacheEntryInfo<K, V> info = cached.info();
-
-                            if (info != null && !info.isNew() && !info.isDeleted())
-                                res.addPreloadEntry(info);
-                        }
-                    }
-                    catch (GridDhtInvalidPartitionException e) {
-                        tx.addInvalidPartition(cacheCtx, e.partition());
-
-                        tx.clearEntry(entry.txKey());
-                    }
-
-                    idx++;
-                }
-            }
-
-            // Prepare prior to reordering, so the pending locks added
-            // in prepare phase will get properly ordered as well.
-            tx.prepare();
-
-            if (req.last())
-                tx.state(PREPARED);
-
-            res.invalidPartitions(tx.invalidPartitions());
-
-            if (tx.empty() && req.last()) {
-                tx.rollback();
-
-                return null;
-            }
-
-            return tx;
-        }
-
-        return null;
-    }
-
-    /**
-     * @param key Key
-     * @param ver Version.
-     * @throws IgniteCheckedException If invalidate failed.
-     */
-    private void invalidateNearEntry(GridCacheContext<K, V> cacheCtx, K key, GridCacheVersion ver)
-        throws IgniteCheckedException {
-        GridNearCacheAdapter<K, V> near = cacheCtx.isNear() ? cacheCtx.near() : cacheCtx.dht().near();
-
-        GridCacheEntryEx<K, V> nearEntry = near.peekEx(key);
-
-        if (nearEntry != null)
-            nearEntry.invalidate(null, ver);
-    }
-
-    /**
-     * Called while processing dht tx prepare request.
-     *
-     * @param ldr Loader.
-     * @param nodeId Sender node ID.
-     * @param req Request.
-     * @return Remote transaction.
-     * @throws IgniteCheckedException If failed.
-     */
-    @Nullable public GridNearTxRemote<K, V> startNearRemoteTx(ClassLoader ldr, UUID nodeId,
-        GridDhtTxPrepareRequest<K, V> req) throws IgniteCheckedException {
-        assert F.isEmpty(req.candidatesByKey());
-
-        if (!F.isEmpty(req.nearWrites())) {
-            GridNearTxRemote<K, V> tx = ctx.tm().nearTx(req.version());
-
-            if (tx == null) {
-                tx = new GridNearTxRemote<>(
-                    ctx,
-                    ldr,
-                    nodeId,
-                    req.nearNodeId(),
-                    req.threadId(),
-                    req.version(),
-                    req.commitVersion(),
-                    req.system(),
-                    req.concurrency(),
-                    req.isolation(),
-                    req.isInvalidate(),
-                    req.timeout(),
-                    req.nearWrites(),
-                    req.txSize(),
-                    req.groupLockKey(),
-                    req.subjectId(),
-                    req.taskNameHash()
-                );
-
-                if (!tx.empty()) {
-                    tx = ctx.tm().onCreated(tx);
-
-                    if (tx == null || !ctx.tm().onStarted(tx))
-                        throw new IgniteTxRollbackException("Attempt to start a completed transaction: " + tx);
-                }
-            }
-            else
-                tx.addEntries(ldr, req.nearWrites());
-
-            tx.ownedVersions(req.owned());
-
-            // Prepare prior to reordering, so the pending locks added
-            // in prepare phase will get properly ordered as well.
-            tx.prepare();
-
-            return tx;
-        }
-
-        return null;
-    }
-
-    /**
-     * @param nodeId Primary node ID.
-     * @param req Request.
-     * @return Remote transaction.
-     * @throws IgniteCheckedException If failed.
-     * @throws GridDistributedLockCancelledException If lock has been cancelled.
-     */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Nullable GridDhtTxRemote<K, V> startRemoteTxForFinish(UUID nodeId, GridDhtTxFinishRequest<K, V> req)
-        throws IgniteCheckedException, GridDistributedLockCancelledException {
-
-        GridDhtTxRemote<K, V> tx = null;
-
-        boolean marked = false;
-
-        for (GridCacheTxEntry<K, V> txEntry : req.writes()) {
-            GridDistributedCacheEntry<K, V> entry = null;
-
-            GridCacheContext<K, V> cacheCtx = txEntry.context();
-
-            while (true) {
-                try {
-                    int part = cacheCtx.affinity().partition(txEntry.key());
-
-                    GridDhtLocalPartition<K, V> locPart = cacheCtx.topology().localPartition(part,
-                        req.topologyVersion(), false);
-
-                    // Handle implicit locks for pessimistic transactions.
-                    if (tx == null)
-                        tx = ctx.tm().tx(req.version());
-
-                    if (locPart == null || !locPart.reserve()) {
-                        if (log.isDebugEnabled())
-                            log.debug("Local partition for given key is already evicted (will remove from tx) " +
-                                "[key=" + txEntry.key() + ", part=" + part + ", locPart=" + locPart + ']');
-
-                        if (tx != null)
-                            tx.clearEntry(txEntry.txKey());
-
-                        break;
-                    }
-
-                    try {
-                        entry = (GridDistributedCacheEntry<K, V>)cacheCtx.cache().entryEx(txEntry.key(),
-                            req.topologyVersion());
-
-                        if (tx == null) {
-                            tx = new GridDhtTxRemote<>(
-                                ctx,
-                                req.nearNodeId(),
-                                req.futureId(),
-                                nodeId,
-                                // We can pass null as nearXidVersion as transaction will be committed right away.
-                                null,
-                                req.threadId(),
-                                req.topologyVersion(),
-                                req.version(),
-                                /*commitVer*/null,
-                                req.system(),
-                                PESSIMISTIC,
-                                req.isolation(),
-                                req.isInvalidate(),
-                                0,
-                                req.txSize(),
-                                req.groupLockKey(),
-                                req.subjectId(),
-                                req.taskNameHash());
-
-                            tx = ctx.tm().onCreated(tx);
-
-                            if (tx == null || !ctx.tm().onStarted(tx))
-                                throw new IgniteTxRollbackException("Failed to acquire lock " +
-                                    "(transaction has been completed): " + req.version());
-                        }
-
-                        tx.addWrite(cacheCtx, txEntry.op(), txEntry.txKey(), txEntry.keyBytes(), txEntry.value(),
-                            txEntry.valueBytes(), txEntry.transformClosures(), txEntry.drVersion());
-
-                        if (!marked) {
-                            if (tx.markFinalizing(USER_FINISH))
-                                marked = true;
-                            else {
-                                tx.clearEntry(txEntry.txKey());
-
-                                return null;
-                            }
-                        }
-
-                        // Add remote candidate before reordering.
-                        if (txEntry.explicitVersion() == null && !txEntry.groupLockEntry())
-                            entry.addRemote(
-                                req.nearNodeId(),
-                                nodeId,
-                                req.threadId(),
-                                req.version(),
-                                0,
-                                /*tx*/true,
-                                tx.implicitSingle(),
-                                null
-                            );
-
-                        // Double-check in case if sender node left the grid.
-                        if (ctx.discovery().node(req.nearNodeId()) == null) {
-                            if (log.isDebugEnabled())
-                                log.debug("Node requesting lock left grid (lock request will be ignored): " + req);
-
-                            tx.rollback();
-
-                            return null;
-                        }
-
-                        // Entry is legit.
-                        break;
-                    }
-                    finally {
-                        locPart.release();
-                    }
-                }
-                catch (GridCacheEntryRemovedException ignored) {
-                    assert entry.obsoleteVersion() != null : "Obsolete flag not set on removed entry: " +
-                        entry;
-
-                    if (log.isDebugEnabled())
-                        log.debug("Received entry removed exception (will retry on renewed entry): " + entry);
-
-                    tx.clearEntry(txEntry.txKey());
-
-                    if (log.isDebugEnabled())
-                        log.debug("Cleared removed entry from remote transaction (will retry) [entry=" +
-                            entry + ", tx=" + tx + ']');
-                }
-                catch (GridDhtInvalidPartitionException p) {
-                    if (log.isDebugEnabled())
-                        log.debug("Received invalid partition (will clear entry from tx) [part=" + p + ", req=" +
-                            req + ", txEntry=" + txEntry + ']');
-
-                    if (tx != null)
-                        tx.clearEntry(txEntry.txKey());
-
-                    break;
-                }
-            }
-        }
-
-        if (tx != null && tx.empty()) {
-            tx.rollback();
-
-            return null;
-        }
-
-        return tx;
-    }
-
-    /**
-     * @param nodeId Primary node ID.
-     * @param req Request.
-     * @return Remote transaction.
-     * @throws IgniteCheckedException If failed.
-     * @throws GridDistributedLockCancelledException If lock has been cancelled.
-     */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Nullable public GridNearTxRemote<K, V> startNearRemoteTxForFinish(UUID nodeId, GridDhtTxFinishRequest<K, V> req)
-        throws IgniteCheckedException, GridDistributedLockCancelledException {
-        assert req.groupLock();
-
-        GridNearTxRemote<K, V> tx = null;
-
-        ClassLoader ldr = ctx.deploy().globalLoader();
-
-        if (ldr != null) {
-            boolean marked = false;
-
-            for (GridCacheTxEntry<K, V> txEntry : req.nearWrites()) {
-                GridDistributedCacheEntry<K, V> entry = null;
-
-                GridCacheContext<K, V> cacheCtx = txEntry.context();
-
-                while (true) {
-                    try {
-                        entry = cacheCtx.near().peekExx(txEntry.key());
-
-                        if (entry != null) {
-                            entry.keyBytes(txEntry.keyBytes());
-
-                            // Handle implicit locks for pessimistic transactions.
-                            if (tx == null)
-                                tx = ctx.tm().nearTx(req.version());
-
-                            if (tx == null) {
-                                tx = new GridNearTxRemote<>(
-                                    ctx,
-                                    nodeId,
-                                    req.nearNodeId(),
-                                    // We can pass null as nearXidVer as transaction will be committed right away.
-                                    null,
-                                    req.threadId(),
-                                    req.version(),
-                                    null,
-                                    req.system(),
-                                    PESSIMISTIC,
-                                    req.isolation(),
-                                    req.isInvalidate(),
-                                    0,
-                                    req.txSize(),
-                                    req.groupLockKey(),
-                                    req.subjectId(),
-                                    req.taskNameHash());
-
-                                tx = ctx.tm().onCreated(tx);
-
-                                if (tx == null || !ctx.tm().onStarted(tx))
-                                    throw new IgniteTxRollbackException("Failed to acquire lock " +
-                                        "(transaction has been completed): " + req.version());
-
-                                if (!marked)
-                                    marked = tx.markFinalizing(USER_FINISH);
-
-                                if (!marked)
-                                    return null;
-                            }
-
-                            if (tx.local())
-                                return null;
-
-                            if (!marked)
-                                marked = tx.markFinalizing(USER_FINISH);
-
-                            if (marked)
-                                tx.addEntry(cacheCtx, txEntry.txKey(), txEntry.keyBytes(), txEntry.op(), txEntry.value(),
-                                    txEntry.valueBytes(), txEntry.drVersion());
-                            else
-                                return null;
-
-                            if (req.groupLock()) {
-                                tx.markGroupLock();
-
-                                if (!txEntry.groupLockEntry())
-                                    tx.groupLockKey(txEntry.txKey());
-                            }
-
-                            // Add remote candidate before reordering.
-                            if (txEntry.explicitVersion() == null && !txEntry.groupLockEntry())
-                                entry.addRemote(
-                                    req.nearNodeId(),
-                                    nodeId,
-                                    req.threadId(),
-                                    req.version(),
-                                    0,
-                                    /*tx*/true,
-                                    tx.implicitSingle(),
-                                    null
-                                );
-                        }
-
-                        // Double-check in case if sender node left the grid.
-                        if (ctx.discovery().node(req.nearNodeId()) == null) {
-                            if (log.isDebugEnabled())
-                                log.debug("Node requesting lock left grid (lock request will be ignored): " + req);
-
-                            if (tx != null)
-                                tx.rollback();
-
-                            return null;
-                        }
-
-                        // Entry is legit.
-                        break;
-                    }
-                    catch (GridCacheEntryRemovedException ignored) {
-                        assert entry.obsoleteVersion() != null : "Obsolete flag not set on removed entry: " +
-                            entry;
-
-                        if (log.isDebugEnabled())
-                            log.debug("Received entry removed exception (will retry on renewed entry): " + entry);
-
-                        if (tx != null) {
-                            tx.clearEntry(txEntry.txKey());
-
-                            if (log.isDebugEnabled())
-                                log.debug("Cleared removed entry from remote transaction (will retry) [entry=" +
-                                    entry + ", tx=" + tx + ']');
-                        }
-
-                        // Will retry in while loop.
-                    }
-                }
-            }
-        }
-        else {
-            String err = "Failed to acquire deployment class loader for message: " + req;
-
-            U.warn(log, err);
-
-            throw new IgniteCheckedException(err);
-        }
-
-        return tx;
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param req Request.
-     */
-    protected void processCheckPreparedTxRequest(UUID nodeId, GridCacheOptimisticCheckPreparedTxRequest<K, V> req) {
-        if (log.isDebugEnabled())
-            log.debug("Processing check prepared transaction requests [nodeId=" + nodeId + ", req=" + req + ']');
-
-        boolean prepared = ctx.tm().txsPreparedOrCommitted(req.nearXidVersion(), req.transactions());
-
-        GridCacheOptimisticCheckPreparedTxResponse<K, V> res =
-            new GridCacheOptimisticCheckPreparedTxResponse<>(req.version(), req.futureId(), req.miniId(), prepared);
-
-        try {
-            if (log.isDebugEnabled())
-                log.debug("Sending check prepared transaction response [nodeId=" + nodeId + ", res=" + res + ']');
-
-            ctx.io().send(nodeId, res);
-        }
-        catch (ClusterTopologyException ignored) {
-            if (log.isDebugEnabled())
-                log.debug("Failed to send check prepared transaction response (did node leave grid?) [nodeId=" +
-                    nodeId + ", res=" + res + ']');
-        }
-        catch (IgniteCheckedException e) {
-            U.error(log, "Failed to send response to node [nodeId=" + nodeId + ", res=" + res + ']', e);
-        }
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param res Response.
-     */
-    protected void processCheckPreparedTxResponse(UUID nodeId, GridCacheOptimisticCheckPreparedTxResponse<K, V> res) {
-        if (log.isDebugEnabled())
-            log.debug("Processing check prepared transaction response [nodeId=" + nodeId + ", res=" + res + ']');
-
-        GridCacheOptimisticCheckPreparedTxFuture<K, V> fut = (GridCacheOptimisticCheckPreparedTxFuture<K, V>)ctx.mvcc().
-            <Boolean>future(res.version(), res.futureId());
-
-        if (fut == null) {
-            if (log.isDebugEnabled())
-                log.debug("Received response for unknown future (will ignore): " + res);
-
-            return;
-        }
-
-        fut.onResult(nodeId, res);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param req Request.
-     */
-    protected void processCheckCommittedTxRequest(final UUID nodeId,
-        final GridCachePessimisticCheckCommittedTxRequest<K, V> req) {
-        if (log.isDebugEnabled())
-            log.debug("Processing check committed transaction request [nodeId=" + nodeId + ", req=" + req + ']');
-
-        IgniteFuture<GridCacheCommittedTxInfo<K, V>> infoFut = ctx.tm().checkPessimisticTxCommitted(req);
-
-        infoFut.listenAsync(new CI1<IgniteFuture<GridCacheCommittedTxInfo<K, V>>>() {
-            @Override public void apply(IgniteFuture<GridCacheCommittedTxInfo<K, V>> infoFut) {
-                GridCacheCommittedTxInfo<K, V> info = null;
-
-                try {
-                    info = infoFut.get();
-                }
-                catch (IgniteCheckedException e) {
-                    U.error(log, "Failed to obtain committed info for transaction (will rollback): " + req, e);
-                }
-
-                GridCachePessimisticCheckCommittedTxResponse<K, V>
-                    res = new GridCachePessimisticCheckCommittedTxResponse<>(
-                    req.version(), req.futureId(), req.miniId(), info);
-
-                if (log.isDebugEnabled())
-                    log.debug("Finished waiting for tx committed info [req=" + req + ", res=" + res + ']');
-
-                sendCheckCommittedResponse(nodeId, res);            }
-        });
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param res Response.
-     */
-    protected void processCheckCommittedTxResponse(UUID nodeId,
-        GridCachePessimisticCheckCommittedTxResponse<K, V> res) {
-        if (log.isDebugEnabled())
-            log.debug("Processing check committed transaction response [nodeId=" + nodeId + ", res=" + res + ']');
-
-        GridCachePessimisticCheckCommittedTxFuture<K, V> fut =
-            (GridCachePessimisticCheckCommittedTxFuture<K, V>)ctx.mvcc().<GridCacheCommittedTxInfo<K, V>>future(
-                res.version(), res.futureId());
-
-        if (fut == null) {
-            if (log.isDebugEnabled())
-                log.debug("Received response for unknown future (will ignore): " + res);
-
-            return;
-        }
-
-        fut.onResult(nodeId, res);
-    }
-
-    /**
-     * Sends check committed response to remote node.
-     *
-     * @param nodeId Node ID to send to.
-     * @param res Reponse to send.
-     */
-    private void sendCheckCommittedResponse(UUID nodeId, GridCachePessimisticCheckCommittedTxResponse<K, V> res) {
-        try {
-            if (log.isDebugEnabled())
-                log.debug("Sending check committed transaction response [nodeId=" + nodeId + ", res=" + res + ']');
-
-            ctx.io().send(nodeId, res);
-        }
-        catch (ClusterTopologyException ignored) {
-            if (log.isDebugEnabled())
-                log.debug("Failed to send check committed transaction response (did node leave grid?) [nodeId=" +
-                    nodeId + ", res=" + res + ']');
-        }
-        catch (IgniteCheckedException e) {
-            U.error(log, "Failed to send response to node [nodeId=" + nodeId + ", res=" + res + ']', e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxKey.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxKey.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxKey.java
deleted file mode 100644
index d804023..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxKey.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-
-/**
- * Cache transaction key. This wrapper is needed because same keys may be enlisted in the same transaction
- * for multiple caches.
- */
-public class GridCacheTxKey<K> implements Externalizable {
-    /** Key. */
-    @GridToStringInclude
-    private K key;
-
-    /** Cache ID. */
-    private int cacheId;
-
-    /**
-     * Empty constructor required for {@link Externalizable}.
-     */
-    public GridCacheTxKey() {
-        // No-op.
-    }
-
-    /**
-     * @param key User key.
-     * @param cacheId Cache ID.
-     */
-    public GridCacheTxKey(K key, int cacheId) {
-        this.key = key;
-        this.cacheId = cacheId;
-    }
-
-    /**
-     * @return User key.
-     */
-    public K key() {
-        return key;
-    }
-
-    /**
-     * @return Cache ID.
-     */
-    public int cacheId() {
-        return cacheId;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean equals(Object o) {
-        if (this == o)
-            return true;
-
-        if (!(o instanceof GridCacheTxKey))
-            return false;
-
-        GridCacheTxKey that = (GridCacheTxKey)o;
-
-        return cacheId == that.cacheId && key.equals(that.key);
-    }
-
-    /** {@inheritDoc} */
-    @Override public int hashCode() {
-        int res = key.hashCode();
-
-        res = 31 * res + cacheId;
-
-        return res;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeInt(cacheId);
-        out.writeObject(key);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        cacheId = in.readInt();
-        key = (K)in.readObject();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridCacheTxKey.class, this);
-    }
-}


[28/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
new file mode 100644
index 0000000..7c8584c
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
@@ -0,0 +1,167 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.dr.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * Local transaction API.
+ */
+public interface IgniteTxLocalEx<K, V> extends IgniteTxEx<K, V> {
+    /**
+     * @return Minimum version involved in transaction.
+     */
+    public GridCacheVersion minVersion();
+
+    /**
+     * @return Future for this transaction.
+     */
+    public IgniteFuture<IgniteTxEx<K, V>> future();
+
+    /**
+     * @return Commit error.
+     */
+    @Nullable public Throwable commitError();
+
+    /**
+     * @param e Commit error.
+     */
+    public void commitError(Throwable e);
+
+    /**
+     * @throws IgniteCheckedException If commit failed.
+     */
+    public void userCommit() throws IgniteCheckedException;
+
+    /**
+     * @throws IgniteCheckedException If rollback failed.
+     */
+    public void userRollback() throws IgniteCheckedException;
+
+    /**
+     * @return Group lock entry if this is a group-lock transaction.
+     */
+    @Nullable public IgniteTxEntry<K, V> groupLockEntry();
+
+    /**
+     * @param keys Keys to get.
+     * @param cached Cached entry if this method is called from entry wrapper.
+     *      Cached entry is passed if and only if there is only one key in collection of keys.
+     * @param deserializePortable Deserialize portable flag.
+     * @param filter Entry filter.
+     * @return Future for this get.
+     */
+    public IgniteFuture<Map<K, V>> getAllAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Collection<? extends K> keys,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        boolean deserializePortable,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter);
+
+    /**
+     * @param map Map to put.
+     * @param retval Flag indicating whether a value should be returned.
+     * @param cached Cached entry, if any. Will be provided only if map has size 1.
+     * @param filter Filter.
+     * @param ttl Time to live for entry. If negative, leave unchanged.
+     * @return Future for put operation.
+     */
+    public IgniteFuture<GridCacheReturn<V>> putAllAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Map<? extends K, ? extends V> map,
+        boolean retval,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        long ttl,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter);
+
+    /**
+     * @param map Map to put.
+     * @return Transform operation future.
+     */
+    public IgniteFuture<GridCacheReturn<V>> transformAllAsync(
+        GridCacheContext<K, V> cacheCtx,
+        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> map,
+        boolean retval,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        long ttl);
+
+    /**
+     * @param keys Keys to remove.
+     * @param retval Flag indicating whether a value should be returned.
+     * @param cached Cached entry, if any. Will be provided only if size of keys collection is 1.
+     * @param filter Filter.
+     * @return Future for asynchronous remove.
+     */
+    public IgniteFuture<GridCacheReturn<V>> removeAllAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Collection<? extends K> keys,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        boolean retval,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter);
+
+    /**
+     * @param drMap DR map to put.
+     * @return Future for DR put operation.
+     */
+    public IgniteFuture<?> putAllDrAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Map<? extends K, GridCacheDrInfo<V>> drMap);
+
+    /**
+     * @param drMap DR map.
+     * @return Future for asynchronous remove.
+     */
+    public IgniteFuture<?> removeAllDrAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Map<? extends K, GridCacheVersion> drMap);
+
+    /**
+     * Performs keys locking for affinity-based group lock transactions.
+     *
+     * @param keys Keys to lock.
+     * @return Lock future.
+     */
+    public IgniteFuture<?> groupLockAsync(GridCacheContext<K, V> cacheCtx, Collection<K> keys);
+
+    /**
+     * @return {@code True} if keys from the same partition are allowed to be enlisted in group-lock transaction.
+     */
+    public boolean partitionLock();
+
+    /**
+     * Finishes transaction (either commit or rollback).
+     *
+     * @param commit {@code True} if commit, {@code false} if rollback.
+     * @return {@code True} if state has been changed.
+     * @throws IgniteCheckedException If finish failed.
+     */
+    public boolean finish(boolean commit) throws IgniteCheckedException;
+
+    /**
+     * @param async if {@code True}, then loading will happen in a separate thread.
+     * @param keys Keys.
+     * @param c Closure.
+     * @param deserializePortable Deserialize portable flag.
+     * @return Future with {@code True} value if loading took place.
+     */
+    public IgniteFuture<Boolean> loadMissing(
+        GridCacheContext<K, V> cacheCtx,
+        boolean async,
+        Collection<? extends K> keys,
+        boolean deserializePortable,
+        IgniteBiInClosure<K, V> c);
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxManager.java
new file mode 100644
index 0000000..a176ff1
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxManager.java
@@ -0,0 +1,2213 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.events.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.kernal.managers.eventstorage.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.timeout.*;
+import org.gridgain.grid.util.*;
+import org.gridgain.grid.util.future.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jdk8.backport.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.*;
+
+import static org.apache.ignite.IgniteSystemProperties.*;
+import static org.apache.ignite.events.IgniteEventType.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
+import static org.gridgain.grid.kernal.processors.cache.transactions.IgniteTxEx.FinalizationStatus.*;
+import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
+import static org.gridgain.grid.util.GridConcurrentFactory.*;
+
+/**
+ * Cache transaction manager.
+ */
+public class IgniteTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V> {
+    /** Default maximum number of transactions that have completed. */
+    private static final int DFLT_MAX_COMPLETED_TX_CNT = 262144; // 2^18
+
+    /** Slow tx warn timeout (initialized to 0). */
+    private static final int SLOW_TX_WARN_TIMEOUT = Integer.getInteger(GG_SLOW_TX_WARN_TIMEOUT, 0);
+
+    /** Tx salvage timeout (default 3s). */
+    private static final int TX_SALVAGE_TIMEOUT = Integer.getInteger(GG_TX_SALVAGE_TIMEOUT, 100);
+
+    /** Committing transactions. */
+    private final ThreadLocal<IgniteTxEx> threadCtx = new GridThreadLocalEx<>();
+
+    /** Per-thread transaction map. */
+    private final ConcurrentMap<Long, IgniteTxEx<K, V>> threadMap = newMap();
+
+    /** Per-ID map. */
+    private final ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> idMap = newMap();
+
+    /** Per-ID map for near transactions. */
+    private final ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> nearIdMap = newMap();
+
+    /** TX handler. */
+    private IgniteTxHandler<K, V> txHandler;
+
+    /** All transactions. */
+    private final Queue<IgniteTxEx<K, V>> committedQ = new ConcurrentLinkedDeque8<>();
+
+    /** Preparing transactions. */
+    private final Queue<IgniteTxEx<K, V>> prepareQ = new ConcurrentLinkedDeque8<>();
+
+    /** Minimum start version. */
+    private final ConcurrentNavigableMap<GridCacheVersion, AtomicInt> startVerCnts =
+        new ConcurrentSkipListMap<>();
+
+    /** Committed local transactions. */
+    private final GridBoundedConcurrentOrderedSet<GridCacheVersion> committedVers =
+        new GridBoundedConcurrentOrderedSet<>(Integer.getInteger(GG_MAX_COMPLETED_TX_COUNT, DFLT_MAX_COMPLETED_TX_CNT));
+
+    /** Rolled back local transactions. */
+    private final NavigableSet<GridCacheVersion> rolledbackVers =
+        new GridBoundedConcurrentOrderedSet<>(Integer.getInteger(GG_MAX_COMPLETED_TX_COUNT, DFLT_MAX_COMPLETED_TX_CNT));
+
+    /** Pessimistic commit buffer. */
+    private GridCacheTxCommitBuffer<K, V> pessimisticRecoveryBuf;
+
+    /** Transaction synchronizations. */
+    private final Collection<IgniteTxSynchronization> syncs =
+        new GridConcurrentHashSet<>();
+
+    /** Transaction finish synchronizer. */
+    private GridCacheTxFinishSync<K, V> txFinishSync;
+
+    /** For test purposes only. */
+    private boolean finishSyncDisabled;
+
+    /** Slow tx warn timeout. */
+    private int slowTxWarnTimeout = SLOW_TX_WARN_TIMEOUT;
+
+    /**
+     * Near version to DHT version map. Note that we initialize to 5K size from get go,
+     * to avoid future map resizings.
+     */
+    private final ConcurrentMap<GridCacheVersion, GridCacheVersion> mappedVers =
+        new ConcurrentHashMap8<>(5120);
+
+    /** {@inheritDoc} */
+    @Override protected void onKernalStart0() {
+        cctx.gridEvents().addLocalEventListener(
+            new GridLocalEventListener() {
+                @Override public void onEvent(IgniteEvent evt) {
+                    assert evt instanceof IgniteDiscoveryEvent;
+                    assert evt.type() == EVT_NODE_FAILED || evt.type() == EVT_NODE_LEFT;
+
+                    IgniteDiscoveryEvent discoEvt = (IgniteDiscoveryEvent)evt;
+
+                    cctx.time().addTimeoutObject(new NodeFailureTimeoutObject(discoEvt.eventNode().id()));
+
+                    if (txFinishSync != null)
+                        txFinishSync.onNodeLeft(discoEvt.eventNode().id());
+                }
+            },
+            EVT_NODE_FAILED, EVT_NODE_LEFT);
+
+        for (IgniteTxEx<K, V> tx : idMap.values()) {
+            if ((!tx.local() || tx.dht()) && !cctx.discovery().aliveAll(tx.masterNodeIds())) {
+                if (log.isDebugEnabled())
+                    log.debug("Remaining transaction from left node: " + tx);
+
+                salvageTx(tx, true, USER_FINISH);
+            }
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void start0() throws IgniteCheckedException {
+        pessimisticRecoveryBuf = new GridCachePerThreadTxCommitBuffer<>(cctx);
+
+        txFinishSync = new GridCacheTxFinishSync<>(cctx);
+
+        txHandler = new IgniteTxHandler<>(cctx);
+    }
+
+    /**
+     * @return TX handler.
+     */
+    public IgniteTxHandler<K, V> txHandler() {
+        return txHandler;
+    }
+
+    /**
+     * Invalidates transaction.
+     *
+     * @param tx Transaction.
+     * @return {@code True} if transaction was salvaged by this call.
+     */
+    public boolean salvageTx(IgniteTxEx<K, V> tx) {
+        return salvageTx(tx, false, USER_FINISH);
+    }
+
+    /**
+     * Invalidates transaction.
+     *
+     * @param tx Transaction.
+     * @param warn {@code True} if warning should be logged.
+     * @param status Finalization status.
+     * @return {@code True} if transaction was salvaged by this call.
+     */
+    private boolean salvageTx(IgniteTxEx<K, V> tx, boolean warn, IgniteTxEx.FinalizationStatus status) {
+        assert tx != null;
+
+        IgniteTxState state = tx.state();
+
+        if (state == ACTIVE || state == PREPARING || state == PREPARED) {
+            try {
+                if (!tx.markFinalizing(status)) {
+                    if (log.isDebugEnabled())
+                        log.debug("Will not try to commit invalidate transaction (could not mark finalized): " + tx);
+
+                    return false;
+                }
+
+                tx.systemInvalidate(true);
+
+                tx.prepare();
+
+                if (tx.state() == PREPARING) {
+                    if (log.isDebugEnabled())
+                        log.debug("Ignoring transaction in PREPARING state as it is currently handled " +
+                            "by another thread: " + tx);
+
+                    return false;
+                }
+
+                if (tx instanceof IgniteTxRemoteEx) {
+                    IgniteTxRemoteEx<K, V> rmtTx = (IgniteTxRemoteEx<K, V>)tx;
+
+                    rmtTx.doneRemote(tx.xidVersion(), Collections.<GridCacheVersion>emptyList(),
+                        Collections.<GridCacheVersion>emptyList(), Collections.<GridCacheVersion>emptyList());
+                }
+
+                tx.commit();
+
+                if (warn) {
+                    // This print out cannot print any peer-deployed entity either
+                    // directly or indirectly.
+                    U.warn(log, "Invalidated transaction because originating node either " +
+                        "crashed or left grid: " + CU.txString(tx));
+                }
+            }
+            catch (IgniteTxOptimisticException ignore) {
+                if (log.isDebugEnabled())
+                    log.debug("Optimistic failure while invalidating transaction (will rollback): " +
+                        tx.xidVersion());
+
+                try {
+                    tx.rollback();
+                }
+                catch (IgniteCheckedException e) {
+                    U.error(log, "Failed to rollback transaction: " + tx.xidVersion(), e);
+                }
+            }
+            catch (IgniteCheckedException e) {
+                U.error(log, "Failed to invalidate transaction: " + tx, e);
+            }
+        }
+        else if (state == MARKED_ROLLBACK) {
+            try {
+                tx.rollback();
+            }
+            catch (IgniteCheckedException e) {
+                U.error(log, "Failed to rollback transaction: " + tx.xidVersion(), e);
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Prints out memory stats to standard out.
+     * <p>
+     * USE ONLY FOR MEMORY PROFILING DURING TESTS.
+     */
+    @Override public void printMemoryStats() {
+        IgniteTxEx<K, V> firstTx = committedQ.peek();
+
+        int committedSize = committedQ.size();
+
+        Map.Entry<GridCacheVersion, AtomicInt> startVerEntry = startVerCnts.firstEntry();
+
+        GridCacheVersion minStartVer = null;
+        long dur = 0;
+
+        if (committedSize > 3000) {
+            minStartVer = new GridCacheVersion(Integer.MAX_VALUE, Long.MAX_VALUE, Long.MAX_VALUE, Integer.MAX_VALUE, 0);
+
+            IgniteTxEx<K, V> stuck = null;
+
+            for (IgniteTxEx<K, V> tx : txs())
+                if (tx.startVersion().isLess(minStartVer)) {
+                    minStartVer = tx.startVersion();
+                    dur = U.currentTimeMillis() - tx.startTime();
+
+                    stuck = tx;
+                }
+
+            X.println("Stuck transaction: " + stuck);
+        }
+
+        X.println(">>> ");
+        X.println(">>> Transaction manager memory stats [grid=" + cctx.gridName() + ']');
+        X.println(">>>   threadMapSize: " + threadMap.size());
+        X.println(">>>   idMap [size=" + idMap.size() + ", minStartVer=" + minStartVer + ", dur=" + dur + "ms]");
+        X.println(">>>   committedQueue [size=" + committedSize +
+            ", firstStartVersion=" + (firstTx == null ? "null" : firstTx.startVersion()) +
+            ", firstEndVersion=" + (firstTx == null ? "null" : firstTx.endVersion()) + ']');
+        X.println(">>>   prepareQueueSize: " + prepareQ.size());
+        X.println(">>>   startVerCntsSize [size=" + startVerCnts.size() +
+            ", firstVer=" + startVerEntry + ']');
+        X.println(">>>   committedVersSize: " + committedVers.size());
+        X.println(">>>   rolledbackVersSize: " + rolledbackVers.size());
+
+        if (pessimisticRecoveryBuf != null)
+            X.println(">>>   pessimsticCommitBufSize: " + pessimisticRecoveryBuf.size());
+    }
+
+    /**
+     * @return Thread map size.
+     */
+    public int threadMapSize() {
+        return threadMap.size();
+    }
+
+    /**
+     * @return ID map size.
+     */
+    public int idMapSize() {
+        return idMap.size();
+    }
+
+    /**
+     * @return Committed queue size.
+     */
+    public int commitQueueSize() {
+        return committedQ.size();
+    }
+
+    /**
+     * @return Prepare queue size.
+     */
+    public int prepareQueueSize() {
+        return prepareQ.size();
+    }
+
+    /**
+     * @return Start version counts.
+     */
+    public int startVersionCountsSize() {
+        return startVerCnts.size();
+    }
+
+    /**
+     * @return Committed versions size.
+     */
+    public int committedVersionsSize() {
+        return committedVers.size();
+    }
+
+    /**
+     * @return Rolled back versions size.
+     */
+    public int rolledbackVersionsSize() {
+        return rolledbackVers.size();
+    }
+
+    /**
+     *
+     * @param tx Transaction to check.
+     * @return {@code True} if transaction has been committed or rolled back,
+     *      {@code false} otherwise.
+     */
+    public boolean isCompleted(IgniteTxEx<K, V> tx) {
+        return committedVers.contains(tx.xidVersion()) || rolledbackVers.contains(tx.xidVersion());
+    }
+
+    /**
+     * @param implicit {@code True} if transaction is implicit.
+     * @param implicitSingle Implicit-with-single-key flag.
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @param timeout transaction timeout.
+     * @param txSize Expected transaction size.
+     * @param grpLockKey Group lock key if this is a group-lock transaction.
+     * @param partLock {@code True} if partition is locked.
+     * @return New transaction.
+     */
+    public IgniteTxLocalAdapter<K, V> newTx(
+        boolean implicit,
+        boolean implicitSingle,
+        boolean sys,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
+        long timeout,
+        boolean invalidate,
+        boolean storeEnabled,
+        int txSize,
+        @Nullable IgniteTxKey grpLockKey,
+        boolean partLock) {
+        UUID subjId = null; // TODO GG-9141 how to get subj ID?
+
+        int taskNameHash = cctx.kernalContext().job().currentTaskNameHash();
+
+        GridNearTxLocal<K, V> tx = new GridNearTxLocal<>(
+            cctx,
+            implicit,
+            implicitSingle,
+            sys,
+            concurrency,
+            isolation,
+            timeout,
+            invalidate,
+            storeEnabled,
+            txSize,
+            grpLockKey,
+            partLock,
+            subjId,
+            taskNameHash);
+
+        return onCreated(tx);
+    }
+
+    /**
+     * @param tx Created transaction.
+     * @return Started transaction.
+     */
+    @Nullable public <T extends IgniteTxEx<K, V>> T onCreated(T tx) {
+        ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> txIdMap = transactionMap(tx);
+
+        // Start clean.
+        txContextReset();
+
+        if (isCompleted(tx)) {
+            if (log.isDebugEnabled())
+                log.debug("Attempt to create a completed transaction (will ignore): " + tx);
+
+            return null;
+        }
+
+        IgniteTxEx<K, V> t;
+
+        if ((t = txIdMap.putIfAbsent(tx.xidVersion(), tx)) == null) {
+            // Add both, explicit and implicit transactions.
+            // Do not add remote and dht local transactions as remote node may have the same thread ID
+            // and overwrite local transaction.
+            if (tx.local() && !tx.dht())
+                threadMap.put(tx.threadId(), tx);
+
+            // Handle mapped versions.
+            if (tx instanceof GridCacheMappedVersion) {
+                GridCacheMappedVersion mapped = (GridCacheMappedVersion)tx;
+
+                GridCacheVersion from = mapped.mappedVersion();
+
+                if (from != null)
+                    mappedVers.put(from, tx.xidVersion());
+
+                if (log.isDebugEnabled())
+                    log.debug("Added transaction version mapping [from=" + from + ", to=" + tx.xidVersion() +
+                        ", tx=" + tx + ']');
+            }
+        }
+        else {
+            if (log.isDebugEnabled())
+                log.debug("Attempt to create an existing transaction (will ignore) [newTx=" + tx + ", existingTx=" +
+                    t + ']');
+
+            return null;
+        }
+
+        if (cctx.txConfig().isTxSerializableEnabled()) {
+            AtomicInt next = new AtomicInt(1);
+
+            boolean loop = true;
+
+            while (loop) {
+                AtomicInt prev = startVerCnts.putIfAbsent(tx.startVersion(), next);
+
+                if (prev == null)
+                    break; // Put succeeded - exit.
+
+                // Previous value was 0, which means that it will be deleted
+                // by another thread in "decrementStartVersionCount(..)" method.
+                // In that case, we delete here too, so we can safely try again.
+                for (;;) {
+                    int p = prev.get();
+
+                    assert p >= 0 : p;
+
+                    if (p == 0) {
+                        if (startVerCnts.remove(tx.startVersion(), prev))
+                            if (log.isDebugEnabled())
+                                log.debug("Removed count from onCreated callback: " + tx);
+
+                        break; // Retry outer loop.
+                    }
+
+                    if (prev.compareAndSet(p, p + 1)) {
+                        loop = false; // Increment succeeded - exit outer loop.
+
+                        break;
+                    }
+                }
+            }
+        }
+
+        if (tx.timeout() > 0) {
+            cctx.time().addTimeoutObject(tx);
+
+            if (log.isDebugEnabled())
+                log.debug("Registered transaction with timeout processor: " + tx);
+        }
+
+        if (log.isDebugEnabled())
+            log.debug("Transaction created: " + tx);
+
+        return tx;
+    }
+
+    /**
+     * Creates a future that will wait for all ongoing transactions that maybe affected by topology update
+     * to be finished. This set of transactions include
+     * <ul>
+     *     <li/> All {@link IgniteTxConcurrency#PESSIMISTIC} transactions with topology version
+     *     less or equal to {@code topVer}.
+     *     <li/> {@link IgniteTxConcurrency#OPTIMISTIC} transactions in PREPARING state with topology
+     *     version less or equal to {@code topVer} and having transaction key with entry that belongs to
+     *     one of partitions in {@code parts}.
+     * </ul>
+     *
+     * @param topVer Topology version.
+     * @return Future that will be completed when all ongoing transactions are finished.
+     */
+    public IgniteFuture<Boolean> finishTxs(long topVer) {
+        GridCompoundFuture<IgniteTx, Boolean> res =
+            new GridCompoundFuture<>(context().kernalContext(),
+                new IgniteReducer<IgniteTx, Boolean>() {
+                    @Override public boolean collect(IgniteTx e) {
+                        return true;
+                    }
+
+                    @Override public Boolean reduce() {
+                        return true;
+                    }
+                });
+
+        for (IgniteTxEx<K, V> tx : txs()) {
+            // Must wait for all transactions, even for DHT local and DHT remote since preloading may acquire
+            // values pending to be overwritten by prepared transaction.
+
+            if (tx.concurrency() == PESSIMISTIC) {
+                if (tx.topologyVersion() > 0 && tx.topologyVersion() < topVer)
+                    // For PESSIMISTIC mode we must wait for all uncompleted txs
+                    // as we do not know in advance which keys will participate in tx.
+                    res.add(tx.finishFuture());
+            }
+            else if (tx.concurrency() == OPTIMISTIC) {
+                // For OPTIMISTIC mode we wait only for txs in PREPARING state that
+                // have keys for given partitions.
+                IgniteTxState state = tx.state();
+                long txTopVer = tx.topologyVersion();
+
+                if ((state == PREPARING || state == PREPARED || state == COMMITTING)
+                    && txTopVer > 0 && txTopVer < topVer) {
+                    res.add(tx.finishFuture());
+                }
+            }
+        }
+
+        res.markInitialized();
+
+        return res;
+    }
+
+    /**
+     * Transaction start callback (has to do with when any operation was
+     * performed on this transaction).
+     *
+     * @param tx Started transaction.
+     * @return {@code True} if transaction is not in completed set.
+     */
+    public boolean onStarted(IgniteTxEx<K, V> tx) {
+        assert tx.state() == ACTIVE || tx.isRollbackOnly() : "Invalid transaction state [locId=" + cctx.localNodeId() +
+            ", tx=" + tx + ']';
+
+        if (isCompleted(tx)) {
+            if (log.isDebugEnabled())
+                log.debug("Attempt to start a completed transaction (will ignore): " + tx);
+
+            return false;
+        }
+
+        onTxStateChange(null, ACTIVE, tx);
+
+        if (log.isDebugEnabled())
+            log.debug("Transaction started: " + tx);
+
+        return true;
+    }
+
+    /**
+     * Reverse mapped version look up.
+     *
+     * @param dhtVer Dht version.
+     * @return Near version.
+     */
+    @Nullable public GridCacheVersion nearVersion(GridCacheVersion dhtVer) {
+        IgniteTxEx<K, V> tx = idMap.get(dhtVer);
+
+        if (tx != null)
+            return tx.nearXidVersion();
+
+        return null;
+    }
+
+    /**
+     * @param from Near version.
+     * @return DHT version for a near version.
+     */
+    public GridCacheVersion mappedVersion(GridCacheVersion from) {
+        GridCacheVersion to = mappedVers.get(from);
+
+        if (log.isDebugEnabled())
+            log.debug("Found mapped version [from=" + from + ", to=" + to);
+
+        return to;
+    }
+
+    /**
+     *
+     * @param ver Alternate version.
+     * @param tx Transaction.
+     */
+    public void addAlternateVersion(GridCacheVersion ver, IgniteTxEx<K, V> tx) {
+        if (idMap.putIfAbsent(ver, tx) == null)
+            if (log.isDebugEnabled())
+                log.debug("Registered alternate transaction version [ver=" + ver + ", tx=" + tx + ']');
+    }
+
+    /**
+     * @return Local transaction.
+     */
+    @SuppressWarnings({"unchecked"})
+    @Nullable public <T> T localTx() {
+        IgniteTxEx<K, V> tx = tx();
+
+        return tx != null && tx.local() ? (T)tx : null;
+    }
+
+    /**
+     * @return Transaction for current thread.
+     */
+    @SuppressWarnings({"unchecked"})
+    public <T> T threadLocalTx() {
+        IgniteTxEx<K, V> tx = tx(Thread.currentThread().getId());
+
+        return tx != null && tx.local() && (!tx.dht() || tx.colocated()) && !tx.implicit() ? (T)tx : null;
+    }
+
+    /**
+     * @return Transaction for current thread.
+     */
+    @SuppressWarnings({"unchecked", "RedundantCast"})
+    public <T> T tx() {
+        IgniteTxEx<K, V> tx = txContext();
+
+        return tx != null ? (T)tx : (T)tx(Thread.currentThread().getId());
+    }
+
+    /**
+     * @return Local transaction.
+     */
+    @Nullable public IgniteTxEx<K, V> localTxx() {
+        IgniteTxEx<K, V> tx = txx();
+
+        return tx != null && tx.local() ? tx : null;
+    }
+
+    /**
+     * @return Transaction for current thread.
+     */
+    @SuppressWarnings({"unchecked"})
+    public IgniteTxEx<K, V> txx() {
+        return tx();
+    }
+
+    /**
+     * @return User transaction for current thread.
+     */
+    @Nullable public IgniteTx userTx() {
+        IgniteTxEx<K, V> tx = txContext();
+
+        if (tx != null && tx.user() && tx.state() == ACTIVE)
+            return tx;
+
+        tx = tx(Thread.currentThread().getId());
+
+        return tx != null && tx.user() && tx.state() == ACTIVE ? tx : null;
+    }
+
+    /**
+     * @return User transaction.
+     */
+    @SuppressWarnings({"unchecked"})
+    @Nullable public <T extends IgniteTxLocalEx<K, V>> T userTxx() {
+        return (T)userTx();
+    }
+
+    /**
+     * @param threadId Id of thread for transaction.
+     * @return Transaction for thread with given ID.
+     */
+    @SuppressWarnings({"unchecked"})
+    public <T> T tx(long threadId) {
+        return (T)threadMap.get(threadId);
+    }
+
+    /**
+     * @return {@code True} if current thread is currently within transaction.
+     */
+    public boolean inUserTx() {
+        return userTx() != null;
+    }
+
+    /**
+     * @param txId Transaction ID.
+     * @return Transaction with given ID.
+     */
+    @SuppressWarnings({"unchecked"})
+    @Nullable public <T extends IgniteTxEx<K, V>> T tx(GridCacheVersion txId) {
+        return (T)idMap.get(txId);
+    }
+
+    /**
+     * @param txId Transaction ID.
+     * @return Transaction with given ID.
+     */
+    @SuppressWarnings({"unchecked"})
+    @Nullable public <T extends IgniteTxEx<K, V>> T nearTx(GridCacheVersion txId) {
+        return (T)nearIdMap.get(txId);
+    }
+
+    /**
+     * @param txId Transaction ID.
+     * @return Transaction with given ID.
+     */
+    @Nullable public IgniteTxEx<K, V> txx(GridCacheVersion txId) {
+        return idMap.get(txId);
+    }
+
+    /**
+     * Handles prepare stage of 2PC.
+     *
+     * @param tx Transaction to prepare.
+     * @throws IgniteCheckedException If preparation failed.
+     */
+    public void prepareTx(IgniteTxEx<K, V> tx) throws IgniteCheckedException {
+        if (tx.state() == MARKED_ROLLBACK) {
+            if (tx.timedOut())
+                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
+
+            throw new IgniteCheckedException("Transaction is marked for rollback: " + tx);
+        }
+
+        if (tx.remainingTime() == 0) {
+            tx.setRollbackOnly();
+
+            throw new IgniteTxTimeoutException("Transaction timed out: " + this);
+        }
+
+        boolean txSerializableEnabled = cctx.txConfig().isTxSerializableEnabled();
+
+        // Clean up committed transactions queue.
+        if (tx.pessimistic()) {
+            if (tx.enforceSerializable() && txSerializableEnabled) {
+                for (Iterator<IgniteTxEx<K, V>> it = committedQ.iterator(); it.hasNext();) {
+                    IgniteTxEx<K, V> committedTx = it.next();
+
+                    assert committedTx != tx;
+
+                    // Clean up.
+                    if (isSafeToForget(committedTx))
+                        it.remove();
+                }
+            }
+
+            // Nothing else to do in pessimistic mode.
+            return;
+        }
+
+        if (txSerializableEnabled && tx.optimistic() && tx.enforceSerializable()) {
+            Set<IgniteTxKey<K>> readSet = tx.readSet();
+            Set<IgniteTxKey<K>> writeSet = tx.writeSet();
+
+            GridCacheVersion startTn = tx.startVersion();
+
+            GridCacheVersion finishTn = cctx.versions().last();
+
+            // Add future to prepare queue only on first prepare call.
+            if (tx.markPreparing())
+                prepareQ.offer(tx);
+
+            // Check that our read set does not intersect with write set
+            // of all transactions that completed their write phase
+            // while our transaction was in read phase.
+            for (Iterator<IgniteTxEx<K, V>> it = committedQ.iterator(); it.hasNext();) {
+                IgniteTxEx<K, V> committedTx = it.next();
+
+                assert committedTx != tx;
+
+                // Clean up.
+                if (isSafeToForget(committedTx)) {
+                    it.remove();
+
+                    continue;
+                }
+
+                GridCacheVersion tn = committedTx.endVersion();
+
+                // We only care about transactions
+                // with tn > startTn and tn <= finishTn
+                if (tn.compareTo(startTn) <= 0 || tn.compareTo(finishTn) > 0)
+                    continue;
+
+                if (tx.serializable()) {
+                    if (GridFunc.intersects(committedTx.writeSet(), readSet)) {
+                        tx.setRollbackOnly();
+
+                        throw new IgniteTxOptimisticException("Failed to prepare transaction " +
+                            "(committed vs. read-set conflict): " + tx);
+                    }
+                }
+            }
+
+            // Check that our read and write sets do not intersect with write
+            // sets of all active transactions.
+            for (Iterator<IgniteTxEx<K, V>> iter = prepareQ.iterator(); iter.hasNext();) {
+                IgniteTxEx<K, V> prepareTx = iter.next();
+
+                if (prepareTx == tx)
+                    // Skip yourself.
+                    continue;
+
+                // Optimistically remove completed transactions.
+                if (prepareTx.done()) {
+                    iter.remove();
+
+                    if (log.isDebugEnabled())
+                        log.debug("Removed finished transaction from active queue: " + prepareTx);
+
+                    continue;
+                }
+
+                // Check if originating node left.
+                if (cctx.discovery().node(prepareTx.nodeId()) == null) {
+                    iter.remove();
+
+                    rollbackTx(prepareTx);
+
+                    if (log.isDebugEnabled())
+                        log.debug("Removed and rolled back transaction because sender node left grid: " +
+                            CU.txString(prepareTx));
+
+                    continue;
+                }
+
+                if (tx.serializable() && !prepareTx.isRollbackOnly()) {
+                    Set<IgniteTxKey<K>> prepareWriteSet = prepareTx.writeSet();
+
+                    if (GridFunc.intersects(prepareWriteSet, readSet, writeSet)) {
+                        // Remove from active set.
+                        iter.remove();
+
+                        tx.setRollbackOnly();
+
+                        throw new IgniteTxOptimisticException(
+                            "Failed to prepare transaction (read-set/write-set conflict): " + tx);
+                    }
+                }
+            }
+        }
+
+        // Optimistic.
+        assert tx.optimistic();
+
+        if (!lockMultiple(tx, tx.optimisticLockEntries())) {
+            tx.setRollbackOnly();
+
+            throw new IgniteTxOptimisticException("Failed to prepare transaction (lock conflict): " + tx);
+        }
+    }
+
+    /**
+     * @param tx Transaction to check.
+     * @return {@code True} if transaction can be discarded.
+     */
+    private boolean isSafeToForget(IgniteTxEx<K, V> tx) {
+        Map.Entry<GridCacheVersion, AtomicInt> e = startVerCnts.firstEntry();
+
+        if (e == null)
+            return true;
+
+        assert e.getValue().get() >= 0;
+
+        return tx.endVersion().compareTo(e.getKey()) <= 0;
+    }
+
+    /**
+     * Decrement start version count.
+     *
+     * @param tx Cache transaction.
+     */
+    private void decrementStartVersionCount(IgniteTxEx<K, V> tx) {
+        AtomicInt cnt = startVerCnts.get(tx.startVersion());
+
+        assert cnt != null : "Failed to find start version count for transaction [startVerCnts=" + startVerCnts +
+            ", tx=" + tx + ']';
+
+        assert cnt.get() > 0;
+
+        if (cnt.decrementAndGet() == 0)
+            if (startVerCnts.remove(tx.startVersion(), cnt))
+                if (log.isDebugEnabled())
+                    log.debug("Removed start version for transaction: " + tx);
+    }
+
+    /**
+     * @param tx Transaction.
+     */
+    private void removeObsolete(IgniteTxEx<K, V> tx) {
+        Collection<IgniteTxEntry<K, V>> entries = (tx.local() && !tx.dht()) ? tx.allEntries() : tx.writeEntries();
+
+        for (IgniteTxEntry<K, V> entry : entries) {
+            GridCacheEntryEx<K, V> cached = entry.cached();
+
+            GridCacheContext<K, V> cacheCtx = entry.context();
+
+            if (cached == null)
+                cached = cacheCtx.cache().peekEx(entry.key());
+
+            if (cached.detached())
+                continue;
+
+            try {
+                if (cached.obsolete() || cached.markObsoleteIfEmpty(tx.xidVersion()))
+                    cacheCtx.cache().removeEntry(cached);
+
+                if (!tx.near() && isNearEnabled(cacheCtx)) {
+                    GridNearCacheAdapter<K, V> near = cacheCtx.isNear() ? cacheCtx.near() : cacheCtx.dht().near();
+
+                    GridNearCacheEntry<K, V> e = near.peekExx(entry.key());
+
+                    if (e != null && e.markObsoleteIfEmpty(tx.xidVersion()))
+                        near.removeEntry(e);
+                }
+            }
+            catch (IgniteCheckedException e) {
+                U.error(log, "Failed to remove obsolete entry from cache: " + cached, e);
+            }
+        }
+    }
+
+    /**
+     * @param c Collection to copy.
+     * @return Copy of the collection.
+     */
+    private Collection<GridCacheVersion> copyOf(Iterable<GridCacheVersion> c) {
+        Collection<GridCacheVersion> l = new LinkedList<>();
+
+        for (GridCacheVersion v : c)
+            l.add(v);
+
+        return l;
+    }
+
+    /**
+     * Gets committed transactions starting from the given version (inclusive). // TODO: GG-4011: why inclusive?
+     *
+     * @param min Start (or minimum) version.
+     * @return Committed transactions starting from the given version (non-inclusive).
+     */
+    public Collection<GridCacheVersion> committedVersions(GridCacheVersion min) {
+        Set<GridCacheVersion> set = committedVers.tailSet(min, true);
+
+        return set == null || set.isEmpty() ? Collections.<GridCacheVersion>emptyList() : copyOf(set);
+    }
+
+    /**
+     * Gets rolledback transactions starting from the given version (inclusive). // TODO: GG-4011: why inclusive?
+     *
+     * @param min Start (or minimum) version.
+     * @return Committed transactions starting from the given version (non-inclusive).
+     */
+    public Collection<GridCacheVersion> rolledbackVersions(GridCacheVersion min) {
+        Set<GridCacheVersion> set = rolledbackVers.tailSet(min, true);
+
+        return set == null || set.isEmpty() ? Collections.<GridCacheVersion>emptyList() : copyOf(set);
+    }
+
+    /**
+     * @param tx Tx to remove.
+     */
+    public void removeCommittedTx(IgniteTxEx<K, V> tx) {
+        committedVers.remove(tx.xidVersion());
+    }
+
+    /**
+     * @param tx Committed transaction.
+     * @return If transaction was not already present in committed set.
+     */
+    public boolean addCommittedTx(IgniteTxEx<K, V> tx) {
+        return addCommittedTx(tx.xidVersion(), tx.nearXidVersion());
+    }
+
+    /**
+     * @param tx Committed transaction.
+     * @return If transaction was not already present in committed set.
+     */
+    public boolean addRolledbackTx(IgniteTxEx<K, V> tx) {
+        return addRolledbackTx(tx.xidVersion());
+    }
+
+    /**
+     * @param xidVer Completed transaction version.
+     * @param nearXidVer Optional near transaction ID.
+     * @return If transaction was not already present in completed set.
+     */
+    public boolean addCommittedTx(GridCacheVersion xidVer, @Nullable GridCacheVersion nearXidVer) {
+        assert !rolledbackVers.contains(xidVer) : "Version was rolled back: " + xidVer;
+
+        if (nearXidVer != null)
+            xidVer = new CommittedVersion(xidVer, nearXidVer);
+
+        if (committedVers.add(xidVer)) {
+            if (log.isDebugEnabled())
+                log.debug("Added transaction to committed version set: " + xidVer);
+
+            return true;
+        }
+        else {
+            if (log.isDebugEnabled())
+                log.debug("Transaction is already present in committed version set: " + xidVer);
+
+            return false;
+        }
+    }
+
+    /**
+     * @param xidVer Completed transaction version.
+     * @return If transaction was not already present in completed set.
+     */
+    public boolean addRolledbackTx(GridCacheVersion xidVer) {
+        assert !committedVers.contains(xidVer);
+
+        if (rolledbackVers.add(xidVer)) {
+            if (log.isDebugEnabled())
+                log.debug("Added transaction to rolled back version set: " + xidVer);
+
+            return true;
+        }
+        else {
+            if (log.isDebugEnabled())
+                log.debug("Transaction is already present in rolled back version set: " + xidVer);
+
+            return false;
+        }
+    }
+
+    /**
+     * @param tx Transaction.
+     */
+    private void processCompletedEntries(IgniteTxEx<K, V> tx) {
+        if (tx.needsCompletedVersions()) {
+            GridCacheVersion min = minVersion(tx.readEntries(), tx.xidVersion(), tx);
+
+            min = minVersion(tx.writeEntries(), min, tx);
+
+            assert min != null;
+
+            tx.completedVersions(min, committedVersions(min), rolledbackVersions(min));
+        }
+    }
+
+    /**
+     * Collects versions for all pending locks for all entries within transaction
+     *
+     * @param dhtTxLoc Transaction being committed.
+     */
+    private void collectPendingVersions(GridDhtTxLocal<K, V> dhtTxLoc) {
+        if (dhtTxLoc.needsCompletedVersions()) {
+            if (log.isDebugEnabled())
+                log.debug("Checking for pending locks with version less then tx version: " + dhtTxLoc);
+
+            Set<GridCacheVersion> vers = new LinkedHashSet<>();
+
+            collectPendingVersions(dhtTxLoc.readEntries(), dhtTxLoc.xidVersion(), vers);
+            collectPendingVersions(dhtTxLoc.writeEntries(), dhtTxLoc.xidVersion(), vers);
+
+            if (!vers.isEmpty())
+                dhtTxLoc.pendingVersions(vers);
+        }
+    }
+
+    /**
+     * Gets versions of all not acquired locks for collection of tx entries that are less then base version.
+     *
+     * @param entries Tx entries to process.
+     * @param baseVer Base version to compare with.
+     * @param vers Collection of versions that will be populated.
+     */
+    @SuppressWarnings("TypeMayBeWeakened")
+    private void collectPendingVersions(Iterable<IgniteTxEntry<K, V>> entries,
+        GridCacheVersion baseVer, Set<GridCacheVersion> vers) {
+
+        // The locks are not released yet, so we can safely list pending candidates versions.
+        for (IgniteTxEntry<K, V> txEntry : entries) {
+            GridCacheEntryEx<K, V> cached = txEntry.cached();
+
+            try {
+                // If check should be faster then exception handling.
+                if (!cached.obsolete()) {
+                    for (GridCacheMvccCandidate<K> cand : cached.localCandidates()) {
+                        if (!cand.owner() && cand.version().compareTo(baseVer) < 0) {
+                            if (log.isDebugEnabled())
+                                log.debug("Adding candidate version to pending set: " + cand);
+
+                            vers.add(cand.version());
+                        }
+                    }
+                }
+            }
+            catch (GridCacheEntryRemovedException ignored) {
+                if (log.isDebugEnabled())
+                    log.debug("There are no pending locks for entry (entry was deleted in transaction): " + txEntry);
+            }
+        }
+    }
+
+    /**
+     * Go through all candidates for entries involved in transaction and find their min
+     * version. We know that these candidates will commit after this transaction, and
+     * therefore we can grab the min version so we can send all committed and rolled
+     * back versions from min to current to remote nodes for re-ordering.
+     *
+     * @param entries Entries.
+     * @param min Min version so far.
+     * @param tx Transaction.
+     * @return Minimal available version.
+     */
+    private GridCacheVersion minVersion(Iterable<IgniteTxEntry<K, V>> entries, GridCacheVersion min,
+        IgniteTxEx<K, V> tx) {
+        for (IgniteTxEntry<K, V> txEntry : entries) {
+            GridCacheEntryEx<K, V> cached = txEntry.cached();
+
+            // We are assuming that this method is only called on commit. In that
+            // case, if lock is held, entry can never be removed.
+            assert txEntry.isRead() || !cached.obsolete(tx.xidVersion()) :
+                "Invalid obsolete version for transaction [entry=" + cached + ", tx=" + tx + ']';
+
+            for (GridCacheMvccCandidate<K> cand : cached.remoteMvccSnapshot())
+                if (min == null || cand.version().isLess(min))
+                    min = cand.version();
+        }
+
+        return min;
+    }
+
+    /**
+     * Commits a transaction.
+     *
+     * @param tx Transaction to commit.
+     */
+    public void commitTx(IgniteTxEx<K, V> tx) {
+        assert tx != null;
+        assert tx.state() == COMMITTING : "Invalid transaction state for commit from tm [state=" + tx.state() +
+            ", expected=COMMITTING, tx=" + tx + ']';
+
+        if (log.isDebugEnabled())
+            log.debug("Committing from TM [locNodeId=" + cctx.localNodeId() + ", tx=" + tx + ']');
+
+        if (tx.timeout() > 0) {
+            cctx.time().removeTimeoutObject(tx);
+
+            if (log.isDebugEnabled())
+                log.debug("Unregistered transaction with timeout processor: " + tx);
+        }
+
+        /*
+         * Note that write phase is handled by transaction adapter itself,
+         * so we don't do it here.
+         */
+
+        // 1. Make sure that committed version has been recorded.
+        if (!(committedVers.contains(tx.xidVersion()) || tx.writeSet().isEmpty() || tx.isSystemInvalidate())) {
+            uncommitTx(tx);
+
+            throw new IgniteException("Missing commit version (consider increasing " +
+                GG_MAX_COMPLETED_TX_COUNT + " system property) [ver=" + tx.xidVersion() + ", firstVer=" +
+                committedVers.firstx() + ", lastVer=" + committedVers.lastx() + ", tx=" + tx.xid() + ']');
+        }
+
+        ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> txIdMap = transactionMap(tx);
+
+        if (txIdMap.remove(tx.xidVersion(), tx)) {
+            // 2. Must process completed entries before unlocking!
+            processCompletedEntries(tx);
+
+            if (tx instanceof GridDhtTxLocal) {
+                GridDhtTxLocal<K, V> dhtTxLoc = (GridDhtTxLocal<K, V>)tx;
+
+                collectPendingVersions(dhtTxLoc);
+            }
+
+            // 3.1 Call dataStructures manager.
+            for (GridCacheContext<K, V> cacheCtx : cctx.cacheContexts())
+                cacheCtx.dataStructures().onTxCommitted(tx);
+
+            // 3.2 Add to pessimistic commit buffer if needed.
+            addPessimisticRecovery(tx);
+
+            // 4. Unlock write resources.
+            if (tx.groupLock())
+                unlockGroupLocks(tx);
+            else
+                unlockMultiple(tx, tx.writeEntries());
+
+            // 5. For pessimistic transaction, unlock read resources if required.
+            if (tx.pessimistic() && !tx.readCommitted() && !tx.groupLock())
+                unlockMultiple(tx, tx.readEntries());
+
+            // 6. Notify evictions.
+            notifyEvitions(tx);
+
+            // 7. Remove obsolete entries from cache.
+            removeObsolete(tx);
+
+            // 8. Assign transaction number at the end of transaction.
+            tx.endVersion(cctx.versions().next(tx.topologyVersion()));
+
+            // 9. Clean start transaction number for this transaction.
+            if (cctx.txConfig().isTxSerializableEnabled())
+                decrementStartVersionCount(tx);
+
+            // 10. Add to committed queue only if it is possible
+            //    that this transaction can affect other ones.
+            if (cctx.txConfig().isTxSerializableEnabled() && tx.enforceSerializable() && !isSafeToForget(tx))
+                committedQ.add(tx);
+
+            // 11. Remove from per-thread storage.
+            if (tx.local() && !tx.dht())
+                threadMap.remove(tx.threadId(), tx);
+
+            // 12. Unregister explicit locks.
+            if (!tx.alternateVersions().isEmpty()) {
+                for (GridCacheVersion ver : tx.alternateVersions())
+                    idMap.remove(ver);
+            }
+
+            // 13. Remove Near-2-DHT mappings.
+            if (tx instanceof GridCacheMappedVersion) {
+                GridCacheVersion mapped = ((GridCacheMappedVersion)tx).mappedVersion();
+
+                if (mapped != null)
+                    mappedVers.remove(mapped);
+            }
+
+            // 14. Clear context.
+            txContextReset();
+
+            // 15. Update metrics.
+            if (!tx.dht() && tx.local()) {
+                cctx.txMetrics().onTxCommit();
+
+                for (int cacheId : tx.activeCacheIds()) {
+                    GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+
+                    cacheCtx.cache().metrics0().onTxCommit();
+                }
+            }
+
+            if (slowTxWarnTimeout > 0 && tx.local() &&
+                U.currentTimeMillis() - tx.startTime() > slowTxWarnTimeout)
+                U.warn(log, "Slow transaction detected [tx=" + tx +
+                    ", slowTxWarnTimeout=" + slowTxWarnTimeout + ']') ;
+
+            if (log.isDebugEnabled())
+                log.debug("Committed from TM [locNodeId=" + cctx.localNodeId() + ", tx=" + tx + ']');
+        }
+        else if (log.isDebugEnabled())
+            log.debug("Did not commit from TM (was already committed): " + tx);
+    }
+
+    /**
+     * Rolls back a transaction.
+     *
+     * @param tx Transaction to rollback.
+     */
+    public void rollbackTx(IgniteTxEx<K, V> tx) {
+        assert tx != null;
+
+        if (log.isDebugEnabled())
+            log.debug("Rolling back from TM [locNodeId=" + cctx.localNodeId() + ", tx=" + tx + ']');
+
+        // 1. Record transaction version to avoid duplicates.
+        addRolledbackTx(tx);
+
+        ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> txIdMap = transactionMap(tx);
+
+        if (txIdMap.remove(tx.xidVersion(), tx)) {
+            // 2. Unlock write resources.
+            unlockMultiple(tx, tx.writeEntries());
+
+            // 3. For pessimistic transaction, unlock read resources if required.
+            if (tx.pessimistic() && !tx.readCommitted())
+                unlockMultiple(tx, tx.readEntries());
+
+            // 4. Notify evictions.
+            notifyEvitions(tx);
+
+            // 5. Remove obsolete entries.
+            removeObsolete(tx);
+
+            // 6. Clean start transaction number for this transaction.
+            if (cctx.txConfig().isTxSerializableEnabled())
+                decrementStartVersionCount(tx);
+
+            // 7. Remove from per-thread storage.
+            if (tx.local() && !tx.dht())
+                threadMap.remove(tx.threadId(), tx);
+
+            // 8. Unregister explicit locks.
+            if (!tx.alternateVersions().isEmpty())
+                for (GridCacheVersion ver : tx.alternateVersions())
+                    idMap.remove(ver);
+
+            // 9. Remove Near-2-DHT mappings.
+            if (tx instanceof GridCacheMappedVersion)
+                mappedVers.remove(((GridCacheMappedVersion)tx).mappedVersion());
+
+            // 10. Clear context.
+            txContextReset();
+
+            // 11. Update metrics.
+            if (!tx.dht() && tx.local()) {
+                cctx.txMetrics().onTxRollback();
+
+                for (int cacheId : tx.activeCacheIds()) {
+                    GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
+
+                    cacheCtx.cache().metrics0().onTxRollback();
+                }
+            }
+
+            if (log.isDebugEnabled())
+                log.debug("Rolled back from TM: " + tx);
+        }
+        else if (log.isDebugEnabled())
+            log.debug("Did not rollback from TM (was already rolled back): " + tx);
+    }
+
+    /**
+     * Tries to minimize damage from partially-committed transaction.
+     *
+     * @param tx Tx to uncommit.
+     */
+    public void uncommitTx(IgniteTxEx<K, V> tx) {
+        assert tx != null;
+
+        if (log.isDebugEnabled())
+            log.debug("Uncommiting from TM: " + tx);
+
+        ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> txIdMap = transactionMap(tx);
+
+        if (txIdMap.remove(tx.xidVersion(), tx)) {
+            // 1. Unlock write resources.
+            unlockMultiple(tx, tx.writeEntries());
+
+            // 2. For pessimistic transaction, unlock read resources if required.
+            if (tx.pessimistic() && !tx.readCommitted())
+                unlockMultiple(tx, tx.readEntries());
+
+            // 3. Notify evictions.
+            notifyEvitions(tx);
+
+            // 4. Clean start transaction number for this transaction.
+            if (cctx.txConfig().isTxSerializableEnabled())
+                decrementStartVersionCount(tx);
+
+            // 5. Remove from per-thread storage.
+            if (tx.local() && !tx.dht())
+                threadMap.remove(tx.threadId(), tx);
+
+            // 6. Unregister explicit locks.
+            if (!tx.alternateVersions().isEmpty())
+                for (GridCacheVersion ver : tx.alternateVersions())
+                    idMap.remove(ver);
+
+            // 7. Remove Near-2-DHT mappings.
+            if (tx instanceof GridCacheMappedVersion)
+                mappedVers.remove(((GridCacheMappedVersion)tx).mappedVersion());
+
+            // 8. Clear context.
+            txContextReset();
+
+            if (log.isDebugEnabled())
+                log.debug("Uncommitted from TM: " + tx);
+        }
+        else if (log.isDebugEnabled())
+            log.debug("Did not uncommit from TM (was already committed or rolled back): " + tx);
+    }
+
+    /**
+     * Gets transaction ID map depending on transaction type.
+     *
+     * @param tx Transaction.
+     * @return Transaction map.
+     */
+    private ConcurrentMap<GridCacheVersion, IgniteTxEx<K, V>> transactionMap(IgniteTxEx<K, V> tx) {
+        return (tx.near() && !tx.local()) ? nearIdMap : idMap;
+    }
+
+    /**
+     * @param tx Transaction to notify evictions for.
+     */
+    private void notifyEvitions(IgniteTxEx<K, V> tx) {
+        if (tx.internal() && !tx.groupLock())
+            return;
+
+        for (IgniteTxEntry<K, V> txEntry : tx.allEntries())
+            txEntry.cached().context().evicts().touch(txEntry, tx.local());
+    }
+
+    /**
+     * Callback invoked whenever a member of a transaction acquires
+     * lock ownership.
+     *
+     * @param entry Cache entry.
+     * @param owner Candidate that won ownership.
+     * @return {@code True} if transaction was notified, {@code false} otherwise.
+     */
+    public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner) {
+        // We only care about acquired locks.
+        if (owner != null) {
+            IgniteTxAdapter<K, V> tx = tx(owner.version());
+
+            if (tx == null)
+                tx = nearTx(owner.version());
+
+            if (tx != null) {
+                if (!tx.local()) {
+                    if (log.isDebugEnabled())
+                        log.debug("Found transaction for owner changed event [owner=" + owner + ", entry=" + entry +
+                            ", tx=" + tx + ']');
+
+                    tx.onOwnerChanged(entry, owner);
+
+                    return true;
+                }
+                else if (log.isDebugEnabled())
+                    log.debug("Ignoring local transaction for owner change event: " + tx);
+            }
+            else if (log.isDebugEnabled())
+                log.debug("Transaction not found for owner changed event [owner=" + owner + ", entry=" + entry + ']');
+        }
+
+        return false;
+    }
+
+    /**
+     * Callback called by near finish future before sending near finish request to remote node. Will increment
+     * per-thread counter so that further awaitAck call will wait for finish response.
+     *
+     * @param rmtNodeId Remote node ID for which finish request is being sent.
+     * @param threadId Near tx thread ID.
+     */
+    public void beforeFinishRemote(UUID rmtNodeId, long threadId) {
+        if (finishSyncDisabled)
+            return;
+
+        assert txFinishSync != null;
+
+        txFinishSync.onFinishSend(rmtNodeId, threadId);
+    }
+
+    /**
+     * Callback invoked when near finish response is received from remote node.
+     *
+     * @param rmtNodeId Remote node ID from which response is received.
+     * @param threadId Near tx thread ID.
+     */
+    public void onFinishedRemote(UUID rmtNodeId, long threadId) {
+        if (finishSyncDisabled)
+            return;
+
+        assert txFinishSync != null;
+
+        txFinishSync.onAckReceived(rmtNodeId, threadId);
+    }
+
+    /**
+     * Asynchronously waits for last finish request ack.
+     *
+     * @param rmtNodeId Remote node ID.
+     * @param threadId Near tx thread ID.
+     * @return {@code null} if ack was received or future that will be completed when ack is received.
+     */
+    @Nullable public IgniteFuture<?> awaitFinishAckAsync(UUID rmtNodeId, long threadId) {
+        if (finishSyncDisabled)
+            return null;
+
+        assert txFinishSync != null;
+
+        return txFinishSync.awaitAckAsync(rmtNodeId, threadId);
+    }
+
+    /**
+     * For test purposes only.
+     *
+     * @param finishSyncDisabled {@code True} if finish sync should be disabled.
+     */
+    public void finishSyncDisabled(boolean finishSyncDisabled) {
+        this.finishSyncDisabled = finishSyncDisabled;
+    }
+
+    /**
+     * @param tx Transaction.
+     * @param entries Entries to lock.
+     * @return {@code True} if all keys were locked.
+     * @throws IgniteCheckedException If lock has been cancelled.
+     */
+    private boolean lockMultiple(IgniteTxEx<K, V> tx, Iterable<IgniteTxEntry<K, V>> entries)
+        throws IgniteCheckedException {
+        assert tx.optimistic();
+
+        long remainingTime = U.currentTimeMillis() - (tx.startTime() + tx.timeout());
+
+        // For serializable transactions, failure to acquire lock means
+        // that there is a serializable conflict. For all other isolation levels,
+        // we wait for the lock.
+        long timeout = tx.timeout() == 0 ? 0 : remainingTime;
+
+        for (IgniteTxEntry<K, V> txEntry1 : entries) {
+            // Check if this entry was prepared before.
+            if (!txEntry1.markPrepared())
+                continue;
+
+            GridCacheContext<K, V> cacheCtx = txEntry1.context();
+
+            while (true) {
+                try {
+                    GridCacheEntryEx<K, V> entry1 = txEntry1.cached();
+
+                    assert !entry1.detached() : "Expected non-detached entry for near transaction " +
+                        "[locNodeId=" + cctx.localNodeId() + ", entry=" + entry1 + ']';
+
+                    if (!entry1.tmLock(tx, timeout)) {
+                        // Unlock locks locked so far.
+                        for (IgniteTxEntry<K, V> txEntry2 : entries) {
+                            if (txEntry2 == txEntry1)
+                                break;
+
+                            txEntry2.cached().txUnlock(tx);
+                        }
+
+                        return false;
+                    }
+
+                    entry1.unswap();
+
+                    break;
+                }
+                catch (GridCacheEntryRemovedException ignored) {
+                    if (log.isDebugEnabled())
+                        log.debug("Got removed entry in TM lockMultiple(..) method (will retry): " + txEntry1);
+
+                    try {
+                        // Renew cache entry.
+                        txEntry1.cached(cacheCtx.cache().entryEx(txEntry1.key()), txEntry1.keyBytes());
+                    }
+                    catch (GridDhtInvalidPartitionException e) {
+                        assert tx.dht() : "Received invalid partition for non DHT transaction [tx=" +
+                            tx + ", invalidPart=" + e.partition() + ']';
+
+                        // If partition is invalid, we ignore this entry.
+                        tx.addInvalidPartition(cacheCtx, e.partition());
+
+                        break;
+                    }
+                }
+                catch (GridDistributedLockCancelledException ignore) {
+                    tx.setRollbackOnly();
+
+                    throw new IgniteCheckedException("Entry lock has been cancelled for transaction: " + tx);
+                }
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Unlocks entries locked by group transaction.
+     *
+     * @param txx Transaction.
+     */
+    @SuppressWarnings("unchecked")
+    private void unlockGroupLocks(IgniteTxEx txx) {
+        IgniteTxKey grpLockKey = txx.groupLockKey();
+
+        assert grpLockKey != null;
+
+        if (grpLockKey == null)
+            return;
+
+        IgniteTxEntry txEntry = txx.entry(grpLockKey);
+
+        assert txEntry != null || (txx.near() && !txx.local());
+
+        if (txEntry != null) {
+            GridCacheContext cacheCtx = txEntry.context();
+
+            // Group-locked entries must be locked.
+            while (true) {
+                try {
+                    GridCacheEntryEx<K, V> entry = txEntry.cached();
+
+                    assert entry != null;
+
+                    entry.txUnlock(txx);
+
+                    break;
+                }
+                catch (GridCacheEntryRemovedException ignored) {
+                    if (log.isDebugEnabled())
+                        log.debug("Got removed entry in TM unlockGroupLocks(..) method (will retry): " + txEntry);
+
+                    GridCacheAdapter cache = cacheCtx.cache();
+
+                    // Renew cache entry.
+                    txEntry.cached(cache.entryEx(txEntry.key()), txEntry.keyBytes());
+                }
+            }
+        }
+    }
+
+    /**
+     * @param tx Owning transaction.
+     * @param entries Entries to unlock.
+     */
+    private void unlockMultiple(IgniteTxEx<K, V> tx, Iterable<IgniteTxEntry<K, V>> entries) {
+        for (IgniteTxEntry<K, V> txEntry : entries) {
+            GridCacheContext<K, V> cacheCtx = txEntry.context();
+
+            while (true) {
+                try {
+                    GridCacheEntryEx<K, V> entry = txEntry.cached();
+
+                    if (entry.detached())
+                        break;
+
+                    assert entry != null;
+
+                    entry.txUnlock(tx);
+
+                    break;
+                }
+                catch (GridCacheEntryRemovedException ignored) {
+                    if (log.isDebugEnabled())
+                        log.debug("Got removed entry in TM unlockMultiple(..) method (will retry): " + txEntry);
+
+                    // Renew cache entry.
+                    txEntry.cached(cacheCtx.cache().entryEx(txEntry.key()), txEntry.keyBytes());
+                }
+            }
+        }
+    }
+
+    /**
+     * @param sync Transaction synchronizations to add.
+     */
+    public void addSynchronizations(IgniteTxSynchronization... sync) {
+        if (F.isEmpty(sync))
+            return;
+
+        F.copy(syncs, sync);
+    }
+
+    /**
+     * @param sync Transaction synchronizations to remove.
+     */
+    public void removeSynchronizations(IgniteTxSynchronization... sync) {
+        if (F.isEmpty(sync))
+            return;
+
+        F.lose(syncs, false, Arrays.asList(sync));
+    }
+
+    /**
+     * @return Registered transaction synchronizations
+     */
+    public Collection<IgniteTxSynchronization> synchronizations() {
+        return Collections.unmodifiableList(new LinkedList<>(syncs));
+    }
+
+    /**
+     * @param prevState Previous state.
+     * @param newState New state.
+     * @param tx Cache transaction.
+     */
+    public void onTxStateChange(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx) {
+        // Notify synchronizations.
+        for (IgniteTxSynchronization s : syncs)
+            s.onStateChanged(prevState, newState, tx);
+    }
+
+    /**
+     * @param tx Committing transaction.
+     */
+    public void txContext(IgniteTxEx tx) {
+        threadCtx.set(tx);
+    }
+
+    /**
+     * @return Currently committing transaction.
+     */
+    @SuppressWarnings({"unchecked"})
+    private IgniteTxEx<K, V> txContext() {
+        return threadCtx.get();
+    }
+
+    /**
+     * Gets version of transaction in tx context or {@code null}
+     * if tx context is empty.
+     * <p>
+     * This is a convenience method provided mostly for debugging.
+     *
+     * @return Transaction version from transaction context.
+     */
+    @Nullable public GridCacheVersion txContextVersion() {
+        IgniteTxEx<K, V> tx = txContext();
+
+        return tx == null ? null : tx.xidVersion();
+    }
+
+    /**
+     * Commit ended.
+     */
+    public void txContextReset() {
+        threadCtx.set(null);
+    }
+
+    /**
+     * @return All transactions.
+     */
+    public Collection<IgniteTxEx<K, V>> txs() {
+        return F.concat(false, idMap.values(), nearIdMap.values());
+    }
+
+    /**
+     * @return Slow tx warn timeout.
+     */
+    public int slowTxWarnTimeout() {
+        return slowTxWarnTimeout;
+    }
+
+    /**
+     * @param slowTxWarnTimeout Slow tx warn timeout.
+     */
+    public void slowTxWarnTimeout(int slowTxWarnTimeout) {
+        this.slowTxWarnTimeout = slowTxWarnTimeout;
+    }
+
+    /**
+     * Checks if transactions with given near version ID was prepared or committed.
+     *
+     * @param nearVer Near version ID.
+     * @param txNum Number of transactions.
+     * @return {@code True} if transactions were prepared or committed.
+     */
+    public boolean txsPreparedOrCommitted(GridCacheVersion nearVer, int txNum) {
+        Collection<GridCacheVersion> processedVers = null;
+
+        for (IgniteTxEx<K, V> tx : txs()) {
+            if (nearVer.equals(tx.nearXidVersion())) {
+                IgniteTxState state = tx.state();
+
+                if (state == PREPARED || state == COMMITTING || state == COMMITTED) {
+                    if (--txNum == 0)
+                        return true;
+                }
+                else {
+                    if (tx.state(MARKED_ROLLBACK) || tx.state() == UNKNOWN) {
+                        tx.rollbackAsync();
+
+                        if (log.isDebugEnabled())
+                            log.debug("Transaction was not prepared (rolled back): " + tx);
+
+                        return false;
+                    }
+                    else {
+                        if (tx.state() == COMMITTED) {
+                            if (--txNum == 0)
+                                return true;
+                        }
+                        else {
+                            if (log.isDebugEnabled())
+                                log.debug("Transaction is not prepared: " + tx);
+
+                            return false;
+                        }
+                    }
+                }
+
+                if (processedVers == null)
+                    processedVers = new HashSet<>(txNum, 1.0f);
+
+                processedVers.add(tx.xidVersion());
+            }
+        }
+
+        // Not all transactions were found. Need to scan committed versions to check
+        // if transaction was already committed.
+        for (GridCacheVersion ver : committedVers) {
+            if (processedVers != null && processedVers.contains(ver))
+                continue;
+
+            if (ver instanceof CommittedVersion) {
+                CommittedVersion commitVer = (CommittedVersion)ver;
+
+                if (commitVer.nearVer.equals(nearVer)) {
+                    if (--txNum == 0)
+                        return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Adds transaction to pessimistic recovery buffer if needed.
+     *
+     * @param tx Committed transaction to add.
+     */
+    private void addPessimisticRecovery(IgniteTxEx<K, V> tx) {
+        if (pessimisticRecoveryBuf == null)
+            return;
+
+        // Do not store recovery information for optimistic or replicated local transactions.
+        if (tx.optimistic() || (tx.local() && tx.replicated()))
+            return;
+
+        pessimisticRecoveryBuf.addCommittedTx(tx);
+    }
+
+    /**
+     * Checks whether transaction with given near version was committed on this node and returns commit info.
+     *
+     * @param nearTxVer Near tx version.
+     * @param originatingNodeId Originating node ID.
+     * @param originatingThreadId Originating thread ID.
+     * @return Commit info, if present.
+     */
+    @Nullable public GridCacheCommittedTxInfo<K, V> txCommitted(GridCacheVersion nearTxVer,
+        UUID originatingNodeId, long originatingThreadId) {
+        assert pessimisticRecoveryBuf != null : "Should not be called for LOCAL cache.";
+
+        return pessimisticRecoveryBuf.committedTx(nearTxVer, originatingNodeId, originatingThreadId);
+    }
+
+    /**
+     * Gets local transaction for pessimistic tx recovery.
+     *
+     * @param nearXidVer Near tx ID.
+     * @return Near local or colocated local transaction.
+     */
+    @Nullable public IgniteTxEx<K, V> localTxForRecovery(GridCacheVersion nearXidVer, boolean markFinalizing) {
+        // First check if we have near transaction with this ID.
+        IgniteTxEx<K, V> tx = idMap.get(nearXidVer);
+
+        if (tx == null) {
+            // Check all local transactions and mark them as waiting for recovery to prevent finish race.
+            for (IgniteTxEx<K, V> txEx : idMap.values()) {
+                if (nearXidVer.equals(txEx.nearXidVersion())) {
+                    if (!markFinalizing || !txEx.markFinalizing(RECOVERY_WAIT))
+                        tx = txEx;
+                }
+            }
+        }
+
+        // Either we found near transaction or one of transactions is being committed by user.
+        // Wait for it and send reply.
+        if (tx != null && tx.local())
+            return tx;
+
+        return null;
+    }
+
+    /**
+     * Commits or rolls back prepared transaction.
+     *
+     * @param tx Transaction.
+     * @param commit Whether transaction should be committed or rolled back.
+     */
+    public void finishOptimisticTxOnRecovery(final IgniteTxEx<K, V> tx, boolean commit) {
+        if (log.isDebugEnabled())
+            log.debug("Finishing prepared transaction [tx=" + tx + ", commit=" + commit + ']');
+
+        if (!tx.markFinalizing(RECOVERY_FINISH)) {
+            if (log.isDebugEnabled())
+                log.debug("Will not try to commit prepared transaction (could not mark finalized): " + tx);
+
+            return;
+        }
+
+        if (tx instanceof GridDistributedTxRemoteAdapter) {
+            IgniteTxRemoteEx<K,V> rmtTx = (IgniteTxRemoteEx<K, V>)tx;
+
+            rmtTx.doneRemote(tx.xidVersion(), Collections.<GridCacheVersion>emptyList(), Collections.<GridCacheVersion>emptyList(),
+                Collections.<GridCacheVersion>emptyList());
+        }
+
+        if (commit)
+            tx.commitAsync().listenAsync(new CommitListener(tx));
+        else
+            tx.rollbackAsync();
+    }
+
+    /**
+     * Commits or rolls back pessimistic transaction.
+     *
+     * @param tx Transaction to finish.
+     * @param commitInfo Commit information.
+     */
+    public void finishPessimisticTxOnRecovery(final IgniteTxEx<K, V> tx, GridCacheCommittedTxInfo<K, V> commitInfo) {
+        if (!tx.markFinalizing(RECOVERY_FINISH)) {
+            if (log.isDebugEnabled())
+                log.debug("Will not try to finish pessimistic transaction (could not mark as finalizing): " + tx);
+
+            return;
+        }
+
+        if (tx instanceof GridDistributedTxRemoteAdapter) {
+            IgniteTxRemoteEx<K,V> rmtTx = (IgniteTxRemoteEx<K, V>)tx;
+
+            rmtTx.doneRemote(tx.xidVersion(), Collections.<GridCacheVersion>emptyList(), Collections.<GridCacheVersion>emptyList(),
+                Collections.<GridCacheVersion>emptyList());
+        }
+
+        try {
+            tx.prepare();
+
+            if (commitInfo != null) {
+                for (IgniteTxEntry<K, V> entry : commitInfo.recoveryWrites()) {
+                    IgniteTxEntry<K, V> write = tx.writeMap().get(entry.txKey());
+
+                    if (write != null) {
+                        GridCacheEntryEx<K, V> cached = write.cached();
+
+                        IgniteTxEntry<K, V> recovered = entry.cleanCopy(write.context());
+
+                        if (cached == null || cached.detached())
+                            cached = write.context().cache().entryEx(entry.key(), tx.topologyVersion());
+
+                        recovered.cached(cached, cached.keyBytes());
+
+                        tx.writeMap().put(entry.txKey(), recovered);
+
+                        continue;
+                    }
+
+                    ((IgniteTxAdapter<K, V>)tx).recoveryWrites(commitInfo.recoveryWrites());
+
+                    // If write was not found, check read.
+                    IgniteTxEntry<K, V> read = tx.readMap().remove(entry.txKey());
+
+                    if (read != null)
+                        tx.writeMap().put(entry.txKey(), entry);
+                }
+
+                tx.commitAsync().listenAsync(new CommitListener(tx));
+            }
+            else
+                tx.rollbackAsync();
+        }
+        catch (IgniteCheckedException e) {
+            U.error(log, "Failed to prepare pessimistic transaction (will invalidate): " + tx, e);
+
+            salvageTx(tx);
+        }
+    }
+
+    /**
+     * @param req Check committed request.
+     * @return Check committed future.
+     */
+    public IgniteFuture<GridCacheCommittedTxInfo<K, V>> checkPessimisticTxCommitted(GridCachePessimisticCheckCommittedTxRequest req) {
+        // First check if we have near transaction with this ID.
+        IgniteTxEx<K, V> tx = localTxForRecovery(req.nearXidVersion(), !req.nearOnlyCheck());
+
+        // Either we found near transaction or one of transactions is being committed by user.
+        // Wait for it and send reply.
+        if (tx != null) {
+            assert tx.local();
+
+            if (log.isDebugEnabled())
+                log.debug("Found active near transaction, will wait for completion [req=" + req + ", tx=" + tx + ']');
+
+            final IgniteTxEx<K, V> tx0 = tx;
+
+            return tx.finishFuture().chain(new C1<IgniteFuture<IgniteTx>, GridCacheCommittedTxInfo<K, V>>() {
+                @Override public GridCacheCommittedTxInfo<K, V> apply(IgniteFuture<IgniteTx> txFut) {
+                    GridCacheCommittedTxInfo<K, V> info = null;
+
+                    if (tx0.state() == COMMITTED)
+                        info = new GridCacheCommittedTxInfo<>(tx0);
+
+                    return info;
+                }
+            });
+        }
+
+        GridCacheCommittedTxInfo<K, V> info = txCommitted(req.nearXidVersion(), req.originatingNodeId(),
+            req.originatingThreadId());
+
+        if (info == null)
+            info = txCommitted(req.nearXidVersion(), req.originatingNodeId(), req.originatingThreadId());
+
+        return new GridFinishedFutureEx<>(info);
+    }
+
+    /**
+     * Timeout object for node failure handler.
+     */
+    private final class NodeFailureTimeoutObject extends GridTimeoutObjectAdapter {
+        /** Left or failed node. */
+        private final UUID evtNodeId;
+
+        /**
+         * @param evtNodeId Event node ID.
+         */
+        private NodeFailureTimeoutObject(UUID evtNodeId) {
+            super(IgniteUuid.fromUuid(cctx.localNodeId()), TX_SALVAGE_TIMEOUT);
+
+            this.evtNodeId = evtNodeId;
+        }
+
+        /** {@inheritDoc} */
+        @Override public void onTimeout() {
+            try {
+                cctx.kernalContext().gateway().readLock();
+            }
+            catch (IllegalStateException ignore) {
+                if (log.isDebugEnabled())
+                    log.debug("Failed to acquire kernal gateway (grid is stopping).");
+
+                return;
+            }
+
+            try {
+                if (log.isDebugEnabled())
+                    log.debug("Processing node failed event [locNodeId=" + cctx.localNodeId() +
+                        ", failedNodeId=" + evtNodeId + ']');
+
+                for (IgniteTxEx<K, V> tx : txs()) {
+                    if ((tx.near() && !tx.local()) || (tx.storeUsed() && tx.masterNodeIds().contains(evtNodeId))) {
+                        // Invalidate transactions.
+                        salvageTx(tx, false, RECOVERY_FINISH);
+                    }
+                    else if (tx.optimistic()) {
+                        // Check prepare only if originating node ID failed. Otherwise parent node will finish this tx.
+                        if (tx.originatingNodeId().equals(evtNodeId)) {
+                            if (tx.state() == PREPARED)
+                                commitIfPrepared(tx);
+                            else {
+                                if (tx.setRollbackOnly())
+                                    tx.rollbackAsync();
+                                // If we could not mark tx as rollback, it means that transaction is being committed.
+                            }
+                        }
+                    }
+                    else {
+                        // Pessimistic.
+                        if (tx.originatingNodeId().equals(evtNodeId)) {
+                            if (tx.state() != COMMITTING && tx.state() != COMMITTED)
+                                commitIfRemotelyCommitted(tx);
+                            else {
+                                if (log.isDebugEnabled())
+                                    log.debug("Skipping pessimistic transaction check (transaction is being committed) " +
+                                        "[tx=" + tx + ", locNodeId=" + cctx.localNodeId() + ']');
+                            }
+                        }
+                        else {
+                            if (log.isDebugEnabled())
+                                log.debug("Skipping pessimistic transaction check [tx=" + tx +
+                                    ", evtNodeId=" + evtNodeId + ", locNodeId=" + cctx.localNodeId() + ']');
+                        }
+                    }
+                }
+            }
+            finally {
+                cctx.kernalContext().gateway().readUnlock();
+            }
+        }
+
+        /**
+         * Commits optimistic transaction in case when node started transaction failed, but all related
+         * transactions were prepared (invalidates transaction if it is not fully prepared).
+         *
+         * @param tx Transaction.
+         */
+        private void commitIfPrepared(IgniteTxEx<K, V> tx) {
+            assert tx instanceof GridDhtTxLocal || tx instanceof GridDhtTxRemote  : tx;
+            assert !F.isEmpty(tx.transactionNodes());
+            assert tx.nearXidVersion() != null;
+
+
+            GridCacheOptimisticCheckPreparedTxFuture<K, V> fut = new GridCacheOptimisticCheckPreparedTxFuture<>(
+                cctx, tx, evtNodeId, tx.transactionNodes());
+
+            cctx.mvcc().addFuture(fut);
+
+            if (log.isDebugEnabled())
+                log.debug("Checking optimistic transaction state on remote nodes [tx=" + tx + ", fut=" + fut + ']');
+
+            fut.prepare();
+        }
+
+        /**
+         * Commits pessimistic transaction if at least one of remote nodes has committed this transaction.
+         *
+         * @param tx Transaction.
+         */
+        private void commitIfRemotelyCommitted(IgniteTxEx<K, V> tx) {
+            assert tx instanceof GridDhtTxLocal || tx instanceof GridDhtTxRemote : tx;
+
+            GridCachePessimisticCheckCommittedTxFuture<K, V> fut = new GridCachePessimisticCheckCommittedTxFuture<>(
+                cctx, tx, evtNodeId);
+
+            cctx.mvcc().addFuture(fut);
+
+            if (log.isDebugEnabled())
+                log.debug("Checking pessimistic transaction state on remote nodes [tx=" + tx + ", fut=" + fut + ']');
+
+            fut.prepare();
+        }
+    }
+
+    /**
+     *
+     */
+    private static class CommittedVersion extends GridCacheVersion {
+        /** */
+        private static final long serialVersionUID = 0L;
+
+        /** Corresponding near version. Transient. */
+        private GridCacheVersion nearVer;
+
+        /**
+         * Empty constructor required by {@link Externalizable}.
+         */
+        public CommittedVersion() {
+            // No-op.
+        }
+
+        /**
+         * @param ver Committed version.
+         * @param nearVer Near transaction version.
+         */
+        private CommittedVersion(GridCacheVersion ver, GridCacheVersion nearVer) {
+            super(ver.topologyVersion(), ver.globalTime(), ver.order(), ver.nodeOrder(), ver.dataCenterId());
+
+            assert nearVer != null;
+
+            this.nearVer = nearVer;
+        }
+    }
+
+    /**
+     * Atomic integer that compares only using references, not values.
+     */
+    private static final class AtomicInt extends AtomicInteger {
+        /** */
+        private static final long serialVersionUID = 0L;
+
+        /**
+         * @param initVal Initial value.
+         */
+        private AtomicInt(int initVal) {
+            super(initVal);
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean equals(Object obj) {
+            // Reference only.
+            return obj == this;
+        }
+
+        /** {@inheritDoc} */
+        @Override public int hashCode() {
+            return super.hashCode();
+        }
+    }
+
+    /**
+     * Commit listener. Checks if commit succeeded and rollbacks if case of error.
+     */
+    private class CommitListener implements CI1<IgniteFuture<IgniteTx>> {
+        /** */
+        private static final long serialVersionUID = 0L;
+
+        /** Transaction. */
+        private final IgniteTxEx<K, V> tx;
+
+        /**
+         * @param tx Transaction.
+         */
+        private CommitListener(IgniteTxEx<K, V> tx) {
+            this.tx = tx;
+        }
+
+        /** {@inheritDoc} */
+        @Override public void apply(IgniteFuture<IgniteTx> t) {
+            try {
+                t.get();
+            }
+            catch (IgniteTxOptimisticException ignore) {
+                if (log.isDebugEnabled())
+                    log.debug("Optimistic failure while committing prepared transaction (will rollback): " +
+                        tx);
+
+                tx.rollbackAsync();
+            }
+            catch (IgniteCheckedException e) {
+                U.error(log, "Failed to commit transaction during failover: " + tx, e);
+            }
+        }
+    }
+}


[12/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
deleted file mode 100644
index 401f9dc..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
+++ /dev/null
@@ -1,918 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.resources.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
-import org.gridgain.grid.cache.query.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.testframework.junits.common.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-import java.util.concurrent.atomic.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-
-/**
- * Checks basic multi-node transactional operations.
- */
-@SuppressWarnings({"PointlessBooleanExpression", "ConstantConditions", "PointlessArithmeticExpression"})
-public abstract class GridCacheTxMultiNodeAbstractTest extends GridCommonAbstractTest {
-    /** Debug flag. */
-    private static final boolean DEBUG = false;
-
-    /** */
-    protected static final int GRID_CNT = 4;
-
-    /** */
-    protected static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
-    /** */
-    protected static final int RETRIES = 300;
-
-    /** Log frequency. */
-    private static final int LOG_FREQ = RETRIES < 100 || DEBUG ? 1 : RETRIES / 5;
-
-    /** Counter key. */
-    private static final String CNTR_KEY = "CNTR_KEY";
-
-    /** Removed counter key. */
-    private static final String RMVD_CNTR_KEY = "RMVD_CNTR_KEY";
-
-    /** */
-    protected static final AtomicInteger cntr = new AtomicInteger();
-
-    /** */
-    protected static final AtomicInteger cntrRmvd = new AtomicInteger();
-
-    /** Number of backups for partitioned tests. */
-    protected int backups = 2;
-
-     /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi spi = new TcpDiscoverySpi();
-
-        spi.setIpFinder(ipFinder);
-
-        cfg.setDiscoverySpi(spi);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        backups = 0;
-
-        cntr.set(0);
-    }
-
-    /**
-     *
-     * @param ignite Grid
-     * @param key Key.
-     * @return Primary node id.
-     */
-    @SuppressWarnings("unchecked")
-    private static UUID primaryId(Ignite ignite, Object key) {
-        GridCacheAffinity aff = ignite.cache(null).cache().affinity();
-
-        Collection<ClusterNode> affNodes = aff.mapPartitionToPrimaryAndBackups(aff.partition(key));
-
-        ClusterNode first = F.first(affNodes);
-
-        assert first != null;
-
-        return first.id();
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param key Key.
-     * @return DHT entry.
-     */
-    @Nullable private static GridCacheEntryEx<Object, Integer> dhtEntry(UUID nodeId, Object key) {
-        Ignite g = G.ignite(nodeId);
-
-        GridDhtCacheAdapter<Object, Integer> dht =
-            ((GridKernal)g).<Object, Integer>internalCache().context().near().dht();
-
-        return dht.peekEx(key);
-    }
-
-    /**
-     * @param nodeId Node ID.
-     * @param key Key.
-     * @return Near entry.
-     */
-    @Nullable private static GridCacheEntryEx<Object, Integer> nearEntry(UUID nodeId, Object key) {
-        Ignite g = G.ignite(nodeId);
-
-        GridNearCacheAdapter<Object, Integer> near = ((GridKernal)g).<Object, Integer>internalCache().context().near();
-
-        return near.peekEx(key);
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @param itemKey Item key.
-     * @param retry Retry count.
-     * @throws IgniteCheckedException If failed.
-     */
-    @SuppressWarnings("unchecked")
-    private void onItemNear(boolean putCntr, Ignite ignite, String itemKey, int retry) throws IgniteCheckedException {
-        GridCache<String, Integer> cache = ignite.cache(null);
-
-        UUID locId = ignite.cluster().localNode().id();
-        UUID itemPrimaryId = primaryId(ignite, itemKey);
-        UUID cntrPrimaryId = primaryId(ignite, CNTR_KEY);
-
-        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
-
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-            if (DEBUG)
-                info("Before near get [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
-                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
-                    ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
-                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
-
-            Integer cntr = cache.get(CNTR_KEY);
-
-            int newVal = cntr + 1;
-
-            if (putCntr) {
-                if (DEBUG)
-                    info("Before near put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
-                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
-                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
-
-                cache.putx(CNTR_KEY, newVal);
-            }
-
-            if (DEBUG)
-                info("Before near put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr + ", new=" + newVal +
-                    ", nearEntry=" + nearEntry(locId, itemKey) + ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-            cache.putx(itemKey, newVal);
-
-            if (DEBUG)
-                info("After near put item [retry=" + retry + ", key=" + itemKey + ", old=" + cntr + ", new=" + newVal +
-                    ", nearEntry=" + nearEntry(locId, itemKey) + ", dhtEntry" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-            tx.commit();
-        }
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @param itemKey Item key.
-     * @param retry Retry count.
-     * @throws IgniteCheckedException If failed.
-     */
-    @SuppressWarnings("unchecked")
-    private void onItemPrimary(boolean putCntr, Ignite ignite, String itemKey, int retry) throws IgniteCheckedException {
-        GridCache<String, Integer> cache = ignite.cache(null);
-
-        UUID locId = ignite.cluster().localNode().id();
-        UUID itemPrimaryId = primaryId(ignite, itemKey);
-        UUID cntrPrimaryId = primaryId(ignite, CNTR_KEY);
-
-        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
-
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-            if (DEBUG)
-                info("Before item primary get [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
-                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
-                    ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
-                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
-
-            Integer cntr = cache.get(CNTR_KEY);
-
-            int newVal = cntr + 1;
-
-            if (putCntr) {
-                if (DEBUG)
-                    info("Before item primary put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
-                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, CNTR_KEY) +
-                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, CNTR_KEY) : "") + ']');
-
-                cache.putx(CNTR_KEY, newVal);
-            }
-
-            if (DEBUG)
-                info("Before item primary put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
-                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
-                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-            cache.putx(itemKey, cntr);
-
-            if (DEBUG)
-                info("After item primary put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
-                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
-                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-            tx.commit();
-        }
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @param retry Retry count.
-     * @throws IgniteCheckedException If failed.
-     */
-    @SuppressWarnings("unchecked")
-    private void onRemoveItemQueried(boolean putCntr, Ignite ignite, int retry) throws IgniteCheckedException {
-        GridCache<String, Integer> cache = ignite.cache(null);
-
-        UUID locId = ignite.cluster().localNode().id();
-        UUID cntrPrimaryId = primaryId(ignite, RMVD_CNTR_KEY);
-
-        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
-
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-            if (DEBUG)
-                ignite.log().info("Before item lock [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
-                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
-                    ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
-                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
-
-            Integer cntr = cache.get(RMVD_CNTR_KEY);
-
-            assert cntr != null : "Received null counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
-                ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
-                (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']';
-
-            int newVal = cntr - 1;
-
-            if (putCntr) {
-                if (DEBUG)
-                    ignite.log().info("Before item put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
-                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
-                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
-
-                cache.putx(RMVD_CNTR_KEY, newVal);
-            }
-
-            while (true) {
-                GridCacheQuery<Map.Entry<String, Integer>> qry =
-                    cache.queries().createSqlQuery(Integer.class, "_key != 'RMVD_CNTR_KEY' and _val >= 0");
-
-                if (DEBUG)
-                    ignite.log().info("Before executing query [retry=" + retry + ", locId=" + locId +
-                        ", txId=" + tx.xid() + ']');
-
-                Map.Entry<String, Integer> entry = qry.execute().next();
-
-                if (entry == null) {
-                    ignite.log().info("*** Queue is empty.");
-
-                    return;
-                }
-
-                String itemKey = entry.getKey();
-
-                UUID itemPrimaryId = primaryId(ignite, itemKey);
-
-                // Lock the item key.
-                if (cache.get(itemKey) != null) {
-                    if (DEBUG)
-                        ignite.log().info("Before item remove [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
-                            ", nearEntry=" + nearEntry(locId, itemKey) +
-                            ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-                    assert cache.removex(itemKey) : "Failed to remove key [locId=" + locId +
-                        ", primaryId=" + itemPrimaryId + ", key=" + itemKey + ']';
-
-                    if (DEBUG)
-                        info("After item remove item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
-                            ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
-                            ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-                    break;
-                }
-                else
-                    cache.removex(itemKey);
-            }
-
-            tx.commit();
-        }
-        catch (Error e) {
-            ignite.log().error("Error in test.", e);
-
-            throw e;
-        }
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @param retry Retry count.
-     * @throws IgniteCheckedException If failed.
-     */
-    @SuppressWarnings("unchecked")
-    private void onRemoveItemSimple(boolean putCntr, Ignite ignite, int retry) throws IgniteCheckedException {
-        GridCache<String, Integer> cache = ignite.cache(null);
-
-        UUID locId = ignite.cluster().localNode().id();
-        UUID cntrPrimaryId = primaryId(ignite, RMVD_CNTR_KEY);
-
-        boolean isCntrPrimary = cntrPrimaryId.equals(locId);
-
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-            if (DEBUG)
-                ignite.log().info("Before item lock [retry=" + retry + ", xid=" + tx.xid() + ", node=" + ignite.name() +
-                    ", isCntrPrimary=" + isCntrPrimary + ", nearId=" + locId +
-                    ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
-                    (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
-
-            Integer cntr = cache.get(RMVD_CNTR_KEY);
-
-            assert cntr != null : "Received null counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
-                ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
-                (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']';
-
-            String itemKey = Integer.toString(cntrRmvd.getAndIncrement());
-
-            Integer val = cache.get(itemKey);
-
-            assert val != null : "Received null val [retry=" + retry + ", cacheSize=" + cache.size() + ']';
-
-            UUID itemPrimaryId = primaryId(ignite, itemKey);
-
-            int newVal = cntr - 1;
-
-            if (putCntr) {
-                if (DEBUG)
-                    ignite.log().info("Before item put counter [retry=" + retry + ", isCntrPrimary=" + isCntrPrimary +
-                        ", cur=" + cntr + ", new=" + newVal + ", nearEntry=" + nearEntry(locId, RMVD_CNTR_KEY) +
-                        (isCntrPrimary ? ", dhtEntry=" + dhtEntry(locId, RMVD_CNTR_KEY) : "") + ']');
-
-                cache.putx(RMVD_CNTR_KEY, newVal);
-            }
-
-            if (DEBUG)
-                ignite.log().info("Before item remove item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
-                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
-                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-            assertTrue(cache.removex(itemKey));
-
-            if (DEBUG)
-                info("After item put item [retry=" + retry + ", key=" + itemKey + ", cur=" + cntr +
-                    ", new=" + newVal + ", nearEntry=" + nearEntry(locId, itemKey) +
-                    ", dhtEntry=" + dhtEntry(itemPrimaryId, itemKey) + ']');
-
-            tx.commit();
-        }
-        catch (Error e) {
-            ignite.log().error("Error in test.", e);
-
-            throw e;
-        }
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @throws IgniteCheckedException If failed.
-     */
-    private void retries(Ignite ignite, boolean putCntr) throws IgniteCheckedException {
-        UUID nodeId = ignite.cluster().localNode().id();
-
-        for (int i = 0; i < RETRIES; i++) {
-            int cnt = cntr.getAndIncrement();
-
-            if (DEBUG)
-                ignite.log().info("***");
-            if (DEBUG || cnt % LOG_FREQ == 0)
-                ignite.log().info("*** Iteration #" + i + " ***");
-            if (DEBUG)
-                ignite.log().info("***");
-
-            String itemKey = nodeId + "-#" + i;
-
-            if (nodeId.equals(primaryId(ignite, itemKey)))
-                onItemPrimary(putCntr, ignite, itemKey, i);
-            else
-                onItemNear(putCntr, ignite, itemKey, i);
-        }
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @throws IgniteCheckedException If failed.
-     */
-    private void removeRetriesQueried(Ignite ignite, boolean putCntr) throws IgniteCheckedException {
-        for (int i = 0; i < RETRIES; i++) {
-            if (DEBUG)
-                ignite.log().info("***");
-
-            if (DEBUG || cntrRmvd.getAndIncrement() % LOG_FREQ == 0)
-                ignite.log().info("*** Iteration #" + i + " ***");
-
-            if (DEBUG)
-                ignite.log().info("***");
-
-            onRemoveItemQueried(putCntr, ignite, i);
-
-            if (i % 50 == 0)
-                ((GridKernal) ignite).internalCache().context().tm().printMemoryStats();
-        }
-    }
-
-    /**
-     *
-     * @param putCntr Put counter to cache.
-     * @param ignite Grid.
-     * @throws IgniteCheckedException If failed.
-     */
-    private void removeRetriesSimple(Ignite ignite, boolean putCntr) throws IgniteCheckedException {
-        for (int i = 0; i < RETRIES; i++) {
-            if (DEBUG)
-                ignite.log().info("***");
-
-            if (cntrRmvd.get() % LOG_FREQ == 0 || DEBUG)
-                ignite.log().info("*** Iteration #" + i + " ***");
-
-            if (DEBUG)
-                ignite.log().info("***");
-
-            onRemoveItemSimple(putCntr, ignite, i);
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPutOneEntryInTx() throws Exception {
-//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
-
-        startGrids(GRID_CNT);
-
-        try {
-            grid(0).cache(null).put(CNTR_KEY, 0);
-
-            grid(0).compute().call(new PutOneEntryInTxJob());
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPutTwoEntriesInTx() throws Exception {
-//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
-
-        startGrids(GRID_CNT);
-
-        try {
-            grid(0).cache(null).put(CNTR_KEY, 0);
-
-            grid(0).compute().call(new PutTwoEntriesInTxJob());
-
-            printCounter();
-
-            assertEquals(GRID_CNT * RETRIES, grid(0).cache(null).get(CNTR_KEY));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPutOneEntryInTxMultiThreaded() throws Exception {
-//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
-
-        startGrids(GRID_CNT);
-
-        Collection<Thread> threads = new LinkedList<>();
-
-        try {
-            // Initialize.
-            grid(0).cache(null).put(CNTR_KEY, 0);
-
-            for (int i = 0; i < GRID_CNT; i++) {
-                final int gridId = i;
-
-                threads.add(new Thread("thread-#" + i) {
-                    @Override public void run() {
-                        try {
-                            retries(grid(gridId), false);
-                        }
-                        catch (IgniteCheckedException e) {
-                            throw new IgniteException(e);
-                        }
-                    }
-                });
-            }
-
-            for (Thread th : threads)
-                th.start();
-
-            for (Thread th : threads)
-                th.join();
-
-            printCounter();
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPutTwoEntryInTxMultiThreaded() throws Exception {
-//        resetLog4j(Level.INFO, true, GridCacheTxManager.class.getName());
-
-        startGrids(GRID_CNT);
-
-        Collection<Thread> threads = new LinkedList<>();
-
-        try {
-            grid(0).cache(null).put(CNTR_KEY, 0);
-
-            for (int i = 0; i < GRID_CNT; i++) {
-                final int gridId = i;
-
-                threads.add(new Thread() {
-                    @Override public void run() {
-                        try {
-                            retries(grid(gridId), true);
-                        }
-                        catch (IgniteCheckedException e) {
-                            throw new IgniteException(e);
-                        }
-                    }
-                });
-            }
-
-            for (Thread th : threads)
-                th.start();
-
-            for (Thread th : threads)
-                th.join();
-
-            printCounter();
-
-            assertEquals(GRID_CNT * RETRIES, grid(0).cache(null).get(CNTR_KEY));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testRemoveInTxQueried() throws Exception {
-        //resetLog4j(Level.INFO, true, GridCacheTxManager.class.getPackage().getName());
-
-        startGrids(GRID_CNT);
-
-        try {
-            GridCache<String, Integer> cache = grid(0).cache(null);
-
-            cache.put(RMVD_CNTR_KEY, 0);
-
-            for (int i = 0; i < GRID_CNT * RETRIES; i++)
-                cache.put(String.valueOf(i), i);
-
-            for (int i = 0; i < RETRIES; i++)
-                for (int j = 0; j < GRID_CNT; j++)
-                    assertEquals(i, grid(j).cache(null).get(String.valueOf(i)));
-
-            GridCacheQuery<Map.Entry<String, Integer>> qry = cache.queries().createSqlQuery(Integer.class, " _val >= 0");
-
-            Collection<Map.Entry<String, Integer>> entries = qry.execute().get();
-
-            assertFalse(entries.isEmpty());
-
-            cntrRmvd.set(0);
-
-            grid(0).compute().call(new RemoveInTxJobQueried());
-
-            for (int i = 0; i < GRID_CNT * RETRIES; i++)
-                for (int ii = 0; ii < GRID_CNT; ii++)
-                    assertEquals(null, grid(ii).cache(null).get(Integer.toString(i)));
-
-            assertEquals(-GRID_CNT * RETRIES, grid(0).cache(null).peek(RMVD_CNTR_KEY));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testRemoveInTxSimple() throws Exception {
-        startGrids(GRID_CNT);
-
-        try {
-            GridCache<String, Integer> cache = grid(0).cache(null);
-
-            cache.put(RMVD_CNTR_KEY, 0);
-
-            for (int i = 0; i < GRID_CNT * RETRIES; i++)
-                cache.put(Integer.toString(i), i);
-
-            for (int i = 0; i < RETRIES; i++)
-                for (int j = 0; j < GRID_CNT; j++)
-                    assertEquals(i, grid(j).cache(null).get(Integer.toString(i)));
-
-            GridCacheQuery<Map.Entry<String, Integer>> qry = cache.queries().createSqlQuery(Integer.class, " _val >= 0");
-
-            Collection<Map.Entry<String, Integer>> entries = qry.execute().get();
-
-            assertFalse(entries.isEmpty());
-
-            cntrRmvd.set(0);
-
-            grid(0).compute().call(new RemoveInTxJobSimple());
-
-            // Check using cache.
-            for (int i = 0; i < GRID_CNT * RETRIES; i++)
-                for (int ii = 0; ii < GRID_CNT; ii++)
-                    assertEquals(null, grid(ii).cache(null).get(Integer.toString(i)));
-
-            // Check using query.
-            entries = qry.execute().get();
-
-            assertTrue(entries.isEmpty());
-
-            assertEquals(-GRID_CNT * RETRIES, grid(0).cache(null).peek(RMVD_CNTR_KEY));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testRemoveInTxQueriedMultiThreaded() throws Exception {
-        //resetLog4j(Level.INFO, true, GridCacheTxManager.class.getPackage().getName());
-
-        backups = 1;
-
-        try {
-            startGrids(GRID_CNT);
-
-            GridCache<String, Integer> cache = grid(0).cache(null);
-
-            // Store counter.
-            cache.put(RMVD_CNTR_KEY, 0);
-
-            // Store values.
-            for (int i = 1; i <= GRID_CNT * RETRIES; i++)
-                cache.put(String.valueOf(i), i);
-
-            for (int j = 0; j < GRID_CNT; j++)
-                assertEquals(0, grid(j).cache(null).get(RMVD_CNTR_KEY));
-
-            for (int i = 1; i <= RETRIES; i++)
-                for (int j = 0; j < GRID_CNT; j++)
-                    assertEquals(i, grid(j).cache(null).get(String.valueOf(i)));
-
-            GridCacheQuery<Map.Entry<String, Integer>> qry = cache.queries().createSqlQuery(Integer.class, "_val >= 0");
-
-            // Load all results.
-            qry.keepAll(true);
-            qry.includeBackups(false);
-
-            // NOTE: for replicated cache includeBackups(false) is not enough since
-            // all nodes are considered primary, so we have to deduplicate result set.
-            if (cache.configuration().getCacheMode() == REPLICATED)
-                qry.enableDedup(true);
-
-            List<Map.Entry<String, Integer>> entries =
-                new ArrayList<>(qry.execute().get());
-
-            Collections.sort(entries, new Comparator<Map.Entry<String, Integer>>() {
-                @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
-                    return o1.getValue().compareTo(o2.getValue());
-                }
-            });
-
-            info("Queried entries: " + entries);
-
-            int val = 0;
-
-            for (Map.Entry<String, Integer> e : entries) {
-                assertEquals(val, e.getValue().intValue());
-
-                val++;
-            }
-
-            assertFalse(entries.isEmpty());
-
-            cntrRmvd.set(0);
-
-            Collection<Thread> threads = new LinkedList<>();
-
-            for (int i = 0; i < GRID_CNT; i++) {
-                final int gridId = i;
-
-                threads.add(new Thread() {
-                    @Override public void run() {
-                        try {
-                            removeRetriesQueried(grid(gridId), true);
-                        }
-                        catch (IgniteCheckedException e) {
-                            throw new IgniteException(e);
-                        }
-                    }
-                });
-            }
-
-            for (Thread th : threads)
-                th.start();
-
-            for (Thread th : threads)
-                th.join();
-
-            for (int i = 0; i < GRID_CNT * RETRIES; i++)
-                for (int ii = 0; ii < GRID_CNT; ii++)
-                    assertEquals("Got invalid value from cache [gridIdx=" + ii + ", key=" + i + ']',
-                        null, grid(ii).cache(null).get(Integer.toString(i)));
-
-            assertEquals(-GRID_CNT * RETRIES, grid(0).cache(null).peek(RMVD_CNTR_KEY));
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /**
-     * @throws IgniteCheckedException If failed.
-     */
-    private void printCounter() throws IgniteCheckedException {
-        info("***");
-        info("*** Peeked counter: " + grid(0).cache(null).peek(CNTR_KEY));
-        info("*** Got counter: " + grid(0).cache(null).get(CNTR_KEY));
-        info("***");
-    }
-
-    /**
-     * Test job putting data to queue.
-     */
-    protected class PutTwoEntriesInTxJob implements IgniteCallable<Integer> {
-        /** */
-        @GridToStringExclude
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** {@inheritDoc} */
-        @SuppressWarnings("unchecked")
-        @Override public Integer call() throws IgniteCheckedException {
-            assertNotNull(ignite);
-
-            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            retries(ignite, true);
-
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(PutTwoEntriesInTxJob.class, this);
-        }
-    }
-
-    /**
-     * Test job putting data to cache.
-     */
-    protected class PutOneEntryInTxJob implements IgniteCallable<Integer> {
-        /** */
-        @GridToStringExclude
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** {@inheritDoc} */
-        @SuppressWarnings("unchecked")
-        @Override public Integer call() throws IgniteCheckedException {
-            assertNotNull(ignite);
-
-            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            retries(ignite, false);
-
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(PutOneEntryInTxJob.class, this);
-        }
-    }
-
-    /**
-     * Test job removing data from cache using query.
-     */
-    protected class RemoveInTxJobQueried implements IgniteCallable<Integer> {
-        /** */
-        @GridToStringExclude
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** {@inheritDoc} */
-        @SuppressWarnings("unchecked")
-        @Override public Integer call() throws IgniteCheckedException {
-            assertNotNull(ignite);
-
-            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            removeRetriesQueried(ignite, true);
-
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(RemoveInTxJobQueried.class, this);
-        }
-    }
-
-    /**
-     * Test job removing data from cache.
-     */
-    protected class RemoveInTxJobSimple implements IgniteCallable<Integer> {
-        /** */
-        @GridToStringExclude
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** {@inheritDoc} */
-        @SuppressWarnings("unchecked")
-        @Override public Integer call() throws IgniteCheckedException {
-            assertNotNull(ignite);
-
-            ignite.log().info("Running job [node=" + ignite.cluster().localNode().id() + ", job=" + this + "]");
-
-            removeRetriesSimple(ignite, true);
-
-            return 0;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(RemoveInTxJobSimple.class, this);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
deleted file mode 100644
index eee38bc..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.testframework.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-/**
- * Tests for local transactions.
- */
-@SuppressWarnings( {"BusyWait"})
-public abstract class GridCacheTxMultiThreadedAbstractTest extends GridCacheTxAbstractTest {
-    /**
-     * @return Thread count.
-     */
-    protected abstract int threadCount();
-
-    /**
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @throws Exception If check failed.
-     */
-    protected void checkCommitMultithreaded(final GridCacheTxConcurrency concurrency,
-        final GridCacheTxIsolation isolation) throws Exception {
-        GridTestUtils.runMultiThreaded(new Callable<Object>() {
-            @Nullable @Override public Object call() throws Exception {
-                Thread t = Thread.currentThread();
-
-                t.setName(t.getName() + "-id-" + t.getId());
-
-                info("Starting commit thread: " + Thread.currentThread().getName());
-
-                try {
-                    checkCommit(concurrency, isolation);
-                }
-                finally {
-                    info("Finished commit thread: " + Thread.currentThread().getName());
-                }
-
-                return null;
-            }
-        }, threadCount(), concurrency + "-" + isolation);
-    }
-
-    /**
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @throws Exception If check failed.
-     */
-    protected void checkRollbackMultithreaded(final GridCacheTxConcurrency concurrency,
-        final GridCacheTxIsolation isolation) throws Exception {
-        final ConcurrentMap<Integer, String> map = new ConcurrentHashMap<>();
-
-        GridTestUtils.runMultiThreaded(new Callable<Object>() {
-            @Nullable @Override public Object call() throws Exception {
-                Thread t = Thread.currentThread();
-
-                t.setName(t.getName() + "-id-" + t.getId());
-
-                info("Starting rollback thread: " + Thread.currentThread().getName());
-
-                try {
-                    checkRollback(map, concurrency, isolation);
-
-                    return null;
-                }
-                finally {
-                    info("Finished rollback thread: " + Thread.currentThread().getName());
-                }
-            }
-        }, threadCount(), concurrency + "-" + isolation);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticReadCommittedCommitMultithreaded() throws Exception {
-        checkCommitMultithreaded(PESSIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticRepeatableReadCommitMultithreaded() throws Exception {
-        checkCommitMultithreaded(PESSIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticSerializableCommitMultithreaded() throws Exception {
-        checkCommitMultithreaded(PESSIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticReadCommittedCommitMultithreaded() throws Exception {
-        checkCommitMultithreaded(OPTIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticRepeatableReadCommitMultithreaded() throws Exception {
-        checkCommitMultithreaded(OPTIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticSerializableCommitMultithreaded() throws Exception {
-        checkCommitMultithreaded(OPTIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticReadCommittedRollbackMultithreaded() throws Exception {
-        checkRollbackMultithreaded(PESSIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticRepeatableReadRollbackMultithreaded() throws Exception {
-        checkRollbackMultithreaded(PESSIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticSerializableRollbackMultithreaded() throws Exception {
-        checkRollbackMultithreaded(PESSIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticReadCommittedRollbackMultithreaded() throws Exception {
-        checkRollbackMultithreaded(OPTIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticRepeatableReadRollbackMultithreaded() throws Exception {
-        checkRollbackMultithreaded(OPTIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticSerializableRollbackMultithreaded() throws Exception {
-        checkRollbackMultithreaded(OPTIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    // TODO: GG-8063, enabled when fixed.
-    public void _testOptimisticSerializableConsistency() throws Exception {
-        final GridCache<Integer, Long> cache = grid(0).cache(null);
-
-        final int THREADS = 2;
-
-        final int ITERATIONS = 100;
-
-        final int key = 0;
-
-        cache.put(key, 0L);
-
-        List<IgniteFuture<Collection<Long>>> futs = new ArrayList<>(THREADS);
-
-        for (int i = 0; i < THREADS; i++) {
-            futs.add(GridTestUtils.runAsync(new Callable<Collection<Long>>() {
-                @Override public Collection<Long> call() throws Exception {
-                    Collection<Long> res = new ArrayList<>();
-
-                    for (int i = 0; i < ITERATIONS; i++) {
-                        while (true) {
-                            try (GridCacheTx tx = cache.txStart(OPTIMISTIC, SERIALIZABLE)) {
-                                long val = cache.get(key);
-
-                                cache.put(key, val + 1);
-
-                                tx.commit();
-
-                                assertTrue(res.add(val + 1));
-
-                                break;
-                            }
-                            catch(GridCacheTxOptimisticException e) {
-                                log.info("Got error, will retry: " + e);
-                            }
-                        }
-                    }
-
-                    return res;
-                }
-            }));
-        }
-
-        List<Collection<Long>> cols = new ArrayList<>(THREADS);
-
-        for (IgniteFuture<Collection<Long>> fut : futs) {
-            Collection<Long> col = fut.get();
-
-            assertEquals(ITERATIONS, col.size());
-
-            cols.add(col);
-        }
-
-        Set<Long> duplicates = new HashSet<>();
-
-        for (Collection<Long> col1 : cols) {
-            for (Long val1 : col1) {
-                for (Collection<Long> col2 : cols) {
-                    if (col1 == col2)
-                        continue;
-
-                    for (Long val2 : col2) {
-                        if (val1.equals(val2)) {
-                            duplicates.add(val2);
-
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
-        assertTrue("Found duplicated values: " + duplicates, duplicates.isEmpty());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
deleted file mode 100644
index d38d4ab..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.spi.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.managers.communication.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.apache.ignite.spi.communication.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.grid.util.direct.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.concurrent.atomic.*;
-
-import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-/**
- * Tests reentry in pessimistic repeatable read tx.
- */
-public abstract class GridCacheTxReentryAbstractSelfTest extends GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
-
-    /** @return Cache mode. */
-    protected abstract GridCacheMode cacheMode();
-
-    /** @return Near enabled. */
-    protected abstract boolean nearEnabled();
-
-    /** @return Grid count. */
-    protected abstract int gridCount();
-
-    /** @return Test key. */
-    protected abstract int testKey();
-
-    /** @return Expected number of near lock requests. */
-    protected abstract int expectedNearLockRequests();
-
-    /** @return Expected number of near lock requests. */
-    protected abstract int expectedDhtLockRequests();
-
-    /** @return Expected number of near lock requests. */
-    protected abstract int expectedDistributedLockRequests();
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-        discoSpi.setIpFinder(IP_FINDER);
-
-        cfg.setCommunicationSpi(new CountingCommunicationSpi());
-        cfg.setDiscoverySpi(discoSpi);
-
-        GridCacheConfiguration cacheCfg = defaultCacheConfiguration();
-
-        cacheCfg.setCacheMode(cacheMode());
-        cacheCfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
-        cacheCfg.setAtomicityMode(TRANSACTIONAL);
-        cacheCfg.setDistributionMode(nearEnabled() ? NEAR_PARTITIONED : PARTITIONED_ONLY);
-
-        cfg.setCacheConfiguration(cacheCfg);
-
-        return cfg;
-    }
-
-    /** @throws Exception If failed. */
-    public void testLockReentry() throws Exception {
-        startGrids(gridCount());
-
-        try {
-            GridCache<Object, Object> cache = grid(0).cache(null);
-
-            // Find test key.
-            int key = testKey();
-
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-                // One near lock request.
-                cache.get(key);
-
-                // No more requests.
-                cache.remove(key);
-
-                tx.commit();
-            }
-
-            CountingCommunicationSpi commSpi = (CountingCommunicationSpi)grid(0).configuration().getCommunicationSpi();
-
-            assertEquals(expectedNearLockRequests(), commSpi.nearLocks());
-            assertEquals(expectedDhtLockRequests(), commSpi.dhtLocks());
-            assertEquals(expectedDistributedLockRequests(), commSpi.distributedLocks());
-        }
-        finally {
-            stopAllGrids();
-        }
-    }
-
-    /** Counting communication SPI. */
-    protected static class CountingCommunicationSpi extends TcpCommunicationSpi {
-        /** Distributed lock requests. */
-        private AtomicInteger distLocks = new AtomicInteger();
-
-        /** Near lock requests. */
-        private AtomicInteger nearLocks = new AtomicInteger();
-
-        /** Dht locks. */
-        private AtomicInteger dhtLocks = new AtomicInteger();
-
-        /** {@inheritDoc} */
-        @Override public void sendMessage(ClusterNode node, GridTcpCommunicationMessageAdapter msg)
-            throws IgniteSpiException {
-            countMsg((GridIoMessage)msg);
-
-            super.sendMessage(node, msg);
-        }
-
-        /**
-         * Unmarshals the message and increments counters.
-         *
-         * @param msg Message to check.
-         */
-        private void countMsg(GridIoMessage msg) {
-            Object origMsg = msg.message();
-
-            if (origMsg instanceof GridDistributedLockRequest) {
-                distLocks.incrementAndGet();
-
-                if (origMsg instanceof GridNearLockRequest)
-                    nearLocks.incrementAndGet();
-                else if (origMsg instanceof GridDhtLockRequest)
-                    dhtLocks.incrementAndGet();
-            }
-        }
-
-        /** @return Number of recorded distributed locks. */
-        public int distributedLocks() {
-            return distLocks.get();
-        }
-
-        /** @return Number of recorded distributed locks. */
-        public int nearLocks() {
-            return nearLocks.get();
-        }
-
-        /** @return Number of recorded distributed locks. */
-        public int dhtLocks() {
-            return dhtLocks.get();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
deleted file mode 100644
index d4df5e2..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-/**
- * Tests for local transactions.
- */
-@SuppressWarnings( {"BusyWait"})
-public abstract class GridCacheTxSingleThreadedAbstractTest extends GridCacheTxAbstractTest {
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticReadCommittedCommit() throws Exception {
-        checkCommit(PESSIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticRepeatableReadCommit() throws Exception {
-        checkCommit(PESSIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticSerializableCommit() throws Exception {
-        checkCommit(PESSIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticReadCommittedCommit() throws Exception {
-        checkCommit(OPTIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticRepeatableReadCommit() throws Exception {
-        checkCommit(OPTIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticSerializableCommit() throws Exception {
-        checkCommit(OPTIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticReadCommittedRollback() throws Exception {
-        checkRollback(PESSIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticRepeatableReadRollback() throws Exception {
-        checkRollback(PESSIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticSerializableRollback() throws Exception {
-        checkRollback(PESSIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticReadCommittedRollback() throws Exception {
-        checkRollback(OPTIMISTIC, READ_COMMITTED);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticRepeatableReadRollback() throws Exception {
-        checkRollback(OPTIMISTIC, REPEATABLE_READ);
-
-        finalChecks();
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticSerializableRollback() throws Exception {
-        checkRollback(OPTIMISTIC, SERIALIZABLE);
-
-        finalChecks();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
deleted file mode 100644
index ec31028..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
+++ /dev/null
@@ -1,631 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.store.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.testframework.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-
-/**
- * Tests that transaction is invalidated in case of {@link GridCacheTxHeuristicException}.
- */
-public abstract class GridCacheTxStoreExceptionAbstractSelfTest extends GridCacheAbstractSelfTest {
-    /** Index SPI throwing exception. */
-    private static TestStore store = new TestStore();
-
-    /** */
-    private static final int PRIMARY = 0;
-
-    /** */
-    private static final int BACKUP = 1;
-
-    /** */
-    private static final int NOT_PRIMARY_AND_BACKUP = 2;
-
-    /** */
-    private static Integer lastKey;
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return 3;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.getTransactionsConfiguration().setTxSerializableEnabled(true);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration ccfg = super.cacheConfiguration(gridName);
-
-        ccfg.setStore(store);
-
-        return ccfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        super.beforeTestsStarted();
-
-        lastKey = 0;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        store.forceFail(false);
-
-        super.afterTest();
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutNear() throws Exception {
-        checkPut(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-        checkPut(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutPrimary() throws Exception {
-        checkPut(true, keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkPut(false, keyForNode(grid(0).localNode(), PRIMARY));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutBackup() throws Exception {
-        checkPut(true, keyForNode(grid(0).localNode(), BACKUP));
-
-        checkPut(false, keyForNode(grid(0).localNode(), BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutAll() throws Exception {
-        checkPutAll(true, keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkPutAll(false, keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY));
-
-        if (gridCount() > 1) {
-            checkPutAll(true, keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY));
-
-            checkPutAll(false, keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY));
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemoveNear() throws Exception {
-        checkRemove(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-        checkRemove(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemovePrimary() throws Exception {
-        checkRemove(false, keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkRemove(true, keyForNode(grid(0).localNode(), PRIMARY));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemoveBackup() throws Exception {
-        checkRemove(false, keyForNode(grid(0).localNode(), BACKUP));
-
-        checkRemove(true, keyForNode(grid(0).localNode(), BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTransformNear() throws Exception {
-        checkTransform(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-        checkTransform(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTransformPrimary() throws Exception {
-        checkTransform(false, keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkTransform(true, keyForNode(grid(0).localNode(), PRIMARY));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTransformBackup() throws Exception {
-        checkTransform(false, keyForNode(grid(0).localNode(), BACKUP));
-
-        checkTransform(true, keyForNode(grid(0).localNode(), BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutNearTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutPrimaryTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
-
-                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutBackupTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
-
-                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutMultipleKeysTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation,
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY));
-
-                checkPutTx(false, concurrency, isolation,
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY));
-
-                if (gridCount() > 1) {
-                    checkPutTx(true, concurrency, isolation,
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY));
-
-                    checkPutTx(false, concurrency, isolation,
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY));
-                }
-            }
-        }
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param keys Keys.
-     * @param concurrency Transaction concurrency.
-     * @param isolation Transaction isolation.
-     * @throws Exception If failed.
-     */
-    private void checkPutTx(boolean putBefore, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, final Integer... keys) throws Exception {
-        assertTrue(keys.length > 0);
-
-        info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']');
-
-        GridCache<Integer, Integer> cache = grid(0).cache(null);
-
-        if (putBefore) {
-            store.forceFail(false);
-
-            info("Start transaction.");
-
-            try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
-                for (Integer key : keys) {
-                    info("Put " + key);
-
-                    cache.put(key, 1);
-                }
-
-                info("Commit.");
-
-                tx.commit();
-            }
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++) {
-            for (Integer key : keys)
-                grid(i).cache(null).get(key);
-        }
-
-        store.forceFail(true);
-
-        try {
-            info("Start transaction.");
-
-            try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
-                for (Integer key : keys) {
-                    info("Put " + key);
-
-                    cache.put(key, 2);
-                }
-
-                info("Commit.");
-
-                tx.commit();
-            }
-
-            fail("Transaction should fail.");
-        }
-        catch (IgniteCheckedException e) {
-            log.info("Expected exception: " + e);
-        }
-
-        for (Integer key : keys)
-            checkValue(key, putBefore);
-    }
-
-    /**
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkValue(final Integer key, boolean putBefore) throws Exception {
-        store.forceFail(false);
-
-        info("Check key: " + key);
-
-        for (int i = 0; i < gridCount(); i++) {
-            GridKernal grid = (GridKernal) grid(i);
-
-            GridCacheAdapter cache = grid.internalCache(null);
-
-            GridCacheMapEntry entry = cache.map().getEntry(key);
-
-            log.info("Entry: " + entry);
-
-            if (entry != null) {
-                assertFalse("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', entry.lockedByAny());
-                assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore,
-                    entry.hasValue());
-                assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore ? 1 : null,
-                    entry.rawGetOrUnmarshal(false));
-            }
-
-            if (cache.isNear()) {
-                entry = ((GridNearCacheAdapter)cache).dht().map().getEntry(key);
-
-                log.info("Dht entry: " + entry);
-
-                if (entry != null) {
-                    assertFalse("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', entry.lockedByAny());
-                    assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore,
-                        entry.hasValue());
-                    assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore ? 1 : null,
-                        entry.rawGetOrUnmarshal(false));
-                }
-            }
-        }
-
-        for (int i = 0; i < gridCount(); i++)
-            assertEquals("Unexpected value for grid " + i, putBefore ? 1 : null, grid(i).cache(null).get(key));
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkPut(boolean putBefore, final Integer key) throws Exception {
-        if (putBefore) {
-            store.forceFail(false);
-
-            info("Put key: " + key);
-
-            grid(0).cache(null).put(key, 1);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++)
-            grid(i).cache(null).get(key);
-
-        store.forceFail(true);
-
-        info("Going to put: " + key);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).put(key, 2);
-
-                return null;
-            }
-        }, GridCacheTxRollbackException.class, null);
-
-        checkValue(key, putBefore);
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkTransform(boolean putBefore, final Integer key) throws Exception {
-        if (putBefore) {
-            store.forceFail(false);
-
-            info("Put key: " + key);
-
-            grid(0).cache(null).put(key, 1);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++)
-            grid(i).cache(null).get(key);
-
-        store.forceFail(true);
-
-        info("Going to transform: " + key);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).transform(key, new IgniteClosure<Object, Object>() {
-                    @Override public Object apply(Object o) {
-                        return 2;
-                    }
-                });
-
-                return null;
-            }
-        }, GridCacheTxRollbackException.class, null);
-
-        checkValue(key, putBefore);
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param keys Keys.
-     * @throws Exception If failed.
-     */
-    private void checkPutAll(boolean putBefore, Integer ... keys) throws Exception {
-        assert keys.length > 1;
-
-        if (putBefore) {
-            store.forceFail(false);
-
-            Map<Integer, Integer> m = new HashMap<>();
-
-            for (Integer key : keys)
-                m.put(key, 1);
-
-            info("Put data: " + m);
-
-            grid(0).cache(null).putAll(m);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++) {
-            for (Integer key : keys)
-                grid(i).cache(null).get(key);
-        }
-
-        store.forceFail(true);
-
-        final Map<Integer, Integer> m = new HashMap<>();
-
-        for (Integer key : keys)
-            m.put(key, 2);
-
-        info("Going to putAll: " + m);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).putAll(m);
-
-                return null;
-            }
-        }, GridCacheTxRollbackException.class, null);
-
-        for (Integer key : m.keySet())
-            checkValue(key, putBefore);
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkRemove(boolean putBefore, final Integer key) throws Exception {
-        if (putBefore) {
-            store.forceFail(false);
-
-            info("Put key: " + key);
-
-            grid(0).cache(null).put(key, 1);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++)
-            grid(i).cache(null).get(key);
-
-        store.forceFail(true);
-
-        info("Going to remove: " + key);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).remove(key);
-
-                return null;
-            }
-        }, GridCacheTxRollbackException.class, null);
-
-        checkValue(key, putBefore);
-    }
-
-    /**
-     * Generates key of a given type for given node.
-     *
-     * @param node Node.
-     * @param type Key type.
-     * @return Key.
-     */
-    private Integer keyForNode(ClusterNode node, int type) {
-        GridCache<Integer, Integer> cache = grid(0).cache(null);
-
-        if (cache.configuration().getCacheMode() == LOCAL)
-            return ++lastKey;
-
-        if (cache.configuration().getCacheMode() == REPLICATED && type == NOT_PRIMARY_AND_BACKUP)
-            return ++lastKey;
-
-        for (int key = lastKey + 1; key < (lastKey + 10_000); key++) {
-            switch (type) {
-                case NOT_PRIMARY_AND_BACKUP: {
-                    if (!cache.affinity().isPrimaryOrBackup(node, key)) {
-                        lastKey = key;
-
-                        return key;
-                    }
-
-                    break;
-                }
-
-                case PRIMARY: {
-                    if (cache.affinity().isPrimary(node, key)) {
-                        lastKey = key;
-
-                        return key;
-                    }
-
-                    break;
-                }
-
-                case BACKUP: {
-                    if (cache.affinity().isBackup(node, key)) {
-                        lastKey = key;
-
-                        return key;
-                    }
-
-                    break;
-                }
-
-                default:
-                    fail();
-            }
-        }
-
-        throw new IllegalStateException("Failed to find key.");
-    }
-
-    /**
-     *
-     */
-    private static class TestStore implements GridCacheStore<Object, Object> {
-        /** Fail flag. */
-        private volatile boolean fail;
-
-        /**
-         * @param fail Fail flag.
-         */
-        public void forceFail(boolean fail) {
-            this.fail = fail;
-        }
-
-
-        @Nullable @Override public Object load(@Nullable GridCacheTx tx, Object key) throws IgniteCheckedException {
-            return null;
-        }
-
-        @Override public void loadCache(IgniteBiInClosure<Object, Object> clo, @Nullable Object... args)
-            throws IgniteCheckedException {
-            if (fail)
-                throw new IgniteCheckedException("Store exception");
-        }
-
-        @Override public void loadAll(@Nullable GridCacheTx tx, Collection<?> keys, IgniteBiInClosure<Object, Object> c)
-            throws IgniteCheckedException {
-        }
-
-        @Override public void put(@Nullable GridCacheTx tx, Object key, Object val) throws IgniteCheckedException {
-            if (fail)
-                throw new IgniteCheckedException("Store exception");
-        }
-
-        @Override public void putAll(@Nullable GridCacheTx tx, Map<?, ?> map) throws IgniteCheckedException {
-            if (fail)
-                throw new IgniteCheckedException("Store exception");
-        }
-
-        @Override public void remove(@Nullable GridCacheTx tx, Object key) throws IgniteCheckedException {
-            if (fail)
-                throw new IgniteCheckedException("Store exception");
-        }
-
-        @Override public void removeAll(@Nullable GridCacheTx tx, Collection<?> keys) throws IgniteCheckedException {
-            if (fail)
-                throw new IgniteCheckedException("Store exception");
-        }
-
-        @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
-            if (fail && commit)
-                throw new IgniteCheckedException("Store exception");
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
index 1340a77..fc03465 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
@@ -120,7 +120,7 @@ public class GridCacheVariableTopologySelfTest extends GridCommonAbstractTest {
                     if (cnt % logMod == 0)
                         info("Starting transaction: " + cnt);
 
-                    try (GridCacheTx tx = cache.txStart()) {
+                    try (IgniteTx tx = cache.txStart()) {
                         int kv = RAND.nextInt(keyRange);
 
                         cache.put(kv, kv);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
index 82b9204..e8b7b14 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
@@ -100,7 +100,7 @@ public abstract class GridCacheWriteBehindStoreAbstractTest extends GridCommonAb
 
         assert map.isEmpty();
 
-        GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ);
+        IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ);
 
         try {
             for (int i = 1; i <= 10; i++) {
@@ -165,7 +165,7 @@ public abstract class GridCacheWriteBehindStoreAbstractTest extends GridCommonAb
 
         assert map.isEmpty();
 
-        try (GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
             for (int i = 1; i <= 10; i++)
                 cache.putx(i, Integer.toString(i));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
index fc700bc..675bf73 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
@@ -153,7 +153,7 @@ public class GridCacheWriteBehindStorePartitionedMultiNodeSelfTest extends GridC
 
         GridCache<Object, Object> cache = grid(0).cache(null);
 
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
             for (int i = 0; i < 100; i++)
                 cache.put(i, String.valueOf(i));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
index 10fc84b..8107d5d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
@@ -64,7 +64,7 @@ public class GridCacheWriteBehindStoreSelfTest extends GridCacheWriteBehindStore
         initStore(2);
 
         try {
-            GridCacheTx tx = null;
+            IgniteTx tx = null;
 
             store.put(tx, 1, "v1");
             store.put(tx, 2, "v2");


[23/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
GG-9141 - Renaming


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/a1a5b391
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/a1a5b391
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/a1a5b391

Branch: refs/heads/ignite-32
Commit: a1a5b391e1a914fc613bc07b26940ee8573981f4
Parents: 8017811
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:07:10 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:07:10 2014 -0800

----------------------------------------------------------------------
 .../GridCacheTxHeuristicException.java          | 43 --------------------
 .../GridCacheTxOptimisticException.java         | 39 ------------------
 .../GridCacheTxRollbackException.java           | 39 ------------------
 .../GridCacheTxSynchronization.java             | 38 -----------------
 .../GridCacheTxTimeoutException.java            | 39 ------------------
 .../apache/ignite/transactions/IgniteTx.java    |  4 +-
 .../IgniteTxHeuristicException.java             | 43 ++++++++++++++++++++
 .../IgniteTxOptimisticException.java            | 39 ++++++++++++++++++
 .../transactions/IgniteTxRollbackException.java | 39 ++++++++++++++++++
 .../transactions/IgniteTxSynchronization.java   | 38 +++++++++++++++++
 .../transactions/IgniteTxTimeoutException.java  | 39 ++++++++++++++++++
 .../java/org/gridgain/grid/cache/GridCache.java | 10 ++---
 .../processors/cache/GridCacheAdapter.java      | 10 ++---
 .../processors/cache/GridCacheProxyImpl.java    |  6 +--
 .../kernal/processors/cache/GridCacheTxEx.java  |  4 +-
 .../processors/cache/GridCacheTxHandler.java    | 18 ++++----
 .../cache/GridCacheTxLocalAdapter.java          | 18 ++++----
 .../processors/cache/GridCacheTxManager.java    | 24 +++++------
 .../GridCacheDataStructuresManager.java         |  2 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |  6 +--
 .../distributed/dht/GridDhtTxFinishFuture.java  |  4 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   | 22 +++++-----
 .../near/GridNearTransactionalCache.java        |  2 +-
 .../near/GridNearTxFinishFuture.java            |  4 +-
 .../cache/distributed/near/GridNearTxLocal.java | 18 ++++----
 .../near/GridNearTxPrepareFuture.java           | 12 +++---
 .../cache/local/GridLocalTxFuture.java          | 14 +++----
 .../grid/util/future/GridCompoundFuture.java    |  2 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |  2 +-
 .../GridCacheVariableTopologySelfTest.java      |  2 +-
 .../processors/cache/IgniteTxAbstractTest.java  |  4 +-
 .../IgniteTxExceptionAbstractSelfTest.java      | 12 +++---
 .../IgniteTxMultiThreadedAbstractTest.java      |  2 +-
 .../IgniteTxStoreExceptionAbstractSelfTest.java | 10 ++---
 .../GridCacheAbstractNodeRestartSelfTest.java   |  2 +-
 .../GridCacheNodeFailureAbstractTest.java       |  2 +-
 .../IgniteTxTimeoutAbstractTest.java            |  2 +-
 .../near/GridCacheNearMultiGetSelfTest.java     |  2 +-
 .../GridCacheReplicatedInvalidateSelfTest.java  |  2 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |  4 +-
 40 files changed, 311 insertions(+), 311 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java
deleted file mode 100644
index 1813d72..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transaction enters an unknown state.
- * This exception is usually thrown whenever commit partially succeeds.
- * Cache will still resolve this situation automatically to ensure data
- * integrity, by invalidating all values participating in this transaction
- * on remote nodes.
- */
-public class GridCacheTxHeuristicException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new heuristic exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxHeuristicException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new heuristic exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxHeuristicException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java
deleted file mode 100644
index 0799ff4..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transactions fail optimistically.
- */
-public class GridCacheTxOptimisticException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new optimistic exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxOptimisticException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new optimistic exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxOptimisticException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java
deleted file mode 100644
index 6823c03..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transactions has been automatically rolled back.
- */
-public class GridCacheTxRollbackException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new rollback exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxRollbackException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new rollback exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxRollbackException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
deleted file mode 100644
index bd177a4..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.gridgain.grid.cache.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Synchronization callback for transaction. You can subscribe to receive transaction
- * state change callbacks by registering transaction synchronization via
- * {@link GridCache#txSynchronize(GridCacheTxSynchronization)} method.
- */
-public interface GridCacheTxSynchronization {
-    /**
-     * State change callback for transaction. Note that unless transaction has been
-     * completed, it is possible to mark it for <tt>rollbackOnly</tt> by calling
-     * {@link IgniteTx#setRollbackOnly()} on the passed in transaction.
-     * You can check the return value of {@link IgniteTx#setRollbackOnly() setRollbackOnly()}
-     * method to see if transaction was indeed marked for rollback or not.
-     *
-     * @param prevState Previous state of the transaction. If transaction has just been
-     *      started, then previous state is {@code null}.
-     * @param newState New state of the transaction. In majority of the cases this will be the
-     *      same as {@link IgniteTx#state() tx.state()}, but it is also possible
-     *      that transaction may be marked for rollback concurrently with this method
-     *      invocation, and in that case <tt>newState</tt> reflects the actual state of the
-     *      transition this callback is associated with.
-     * @param tx Transaction whose state has changed.
-     */
-    public void onStateChanged(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java
deleted file mode 100644
index 63828c8..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transactions time out.
- */
-public class GridCacheTxTimeoutException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new timeout exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxTimeoutException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new timeout exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxTimeoutException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
index 9bd287f..c3466f7 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
@@ -46,7 +46,7 @@ import java.util.*;
  *  Read access with this level happens the same way as with {@link IgniteTxIsolation#REPEATABLE_READ} level.
  *  However, in {@link IgniteTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
  *  from each other, then one winner will be picked and the other transactions in conflict will result in
- * {@link GridCacheTxOptimisticException} being thrown.
+ * {@link IgniteTxOptimisticException} being thrown.
  * </li>
  * </ul>
  * <p>
@@ -181,7 +181,7 @@ public interface IgniteTx extends GridMetadataAware, AutoCloseable {
 
     /**
      * Gets timeout value in milliseconds for this transaction. If transaction times
-     * out prior to it's completion, {@link GridCacheTxTimeoutException} will be thrown.
+     * out prior to it's completion, {@link IgniteTxTimeoutException} will be thrown.
      *
      * @return Transaction timeout value.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxHeuristicException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxHeuristicException.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxHeuristicException.java
new file mode 100644
index 0000000..23b7da0
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxHeuristicException.java
@@ -0,0 +1,43 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transaction enters an unknown state.
+ * This exception is usually thrown whenever commit partially succeeds.
+ * Cache will still resolve this situation automatically to ensure data
+ * integrity, by invalidating all values participating in this transaction
+ * on remote nodes.
+ */
+public class IgniteTxHeuristicException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new heuristic exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public IgniteTxHeuristicException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new heuristic exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public IgniteTxHeuristicException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxOptimisticException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxOptimisticException.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxOptimisticException.java
new file mode 100644
index 0000000..5e6d79a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxOptimisticException.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transactions fail optimistically.
+ */
+public class IgniteTxOptimisticException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new optimistic exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public IgniteTxOptimisticException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new optimistic exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public IgniteTxOptimisticException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxRollbackException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxRollbackException.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxRollbackException.java
new file mode 100644
index 0000000..c07857c
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxRollbackException.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transactions has been automatically rolled back.
+ */
+public class IgniteTxRollbackException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new rollback exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public IgniteTxRollbackException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new rollback exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public IgniteTxRollbackException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxSynchronization.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxSynchronization.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxSynchronization.java
new file mode 100644
index 0000000..fee4f37
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxSynchronization.java
@@ -0,0 +1,38 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.gridgain.grid.cache.*;
+import org.jetbrains.annotations.*;
+
+/**
+ * Synchronization callback for transaction. You can subscribe to receive transaction
+ * state change callbacks by registering transaction synchronization via
+ * {@link GridCache#txSynchronize(IgniteTxSynchronization)} method.
+ */
+public interface IgniteTxSynchronization {
+    /**
+     * State change callback for transaction. Note that unless transaction has been
+     * completed, it is possible to mark it for <tt>rollbackOnly</tt> by calling
+     * {@link IgniteTx#setRollbackOnly()} on the passed in transaction.
+     * You can check the return value of {@link IgniteTx#setRollbackOnly() setRollbackOnly()}
+     * method to see if transaction was indeed marked for rollback or not.
+     *
+     * @param prevState Previous state of the transaction. If transaction has just been
+     *      started, then previous state is {@code null}.
+     * @param newState New state of the transaction. In majority of the cases this will be the
+     *      same as {@link IgniteTx#state() tx.state()}, but it is also possible
+     *      that transaction may be marked for rollback concurrently with this method
+     *      invocation, and in that case <tt>newState</tt> reflects the actual state of the
+     *      transition this callback is associated with.
+     * @param tx Transaction whose state has changed.
+     */
+    public void onStateChanged(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx);
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxTimeoutException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxTimeoutException.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxTimeoutException.java
new file mode 100644
index 0000000..51169c2
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxTimeoutException.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transactions time out.
+ */
+public class IgniteTxTimeoutException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new timeout exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public IgniteTxTimeoutException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new timeout exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public IgniteTxTimeoutException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
index 49bee3d..2b652ac 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
@@ -68,23 +68,23 @@ public interface GridCache<K, V> extends GridCacheProjection<K, V> {
      *
      * @param syncs Transaction synchronizations to register.
      */
-    public void txSynchronize(@Nullable GridCacheTxSynchronization syncs);
+    public void txSynchronize(@Nullable IgniteTxSynchronization syncs);
 
     /**
      * Removes transaction synchronizations.
      *
      * @param syncs Transactions synchronizations to remove.
-     * @see #txSynchronize(GridCacheTxSynchronization)
+     * @see #txSynchronize(IgniteTxSynchronization)
      */
-    public void txUnsynchronize(@Nullable GridCacheTxSynchronization syncs);
+    public void txUnsynchronize(@Nullable IgniteTxSynchronization syncs);
 
     /**
      * Gets registered transaction synchronizations.
      *
      * @return Registered transaction synchronizations.
-     * @see #txSynchronize(GridCacheTxSynchronization)
+     * @see #txSynchronize(IgniteTxSynchronization)
      */
-    public Collection<GridCacheTxSynchronization> txSynchronizations();
+    public Collection<IgniteTxSynchronization> txSynchronizations();
 
     /**
      * Gets affinity service to provide information about data partitioning

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 5571ffd..643ec03 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -3178,17 +3178,17 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public void txSynchronize(GridCacheTxSynchronization syncs) {
+    @Override public void txSynchronize(IgniteTxSynchronization syncs) {
         ctx.tm().addSynchronizations(syncs);
     }
 
     /** {@inheritDoc} */
-    @Override public void txUnsynchronize(GridCacheTxSynchronization syncs) {
+    @Override public void txUnsynchronize(IgniteTxSynchronization syncs) {
         ctx.tm().removeSynchronizations(syncs);
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxSynchronization> txSynchronizations() {
+    @Override public Collection<IgniteTxSynchronization> txSynchronizations() {
         return ctx.tm().synchronizations();
     }
 
@@ -3631,14 +3631,14 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
                 return t;
             }
-            catch (GridInterruptedException | GridCacheTxHeuristicException | GridCacheTxRollbackException e) {
+            catch (GridInterruptedException | IgniteTxHeuristicException | IgniteTxRollbackException e) {
                 throw e;
             }
             catch (IgniteCheckedException e) {
                 try {
                     tx.rollback();
 
-                    e = new GridCacheTxRollbackException("Transaction has been rolled back: " +
+                    e = new IgniteTxRollbackException("Transaction has been rolled back: " +
                         tx.xid(), e);
                 }
                 catch (IgniteCheckedException | AssertionError | RuntimeException e1) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
index 6addcbe..812336c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
@@ -149,7 +149,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public void txSynchronize(@Nullable GridCacheTxSynchronization syncs) {
+    @Override public void txSynchronize(@Nullable IgniteTxSynchronization syncs) {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {
@@ -161,7 +161,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public void txUnsynchronize(@Nullable GridCacheTxSynchronization syncs) {
+    @Override public void txUnsynchronize(@Nullable IgniteTxSynchronization syncs) {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {
@@ -173,7 +173,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxSynchronization> txSynchronizations() {
+    @Override public Collection<IgniteTxSynchronization> txSynchronizations() {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
index 3984e4c..2861d66 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
@@ -479,9 +479,9 @@ public interface GridCacheTxEx<K, V> extends IgniteTx, GridTimeoutObject {
      * Gets allowed remaining time for this transaction.
      *
      * @return Remaining time.
-     * @throws GridCacheTxTimeoutException If transaction timed out.
+     * @throws IgniteTxTimeoutException If transaction timed out.
      */
-    public long remainingTime() throws GridCacheTxTimeoutException;
+    public long remainingTime() throws IgniteTxTimeoutException;
 
     /**
      * @return Alternate transaction versions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
index c86ec28..47631e0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
@@ -192,7 +192,7 @@ public class GridCacheTxHandler<K, V> {
                         if (tx != null)
                             tx.setRollbackOnly(); // Just in case.
 
-                        if (!(e instanceof GridCacheTxOptimisticException))
+                        if (!(e instanceof IgniteTxOptimisticException))
                             U.error(log, "Failed to prepare DHT transaction: " + tx, e);
                     }
 
@@ -296,7 +296,7 @@ public class GridCacheTxHandler<K, V> {
                     catch (IgniteCheckedException e) {
                         tx0.setRollbackOnly(); // Just in case.
 
-                        if (!(e instanceof GridCacheTxOptimisticException))
+                        if (!(e instanceof IgniteTxOptimisticException))
                             U.error(log, "Failed to prepare DHT transaction: " + tx0, e);
                     }
                 }
@@ -518,7 +518,7 @@ public class GridCacheTxHandler<K, V> {
                             req.taskNameHash()));
 
                     if (tx == null || !ctx.tm().onStarted(tx))
-                        throw new GridCacheTxRollbackException("Attempt to start a completed transaction: " + req);
+                        throw new IgniteTxRollbackException("Attempt to start a completed transaction: " + req);
 
                     tx.topologyVersion(req.topologyVersion());
                 }
@@ -654,9 +654,9 @@ public class GridCacheTxHandler<K, V> {
                 res.invalidPartitions(dhtTx.invalidPartitions());
         }
         catch (IgniteCheckedException e) {
-            if (e instanceof GridCacheTxRollbackException)
+            if (e instanceof IgniteTxRollbackException)
                 U.error(log, "Transaction was rolled back before prepare completed: " + dhtTx, e);
-            else if (e instanceof GridCacheTxOptimisticException) {
+            else if (e instanceof IgniteTxOptimisticException) {
                 if (log.isDebugEnabled())
                     log.debug("Optimistic failure for remote transaction (will rollback): " + dhtTx);
             }
@@ -733,7 +733,7 @@ public class GridCacheTxHandler<K, V> {
                 nearTx.syncRollback(req.syncRollback());
             }
         }
-        catch (GridCacheTxRollbackException e) {
+        catch (IgniteTxRollbackException e) {
             if (log.isDebugEnabled())
                 log.debug("Received finish request for completed transaction (will ignore) [req=" + req + ", err=" +
                     e.getMessage() + ']');
@@ -1044,7 +1044,7 @@ public class GridCacheTxHandler<K, V> {
                     tx = ctx.tm().onCreated(tx);
 
                     if (tx == null || !ctx.tm().onStarted(tx))
-                        throw new GridCacheTxRollbackException("Attempt to start a completed transaction: " + tx);
+                        throw new IgniteTxRollbackException("Attempt to start a completed transaction: " + tx);
                 }
             }
             else
@@ -1133,7 +1133,7 @@ public class GridCacheTxHandler<K, V> {
                             tx = ctx.tm().onCreated(tx);
 
                             if (tx == null || !ctx.tm().onStarted(tx))
-                                throw new GridCacheTxRollbackException("Failed to acquire lock " +
+                                throw new IgniteTxRollbackException("Failed to acquire lock " +
                                     "(transaction has been completed): " + req.version());
                         }
 
@@ -1273,7 +1273,7 @@ public class GridCacheTxHandler<K, V> {
                                 tx = ctx.tm().onCreated(tx);
 
                                 if (tx == null || !ctx.tm().onStarted(tx))
-                                    throw new GridCacheTxRollbackException("Failed to acquire lock " +
+                                    throw new IgniteTxRollbackException("Failed to acquire lock " +
                                         "(transaction has been completed): " + req.version());
 
                                 if (!marked)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index 837b9dd..003315b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -334,7 +334,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
     public void userPrepare() throws IgniteCheckedException {
         if (state() != PREPARING) {
             if (timedOut())
-                throw new GridCacheTxTimeoutException("Transaction timed out: " + this);
+                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
 
             IgniteTxState state = state();
 
@@ -565,7 +565,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
 
         if (state != COMMITTING) {
             if (timedOut())
-                throw new GridCacheTxTimeoutException("Transaction timed out: " + this);
+                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
 
             setRollbackOnly();
 
@@ -819,7 +819,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
                             throw ex;
                         }
                         else {
-                            IgniteCheckedException err = new GridCacheTxHeuristicException("Failed to locally write to cache " +
+                            IgniteCheckedException err = new IgniteTxHeuristicException("Failed to locally write to cache " +
                                 "(all transaction entries will be invalidated, however there was a window when " +
                                 "entries for this transaction were visible to others): " + this, ex);
 
@@ -2643,23 +2643,23 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
     protected void checkValid() throws IgniteCheckedException {
         if (isRollbackOnly()) {
             if (timedOut())
-                throw new GridCacheTxTimeoutException("Cache transaction timed out: " + this);
+                throw new IgniteTxTimeoutException("Cache transaction timed out: " + this);
 
             IgniteTxState state = state();
 
             if (state == ROLLING_BACK || state == ROLLED_BACK)
-                throw new GridCacheTxRollbackException("Cache transaction is marked as rollback-only " +
+                throw new IgniteTxRollbackException("Cache transaction is marked as rollback-only " +
                     "(will be rolled back automatically): " + this);
 
             if (state == UNKNOWN)
-                throw new GridCacheTxHeuristicException("Cache transaction is in unknown state " +
+                throw new IgniteTxHeuristicException("Cache transaction is in unknown state " +
                     "(remote transactions will be invalidated): " + this);
 
             throw new IgniteCheckedException("Cache transaction marked as rollback-only: " + this);
         }
 
         if (remainingTime() == 0 && setRollbackOnly())
-            throw new GridCacheTxTimeoutException("Cache transaction timed out " +
+            throw new IgniteTxTimeoutException("Cache transaction timed out " +
                 "(was rolled back automatically): " + this);
     }
 
@@ -2983,7 +2983,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
             if (!locked) {
                 setRollbackOnly();
 
-                final GridClosureException ex = new GridClosureException(new GridCacheTxTimeoutException("Failed to " +
+                final GridClosureException ex = new GridClosureException(new IgniteTxTimeoutException("Failed to " +
                     "acquire lock within provided timeout for transaction [timeout=" + timeout() +
                     ", tx=" + this + ']'));
 
@@ -3063,7 +3063,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
                     throw new GridClosureException(e);
 
                 if (!locked)
-                    throw new GridClosureException(new GridCacheTxTimeoutException("Failed to acquire lock " +
+                    throw new GridClosureException(new IgniteTxTimeoutException("Failed to acquire lock " +
                         "within provided timeout for transaction [timeout=" + timeout() + ", tx=" + this + ']'));
 
                 IgniteFuture<T> fut = postLock();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
index dc35d47..7645f75 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
@@ -89,7 +89,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     private GridCacheTxCommitBuffer<K, V> pessimisticRecoveryBuf;
 
     /** Transaction synchronizations. */
-    private final Collection<GridCacheTxSynchronization> syncs =
+    private final Collection<IgniteTxSynchronization> syncs =
         new GridConcurrentHashSet<>();
 
     /** Transaction finish synchronizer. */
@@ -212,7 +212,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
                         "crashed or left grid: " + CU.txString(tx));
                 }
             }
-            catch (GridCacheTxOptimisticException ignore) {
+            catch (IgniteTxOptimisticException ignore) {
                 if (log.isDebugEnabled())
                     log.debug("Optimistic failure while invalidating transaction (will rollback): " +
                         tx.xidVersion());
@@ -730,7 +730,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     public void prepareTx(GridCacheTxEx<K, V> tx) throws IgniteCheckedException {
         if (tx.state() == MARKED_ROLLBACK) {
             if (tx.timedOut())
-                throw new GridCacheTxTimeoutException("Transaction timed out: " + this);
+                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
 
             throw new IgniteCheckedException("Transaction is marked for rollback: " + tx);
         }
@@ -738,7 +738,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
         if (tx.remainingTime() == 0) {
             tx.setRollbackOnly();
 
-            throw new GridCacheTxTimeoutException("Transaction timed out: " + this);
+            throw new IgniteTxTimeoutException("Transaction timed out: " + this);
         }
 
         boolean txSerializableEnabled = cctx.txConfig().isTxSerializableEnabled();
@@ -799,7 +799,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
                     if (GridFunc.intersects(committedTx.writeSet(), readSet)) {
                         tx.setRollbackOnly();
 
-                        throw new GridCacheTxOptimisticException("Failed to prepare transaction " +
+                        throw new IgniteTxOptimisticException("Failed to prepare transaction " +
                             "(committed vs. read-set conflict): " + tx);
                     }
                 }
@@ -846,7 +846,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
 
                         tx.setRollbackOnly();
 
-                        throw new GridCacheTxOptimisticException(
+                        throw new IgniteTxOptimisticException(
                             "Failed to prepare transaction (read-set/write-set conflict): " + tx);
                     }
                 }
@@ -859,7 +859,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
         if (!lockMultiple(tx, tx.optimisticLockEntries())) {
             tx.setRollbackOnly();
 
-            throw new GridCacheTxOptimisticException("Failed to prepare transaction (lock conflict): " + tx);
+            throw new IgniteTxOptimisticException("Failed to prepare transaction (lock conflict): " + tx);
         }
     }
 
@@ -1651,7 +1651,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     /**
      * @param sync Transaction synchronizations to add.
      */
-    public void addSynchronizations(GridCacheTxSynchronization... sync) {
+    public void addSynchronizations(IgniteTxSynchronization... sync) {
         if (F.isEmpty(sync))
             return;
 
@@ -1661,7 +1661,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     /**
      * @param sync Transaction synchronizations to remove.
      */
-    public void removeSynchronizations(GridCacheTxSynchronization... sync) {
+    public void removeSynchronizations(IgniteTxSynchronization... sync) {
         if (F.isEmpty(sync))
             return;
 
@@ -1671,7 +1671,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     /**
      * @return Registered transaction synchronizations
      */
-    public Collection<GridCacheTxSynchronization> synchronizations() {
+    public Collection<IgniteTxSynchronization> synchronizations() {
         return Collections.unmodifiableList(new LinkedList<>(syncs));
     }
 
@@ -1682,7 +1682,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
      */
     public void onTxStateChange(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx) {
         // Notify synchronizations.
-        for (GridCacheTxSynchronization s : syncs)
+        for (IgniteTxSynchronization s : syncs)
             s.onStateChanged(prevState, newState, tx);
     }
 
@@ -2197,7 +2197,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
             try {
                 t.get();
             }
-            catch (GridCacheTxOptimisticException ignore) {
+            catch (IgniteTxOptimisticException ignore) {
                 if (log.isDebugEnabled())
                     log.debug("Optimistic failure while committing prepared transaction (will rollback): " +
                         tx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
index d34ad15..b121039 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
@@ -1314,7 +1314,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
                 catch (ClusterGroupEmptyException e) {
                     throw new IgniteException(e);
                 }
-                catch (GridCacheTxRollbackException | GridCachePartialUpdateException | ClusterTopologyException e) {
+                catch (IgniteTxRollbackException | GridCachePartialUpdateException | ClusterTopologyException e) {
                     if (cnt++ == MAX_UPDATE_RETRIES)
                         throw e;
                     else {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 4e628ec..decad36 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -203,7 +203,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
                                 tx = ctx.tm().onCreated(tx);
 
                                 if (tx == null || !ctx.tm().onStarted(tx))
-                                    throw new GridCacheTxRollbackException("Failed to acquire lock (transaction " +
+                                    throw new IgniteTxRollbackException("Failed to acquire lock (transaction " +
                                         "has been completed) [ver=" + req.version() + ", tx=" + tx + ']');
                             }
 
@@ -391,13 +391,13 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
                 }
             }
         }
-        catch (GridCacheTxRollbackException e) {
+        catch (IgniteTxRollbackException e) {
             String err = "Failed processing DHT lock request (transaction has been completed): " + req;
 
             U.error(log, err, e);
 
             res = new GridDhtLockResponse<>(ctx.cacheId(), req.version(), req.futureId(), req.miniId(),
-                new GridCacheTxRollbackException(err, e));
+                new IgniteTxRollbackException(err, e));
 
             fail = true;
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index 5c77413..56593f5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -155,7 +155,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
         if (err.compareAndSet(null, e)) {
             boolean marked = tx.setRollbackOnly();
 
-            if (e instanceof GridCacheTxRollbackException) {
+            if (e instanceof IgniteTxRollbackException) {
                 if (marked) {
                     try {
                         tx.rollback();
@@ -171,7 +171,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
                 try {
                     get();
                 }
-                catch (GridCacheTxHeuristicException ignore) {
+                catch (IgniteTxHeuristicException ignore) {
                     // Future should complete with GridCacheTxHeuristicException.
                 }
                 catch (IgniteCheckedException err) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
index 20985b6..19b9ccc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -295,13 +295,13 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
         if (!state(PREPARING)) {
             if (setRollbackOnly()) {
                 if (timedOut())
-                    fut.onError(new GridCacheTxTimeoutException("Transaction timed out and was rolled back: " + this));
+                    fut.onError(new IgniteTxTimeoutException("Transaction timed out and was rolled back: " + this));
                 else
                     fut.onError(new IgniteCheckedException("Invalid transaction state for prepare [state=" + state() +
                         ", tx=" + this + ']'));
             }
             else
-                fut.onError(new GridCacheTxRollbackException("Invalid transaction state for prepare [state=" + state()
+                fut.onError(new IgniteTxRollbackException("Invalid transaction state for prepare [state=" + state()
                     + ", tx=" + this + ']'));
 
             return fut;
@@ -379,14 +379,14 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
                     fut.complete();
                 if (setRollbackOnly()) {
                     if (timedOut())
-                        fut.onError(new GridCacheTxTimeoutException("Transaction timed out and was rolled back: " +
+                        fut.onError(new IgniteTxTimeoutException("Transaction timed out and was rolled back: " +
                             this));
                     else
                         fut.onError(new IgniteCheckedException("Invalid transaction state for prepare [state=" + state() +
                             ", tx=" + this + ']'));
                 }
                 else
-                    fut.onError(new GridCacheTxRollbackException("Invalid transaction state for prepare [state=" +
+                    fut.onError(new IgniteTxRollbackException("Invalid transaction state for prepare [state=" +
                         state() + ", tx=" + this + ']'));
 
                 return fut;
@@ -412,18 +412,18 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
             else
                 fut.prepare(reads, writes, txNodes);
         }
-        catch (GridCacheTxTimeoutException | GridCacheTxOptimisticException e) {
+        catch (IgniteTxTimeoutException | IgniteTxOptimisticException e) {
             fut.onError(e);
         }
         catch (IgniteCheckedException e) {
             setRollbackOnly();
 
-            fut.onError(new GridCacheTxRollbackException("Failed to prepare transaction: " + this, e));
+            fut.onError(new IgniteTxRollbackException("Failed to prepare transaction: " + this, e));
 
             try {
                 rollback();
             }
-            catch (GridCacheTxOptimisticException e1) {
+            catch (IgniteTxOptimisticException e1) {
                 if (log.isDebugEnabled())
                     log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e1 + ']');
 
@@ -463,7 +463,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
                     else
                         fut.onError(new IgniteCheckedException("Failed to commit transaction: " + CU.txString(this)));
                 }
-                catch (GridCacheTxOptimisticException e) {
+                catch (IgniteTxOptimisticException e) {
                     if (log.isDebugEnabled())
                         log.debug("Failed to optimistically prepare transaction [tx=" + this + ", e=" + e + ']');
 
@@ -487,7 +487,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
                                 fut.onError(new IgniteCheckedException("Failed to commit transaction: " +
                                     CU.txString(GridDhtTxLocal.this)));
                         }
-                        catch (GridCacheTxOptimisticException e) {
+                        catch (IgniteTxOptimisticException e) {
                             if (log.isDebugEnabled())
                                 log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e + ']');
 
@@ -510,7 +510,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
                 else
                     fut.onError(new IgniteCheckedException("Failed to commit transaction: " + CU.txString(this)));
             }
-            catch (GridCacheTxOptimisticException e) {
+            catch (IgniteTxOptimisticException e) {
                 if (log.isDebugEnabled())
                     log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e + ']');
 
@@ -548,7 +548,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
                 else
                     fut.onError(new IgniteCheckedException("Failed to commit transaction: " + CU.txString(this)));
             }
-            catch (GridCacheTxOptimisticException e) {
+            catch (IgniteTxOptimisticException e) {
                 if (log.isDebugEnabled())
                     log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e + ']');
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
index 196cc87..bdd83d5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -272,7 +272,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
                                     tx = ctx.tm().onCreated(tx);
 
                                     if (tx == null || !ctx.tm().onStarted(tx))
-                                        throw new GridCacheTxRollbackException("Failed to acquire lock " +
+                                        throw new IgniteTxRollbackException("Failed to acquire lock " +
                                             "(transaction has been completed): " + req.version());
                                 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index 949e675..7695e07 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -159,7 +159,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
         if (err.compareAndSet(null, e)) {
             boolean marked = tx.setRollbackOnly();
 
-            if (e instanceof GridCacheTxRollbackException) {
+            if (e instanceof IgniteTxRollbackException) {
                 if (marked) {
                     try {
                         tx.rollback();
@@ -210,7 +210,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
             Throwable th = this.err.get();
 
             if (super.onDone(tx, th != null ? th : err)) {
-                if (error() instanceof GridCacheTxHeuristicException) {
+                if (error() instanceof IgniteTxHeuristicException) {
                     long topVer = this.tx.topologyVersion();
 
                     for (GridCacheTxEntry<K, V> e : this.tx.writeMap().values()) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index a26b5b2..fa00c49 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -691,14 +691,14 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
             if (!state(PREPARING)) {
                 if (setRollbackOnly()) {
                     if (timedOut())
-                        pessimisticFut.onError(new GridCacheTxTimeoutException("Transaction timed out and was " +
+                        pessimisticFut.onError(new IgniteTxTimeoutException("Transaction timed out and was " +
                             "rolled back: " + this));
                     else
                         pessimisticFut.onError(new IgniteCheckedException("Invalid transaction state for prepare [state=" +
                             state() + ", tx=" + this + ']'));
                 }
                 else
-                    pessimisticFut.onError(new GridCacheTxRollbackException("Invalid transaction state for prepare " +
+                    pessimisticFut.onError(new IgniteTxRollbackException("Invalid transaction state for prepare " +
                         "[state=" + state() + ", tx=" + this + ']'));
 
                 return fut;
@@ -870,7 +870,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         if (state() != PREPARING) {
             if (timedOut())
                 return new GridFinishedFuture<>(cctx.kernalContext(),
-                    new GridCacheTxTimeoutException("Transaction timed out: " + this));
+                    new IgniteTxTimeoutException("Transaction timed out: " + this));
 
             setRollbackOnly();
 
@@ -898,18 +898,18 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
             else
                 fut.prepare(reads, writes, txNodes);
         }
-        catch (GridCacheTxTimeoutException | GridCacheTxOptimisticException e) {
+        catch (IgniteTxTimeoutException | IgniteTxOptimisticException e) {
             fut.onError(e);
         }
         catch (IgniteCheckedException e) {
             setRollbackOnly();
 
-            fut.onError(new GridCacheTxRollbackException("Failed to prepare transaction: " + this, e));
+            fut.onError(new IgniteTxRollbackException("Failed to prepare transaction: " + this, e));
 
             try {
                 rollback();
             }
-            catch (GridCacheTxOptimisticException e1) {
+            catch (IgniteTxOptimisticException e1) {
                 if (log.isDebugEnabled())
                     log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e1 + ']');
 
@@ -959,7 +959,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
                 fut.finish();
             }
-            catch (GridCacheTxOptimisticException e) {
+            catch (IgniteTxOptimisticException e) {
                 if (log.isDebugEnabled())
                     log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e + ']');
 
@@ -979,7 +979,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
                         fut.finish();
                     }
-                    catch (GridCacheTxOptimisticException e) {
+                    catch (IgniteTxOptimisticException e) {
                         if (log.isDebugEnabled())
                             log.debug("Failed optimistically to prepare transaction [tx=" + this + ", e=" + e + ']');
 
@@ -1172,7 +1172,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         void onError(Throwable e) {
             boolean marked = tx.setRollbackOnly();
 
-            if (e instanceof GridCacheTxRollbackException) {
+            if (e instanceof IgniteTxRollbackException) {
                 if (marked) {
                     try {
                         tx.rollback();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index 0724e7d..8b6a693 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -178,12 +178,12 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
         if (err.compareAndSet(null, e)) {
             boolean marked = tx.setRollbackOnly();
 
-            if (e instanceof GridCacheTxOptimisticException) {
+            if (e instanceof IgniteTxOptimisticException) {
                 assert nodeId != null : "Missing node ID for optimistic failure exception: " + e;
 
                 tx.removeKeysMapping(nodeId, mappings);
             }
-            if (e instanceof GridCacheTxRollbackException) {
+            if (e instanceof IgniteTxRollbackException) {
                 if (marked) {
                     try {
                         tx.rollback();
@@ -322,14 +322,14 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
                     if (!tx.state(PREPARING)) {
                         if (tx.setRollbackOnly()) {
                             if (tx.timedOut())
-                                onError(null, null, new GridCacheTxTimeoutException("Transaction timed out and " +
+                                onError(null, null, new IgniteTxTimeoutException("Transaction timed out and " +
                                     "was rolled back: " + this));
                             else
                                 onError(null, null, new IgniteCheckedException("Invalid transaction state for prepare " +
                                     "[state=" + tx.state() + ", tx=" + this + ']'));
                         }
                         else
-                            onError(null, null, new GridCacheTxRollbackException("Invalid transaction state for " +
+                            onError(null, null, new IgniteTxRollbackException("Invalid transaction state for " +
                                 "prepare [state=" + tx.state() + ", tx=" + this + ']'));
 
                         return;
@@ -345,7 +345,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
 
                     prepare0();
                 }
-                catch (GridCacheTxTimeoutException | GridCacheTxOptimisticException e) {
+                catch (IgniteTxTimeoutException | IgniteTxOptimisticException e) {
                     onError(cctx.localNodeId(), null, e);
                 }
                 catch (IgniteCheckedException e) {
@@ -357,7 +357,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
 
                     tx.rollbackAsync();
 
-                    onError(null, null, new GridCacheTxRollbackException(msg, e));
+                    onError(null, null, new IgniteTxRollbackException(msg, e));
                 }
             }
             else {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
index 3e6a86b..e588cba 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
@@ -144,7 +144,7 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
      * @param e Error.
      */
     @SuppressWarnings({"TypeMayBeWeakened"})
-    void onError(GridCacheTxOptimisticException e) {
+    void onError(IgniteTxOptimisticException e) {
         if (err.compareAndSet(null, e)) {
             tx.setRollbackOnly();
 
@@ -156,7 +156,7 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
      * @param e Error.
      */
     @SuppressWarnings({"TypeMayBeWeakened"})
-    void onError(GridCacheTxRollbackException e) {
+    void onError(IgniteTxRollbackException e) {
         if (err.compareAndSet(null, e)) {
             // Attempt rollback.
             if (tx.setRollbackOnly()) {
@@ -183,7 +183,7 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
                     GridCacheEntryEx<K, V> entry = txEntry.cached();
 
                     if (entry == null) {
-                        onError(new GridCacheTxRollbackException("Failed to find cache entry for " +
+                        onError(new IgniteTxRollbackException("Failed to find cache entry for " +
                             "transaction key (will rollback) [key=" + txEntry.key() + ", tx=" + tx + ']'));
 
                         break;
@@ -232,7 +232,7 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
                     GridCacheEntryEx<K,V> cached = txEntry.cached();
 
                     if (entry == null) {
-                        onError(new GridCacheTxRollbackException("Failed to find cache entry for " +
+                        onError(new IgniteTxRollbackException("Failed to find cache entry for " +
                             "transaction key (will rollback) [key=" + txEntry.key() + ", tx=" + tx + ']'));
 
                         return true;
@@ -275,17 +275,17 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
 
                 onComplete();
             }
-            catch (GridCacheTxTimeoutException e) {
+            catch (IgniteTxTimeoutException e) {
                 onError(e);
             }
             catch (IgniteCheckedException e) {
                 if (tx.state() == UNKNOWN) {
-                    onError(new GridCacheTxHeuristicException("Commit only partially succeeded " +
+                    onError(new IgniteTxHeuristicException("Commit only partially succeeded " +
                         "(entries will be invalidated on remote nodes once transaction timeout passes): " +
                         tx, e));
                 }
                 else {
-                    onError(new GridCacheTxRollbackException(
+                    onError(new IgniteTxRollbackException(
                         "Failed to commit transaction (will attempt rollback): " + tx, e));
                 }
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
index 49ec1ac..d394088 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
@@ -324,7 +324,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> {
                     throw e;
                 }
             }
-            catch (GridCacheTxOptimisticException e) {
+            catch (IgniteTxOptimisticException e) {
                 if (log.isDebugEnabled())
                     log.debug("Optimistic failure [fut=" + GridCompoundFuture.this + ", err=" + e + ']');
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
index 23979f1..81c649c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
@@ -399,7 +399,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
                     return null;
                 }
-            }, GridCacheTxHeuristicException.class, null);
+            }, IgniteTxHeuristicException.class, null);
         }
         finally {
             unlockLatch.countDown();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
index fc03465..0e084e5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
@@ -129,7 +129,7 @@ public class GridCacheVariableTopologySelfTest extends GridCommonAbstractTest {
 
                         tx.commit();
                     }
-                    catch (GridCacheTxOptimisticException e) {
+                    catch (IgniteTxOptimisticException e) {
                         info("Caught cache optimistic exception: " + e);
                     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
index c6a9c09..4fac01e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
@@ -227,7 +227,7 @@ abstract class IgniteTxAbstractTest extends GridCommonAbstractTest {
                 if (isTestDebug())
                     debug("Committed transaction [i=" + i + ", tx=" + tx + ']');
             }
-            catch (GridCacheTxOptimisticException e) {
+            catch (IgniteTxOptimisticException e) {
                 if (concurrency != OPTIMISTIC || isolation != SERIALIZABLE) {
                     error("Received invalid optimistic failure.", e);
 
@@ -352,7 +352,7 @@ abstract class IgniteTxAbstractTest extends GridCommonAbstractTest {
 
                 debug("Rolled back transaction: " + tx);
             }
-            catch (GridCacheTxOptimisticException e) {
+            catch (IgniteTxOptimisticException e) {
                 tx.rollback();
 
                 log.warning("Rolled back transaction due to optimistic exception [tx=" + tx + ", e=" + e + ']');

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
index 506a552..0be91f0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
@@ -27,7 +27,7 @@ import java.util.concurrent.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 
 /**
- * Tests that transaction is invalidated in case of {@link GridCacheTxHeuristicException}.
+ * Tests that transaction is invalidated in case of {@link IgniteTxHeuristicException}.
  */
 public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstractSelfTest {
     /** Index SPI throwing exception. */
@@ -315,7 +315,7 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
 
             fail("Transaction should fail.");
         }
-        catch (GridCacheTxHeuristicException e) {
+        catch (IgniteTxHeuristicException e) {
             log.info("Expected exception: " + e);
         }
 
@@ -390,7 +390,7 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
 
                 return null;
             }
-        }, GridCacheTxHeuristicException.class, null);
+        }, IgniteTxHeuristicException.class, null);
 
         checkEmpty(key);
     }
@@ -427,7 +427,7 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
 
                 return null;
             }
-        }, GridCacheTxHeuristicException.class, null);
+        }, IgniteTxHeuristicException.class, null);
 
         checkEmpty(key);
     }
@@ -474,7 +474,7 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
 
                 return null;
             }
-        }, GridCacheTxHeuristicException.class, null);
+        }, IgniteTxHeuristicException.class, null);
 
         for (Integer key : m.keySet())
             checkEmpty(key);
@@ -508,7 +508,7 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
 
                 return null;
             }
-        }, GridCacheTxHeuristicException.class, null);
+        }, IgniteTxHeuristicException.class, null);
 
         checkEmpty(key);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
index 421f307..cf4a7b7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
@@ -230,7 +230,7 @@ public abstract class IgniteTxMultiThreadedAbstractTest extends IgniteTxAbstract
 
                                 break;
                             }
-                            catch(GridCacheTxOptimisticException e) {
+                            catch(IgniteTxOptimisticException e) {
                                 log.info("Got error, will retry: " + e);
                             }
                         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
index 443ef33..39eb728 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
@@ -27,7 +27,7 @@ import java.util.concurrent.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 
 /**
- * Tests that transaction is invalidated in case of {@link GridCacheTxHeuristicException}.
+ * Tests that transaction is invalidated in case of {@link IgniteTxHeuristicException}.
  */
 public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAbstractSelfTest {
     /** Index SPI throwing exception. */
@@ -395,7 +395,7 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
 
                 return null;
             }
-        }, GridCacheTxRollbackException.class, null);
+        }, IgniteTxRollbackException.class, null);
 
         checkValue(key, putBefore);
     }
@@ -432,7 +432,7 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
 
                 return null;
             }
-        }, GridCacheTxRollbackException.class, null);
+        }, IgniteTxRollbackException.class, null);
 
         checkValue(key, putBefore);
     }
@@ -479,7 +479,7 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
 
                 return null;
             }
-        }, GridCacheTxRollbackException.class, null);
+        }, IgniteTxRollbackException.class, null);
 
         for (Integer key : m.keySet())
             checkValue(key, putBefore);
@@ -513,7 +513,7 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
 
                 return null;
             }
-        }, GridCacheTxRollbackException.class, null);
+        }, IgniteTxRollbackException.class, null);
 
         checkValue(key, putBefore);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
index f8d1574..941fb90 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
@@ -495,7 +495,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs
                                 try {
                                     cache.put(key, Integer.toString(key));
                                 }
-                                catch (GridCacheTxRollbackException | ClusterTopologyException ignored) {
+                                catch (IgniteTxRollbackException | ClusterTopologyException ignored) {
                                     // It is ok if primary node leaves grid.
                                 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
index dab4588..89b267f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
@@ -200,7 +200,7 @@ public abstract class GridCacheNodeFailureAbstractTest extends GridCommonAbstrac
                 checkCache.unlockAll(F.asList(KEY));
             }
         }
-        catch (GridCacheTxOptimisticException e) {
+        catch (IgniteTxOptimisticException e) {
             U.warn(log, "Optimistic transaction failure (will rollback) [msg=" + e.getMessage() + ", tx=" + tx + ']');
 
             if (G.state(g.name()) == IgniteState.STARTED)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
index 7be173d..455f009 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
@@ -137,7 +137,7 @@ public class IgniteTxTimeoutAbstractTest extends GridCommonAbstractTest {
 
             assert false : "Timeout never happened for transaction: " + tx;
         }
-        catch (GridCacheTxTimeoutException e) {
+        catch (IgniteTxTimeoutException e) {
             info("Received expected timeout exception [msg=" + e.getMessage() + ", tx=" + tx + ']');
         }
         finally {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
index 28b8dcc..72a4dce 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
@@ -256,7 +256,7 @@ public class GridCacheNearMultiGetSelfTest extends GridCommonAbstractTest {
             if (isTestDebug())
                 info("Committed transaction: " + tx);
         }
-        catch (GridCacheTxOptimisticException e) {
+        catch (IgniteTxOptimisticException e) {
             if (concurrency != OPTIMISTIC || isolation != SERIALIZABLE) {
                 error("Received invalid optimistic failure.", e);
 


[05/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
GG-9141 - Renaming.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/12b08c99
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/12b08c99
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/12b08c99

Branch: refs/heads/ignite-32
Commit: 12b08c99c92581be1f91c451edfbfb8677933c8f
Parents: 4caf233
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 17:37:09 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 17:37:10 2014 -0800

----------------------------------------------------------------------
 .../datagrid/CacheTransactionExample.java       |   6 +-
 .../datagrid/store/CacheStoreExample.java       |   2 +-
 .../store/dummy/CacheDummyPersonStore.java      |   2 +-
 .../hibernate/CacheHibernatePersonStore.java    |   2 +-
 .../store/jdbc/CacheJdbcPersonStore.java        |   2 +-
 .../org/gridgain/client/GridHashMapStore.java   |   2 +-
 .../integration/GridClientAbstractSelfTest.java |   1 +
 .../java/org/apache/ignite/IgniteCache.java     |   8 +-
 .../org/apache/ignite/IgniteTransactions.java   |   1 +
 .../java/org/apache/ignite/cache/CacheFlag.java |   3 +-
 .../configuration/IgniteConfiguration.java      |   6 +-
 .../TransactionsConfiguration.java              | 192 +++++++++++++++
 .../org/apache/ignite/lang/IgniteFuture.java    |   2 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   2 +-
 .../apache/ignite/transactions/GridCacheTx.java | 244 +++++++++++++++++++
 .../transactions/GridCacheTxConcurrency.java    |  37 +++
 .../GridCacheTxHeuristicException.java          |  43 ++++
 .../transactions/GridCacheTxIsolation.java      |  41 ++++
 .../GridCacheTxOptimisticException.java         |  39 +++
 .../GridCacheTxRollbackException.java           |  39 +++
 .../ignite/transactions/GridCacheTxState.java   |  57 +++++
 .../GridCacheTxSynchronization.java             |  38 +++
 .../GridCacheTxTimeoutException.java            |  39 +++
 .../ignite/transactions/IgniteTxMetrics.java    |  45 ++++
 .../transactions/IgniteTxMetricsAdapter.java    | 107 ++++++++
 .../java/org/gridgain/grid/cache/GridCache.java |   1 +
 .../grid/cache/GridCacheAtomicityMode.java      |   1 +
 .../grid/cache/GridCacheConfiguration.java      |   1 +
 .../org/gridgain/grid/cache/GridCacheEntry.java |   1 +
 .../org/gridgain/grid/cache/GridCacheFlag.java  |   1 +
 .../grid/cache/GridCacheProjection.java         |   1 +
 .../org/gridgain/grid/cache/GridCacheTx.java    | 243 ------------------
 .../grid/cache/GridCacheTxConcurrency.java      |  37 ---
 .../cache/GridCacheTxHeuristicException.java    |  43 ----
 .../grid/cache/GridCacheTxIsolation.java        |  41 ----
 .../cache/GridCacheTxOptimisticException.java   |  39 ---
 .../cache/GridCacheTxRollbackException.java     |  39 ---
 .../gridgain/grid/cache/GridCacheTxState.java   |  57 -----
 .../grid/cache/GridCacheTxSynchronization.java  |  37 ---
 .../grid/cache/GridCacheTxTimeoutException.java |  39 ---
 .../GridCacheWriteSynchronizationMode.java      |   1 +
 .../cache/GridTransactionsConfiguration.java    | 190 ---------------
 .../gridgain/grid/cache/IgniteTxMetrics.java    |  45 ----
 .../grid/cache/IgniteTxMetricsAdapter.java      | 107 --------
 .../store/GridCacheLoadOnlyStoreAdapter.java    |   2 +-
 .../grid/cache/store/GridCacheStore.java        |   1 +
 .../grid/cache/store/GridCacheStoreAdapter.java |   1 +
 .../store/GridCacheStoreBalancingWrapper.java   |   2 +-
 .../store/jdbc/GridCacheJdbcBlobStore.java      |   3 +-
 .../org/gridgain/grid/kernal/GridGainEx.java    |   2 +-
 .../grid/kernal/GridNodeAttributes.java         |   3 +
 .../grid/kernal/IgniteTransactionsEx.java       |   1 +
 .../processors/cache/GridCacheAdapter.java      |  11 +-
 .../processors/cache/GridCacheEventManager.java |   2 +-
 .../processors/cache/GridCacheMapEntry.java     |   2 +-
 .../cache/GridCacheMultiTxFuture.java           |   2 +-
 .../processors/cache/GridCacheProcessor.java    |  27 +-
 .../processors/cache/GridCacheProjectionEx.java |   1 +
 .../cache/GridCacheProjectionImpl.java          |   1 +
 .../processors/cache/GridCacheProxyImpl.java    |   1 +
 .../cache/GridCacheSharedContext.java           |   3 +-
 .../processors/cache/GridCacheStoreManager.java |   2 +-
 .../processors/cache/GridCacheTxAdapter.java    |   8 +-
 .../kernal/processors/cache/GridCacheTxEx.java  |   1 +
 .../processors/cache/GridCacheTxHandler.java    |   8 +-
 .../cache/GridCacheTxLocalAdapter.java          |   3 +-
 .../processors/cache/GridCacheTxManager.java    |   6 +-
 .../processors/cache/GridCacheTxProxy.java      |   2 +-
 .../processors/cache/GridCacheTxProxyImpl.java  |   2 +-
 .../kernal/processors/cache/GridCacheUtils.java |   1 +
 .../cache/GridCacheWriteBehindStore.java        |   1 +
 .../datastructures/GridCacheAtomicLongImpl.java |   5 +-
 .../GridCacheAtomicReferenceImpl.java           |   6 +-
 .../GridCacheAtomicSequenceImpl.java            |   6 +-
 .../GridCacheAtomicStampedImpl.java             |   6 +-
 .../GridCacheCountDownLatchImpl.java            |   6 +-
 .../GridCacheDataStructuresManager.java         |   6 +-
 .../GridTransactionalCacheQueueImpl.java        |   6 +-
 .../GridDistributedCacheAdapter.java            |   1 +
 .../distributed/GridDistributedLockRequest.java |   2 +-
 .../GridDistributedTxPrepareRequest.java        |   2 +-
 .../GridDistributedTxRemoteAdapter.java         |   3 +-
 .../distributed/dht/GridDhtLockFuture.java      |   1 +
 .../distributed/dht/GridDhtLockRequest.java     |   2 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   5 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |   4 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   2 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   4 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   3 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |   2 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   2 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   1 +
 .../dht/colocated/GridDhtColocatedCache.java    |   1 +
 .../colocated/GridDhtColocatedLockFuture.java   |   1 +
 .../distributed/near/GridNearAtomicCache.java   |   1 +
 .../distributed/near/GridNearGetFuture.java     |   3 +-
 .../distributed/near/GridNearLockFuture.java    |   1 +
 .../distributed/near/GridNearLockRequest.java   |   1 +
 .../near/GridNearTransactionalCache.java        |   3 +-
 .../near/GridNearTxFinishFuture.java            |   4 +-
 .../cache/distributed/near/GridNearTxLocal.java |   4 +-
 .../near/GridNearTxPrepareFuture.java           |   4 +-
 .../distributed/near/GridNearTxRemote.java      |   2 +-
 .../processors/cache/local/GridLocalCache.java  |   1 +
 .../processors/cache/local/GridLocalTx.java     |   4 +-
 .../cache/local/GridLocalTxFuture.java          |   5 +-
 .../local/atomic/GridLocalAtomicCache.java      |   1 +
 .../transactions/IgniteTransactionsImpl.java    |  11 +-
 .../dataload/GridDataLoadCacheUpdaters.java     |   5 +-
 .../processors/ggfs/GridGgfsDataManager.java    |   5 +-
 .../processors/ggfs/GridGgfsMetaManager.java    |   5 +-
 .../handlers/cache/GridCacheCommandHandler.java |   5 +-
 .../service/GridServiceProcessor.java           |   5 +-
 .../cache/VisorCacheDefaultConfiguration.java   |   1 +
 .../grid/util/future/GridCompoundFuture.java    |   2 +-
 .../store/GridCacheBalancingStoreSelfTest.java  |   2 +-
 .../cache/store/GridGeneratingTestStore.java    |   2 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |   1 +
 .../grid/kernal/GridStartStopSelfTest.java      |   5 +-
 .../GridCacheAbstractFailoverSelfTest.java      |   5 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |   8 +-
 .../GridCacheAbstractProjectionSelfTest.java    |   4 +-
 .../cache/GridCacheAbstractSelfTest.java        |   1 +
 .../cache/GridCacheAbstractTtlSelfTest.java     |   1 +
 .../cache/GridCacheAbstractTxReadTest.java      |   1 +
 .../cache/GridCacheBasicStoreAbstractTest.java  |   5 +-
 ...acheBasicStoreMultithreadedAbstractTest.java |   1 +
 .../cache/GridCacheClearAllSelfTest.java        |   1 +
 .../GridCacheConcurrentTxMultiNodeTest.java     |   6 +-
 ...idCacheConfigurationConsistencySelfTest.java |   2 +-
 .../GridCacheDaemonNodeAbstractSelfTest.java    |   5 +-
 .../cache/GridCacheDeploymentSelfTest.java      |   5 +-
 .../GridCacheExAbstractFullApiSelfTest.java     |   5 +-
 .../GridCacheFinishPartitionsSelfTest.java      |   5 +-
 .../cache/GridCacheGenericTestStore.java        |   2 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |   5 +-
 .../cache/GridCacheGroupLockPutTask.java        |   6 +-
 .../GridCacheInterceptorAbstractSelfTest.java   |   3 +-
 .../cache/GridCacheLifecycleAwareSelfTest.java  |   1 +
 .../GridCacheMarshallerTxAbstractTest.java      |   6 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |   5 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |   5 +-
 .../cache/GridCacheMvccManagerSelfTest.java     |   1 +
 .../cache/GridCacheNestedTxAbstractTest.java    |   5 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |   5 +-
 ...CacheOffHeapMultiThreadedUpdateSelfTest.java |   5 +-
 .../GridCacheOffHeapTieredAbstractSelfTest.java |   5 +-
 .../cache/GridCacheOffheapUpdateSelfTest.java   |   5 +-
 .../cache/GridCachePartitionedWritesTest.java   |   1 +
 .../GridCacheReferenceCleanupSelfTest.java      |   1 +
 .../GridCacheRefreshAheadAbstractSelfTest.java  |   1 +
 .../cache/GridCacheReloadSelfTest.java          |   1 +
 .../cache/GridCacheSlowTxWarnTest.java          |   1 +
 .../processors/cache/GridCacheStopSelfTest.java |   1 +
 .../cache/GridCacheStorePutxSelfTest.java       |   1 +
 .../cache/GridCacheSwapReloadSelfTest.java      |   1 +
 .../processors/cache/GridCacheTestStore.java    |   2 +-
 ...cheTransactionalAbstractMetricsSelfTest.java |   5 +-
 .../cache/GridCacheTxAbstractTest.java          |   6 +-
 .../GridCacheTxConcurrentGetAbstractTest.java   |   6 +-
 .../GridCacheTxExceptionAbstractSelfTest.java   |   1 +
 .../cache/GridCacheTxMultiNodeAbstractTest.java |   6 +-
 .../GridCacheTxMultiThreadedAbstractTest.java   |   6 +-
 .../GridCacheTxReentryAbstractSelfTest.java     |   5 +-
 .../GridCacheTxSingleThreadedAbstractTest.java  |   4 +-
 ...idCacheTxStoreExceptionAbstractSelfTest.java |   1 +
 .../GridCacheVariableTopologySelfTest.java      |   1 +
 .../GridCacheWriteBehindStoreAbstractTest.java  |   5 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |   5 +-
 .../GridCacheWriteBehindStoreSelfTest.java      |   2 +-
 .../GridCacheAtomicLongApiSelfTest.java         |   1 +
 .../GridCacheSequenceApiSelfAbstractTest.java   |   6 +-
 ...idCachePartitionedNodeRestartTxSelfTest.java |   5 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |   5 +-
 ...tractDistributedByteArrayValuesSelfTest.java |   5 +-
 .../GridCacheAbstractJobExecutionTest.java      |   6 +-
 .../GridCacheAbstractNodeRestartSelfTest.java   |   5 +-
 ...tractPartitionedByteArrayValuesSelfTest.java |   2 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |   5 +-
 .../GridCacheBasicOpAbstractTest.java           |   6 +-
 .../GridCacheEntrySetAbstractSelfTest.java      |   5 +-
 .../distributed/GridCacheEventAbstractTest.java |   5 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |   1 +
 .../GridCacheNodeFailureAbstractTest.java       |   6 +-
 ...chePartitionedReloadAllAbstractSelfTest.java |   1 +
 .../GridCacheTransformEventSelfTest.java        |   8 +-
 ...cheTxConsistencyRestartAbstractSelfTest.java |   5 +-
 ...xOriginatingNodeFailureAbstractSelfTest.java |   2 +-
 ...cOriginatingNodeFailureAbstractSelfTest.java |   3 +-
 .../GridCacheTxPreloadAbstractTest.java         |   3 +-
 .../GridCacheTxTimeoutAbstractTest.java         |   6 +-
 ...heAbstractTransformWriteThroughSelfTest.java |   5 +-
 .../dht/GridCacheColocatedDebugTest.java        |   6 +-
 ...eColocatedOptimisticTransactionSelfTest.java |   5 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |   1 +
 ...cheGroupLockPartitionedAbstractSelfTest.java |   5 +-
 ...ockPartitionedMultiNodeAbstractSelfTest.java |   5 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   6 +-
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |   5 +-
 .../near/GridCacheGetStoreErrorSelfTest.java    |   1 +
 .../near/GridCacheNearMultiGetSelfTest.java     |   6 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |   5 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |   5 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |   5 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |   5 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |   5 +-
 .../GridCachePartitionedEvictionSelfTest.java   |   5 +-
 ...GridCachePartitionedFilteredPutSelfTest.java |   1 +
 .../GridCachePartitionedLoadCacheSelfTest.java  |   1 +
 ...achePartitionedMultiNodeCounterSelfTest.java |   6 +-
 ...ePartitionedMultiThreadedPutGetSelfTest.java |   5 +-
 .../GridCachePartitionedNodeRestartTest.java    |   2 +-
 ...ePartitionedOptimisticTxNodeRestartTest.java |   3 +-
 ...achePartitionedPreloadLifecycleSelfTest.java |   2 +-
 .../GridCachePartitionedStorePutSelfTest.java   |   1 +
 .../GridCachePartitionedTxSalvageSelfTest.java  |   5 +-
 .../GridCachePartitionedTxTimeoutSelfTest.java  |   2 +-
 .../near/GridPartitionedBackupLoadSelfTest.java |   1 +
 .../GridCacheReplicatedInvalidateSelfTest.java  |   6 +-
 ...dCacheReplicatedTxMultiThreadedSelfTest.java |   2 +-
 ...CacheReplicatedPreloadLifecycleSelfTest.java |   5 +-
 .../GridCacheBatchEvictUnswapSelfTest.java      |   2 +-
 ...heConcurrentEvictionConsistencySelfTest.java |   5 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |   4 +-
 .../GridCacheDistributedEvictionsSelfTest.java  |   6 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |   5 +-
 .../eviction/GridCacheEvictionAbstractTest.java |   5 +-
 .../GridCacheEvictionTouchSelfTest.java         |   7 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |   5 +-
 .../local/GridCacheLocalLoadAllSelfTest.java    |   2 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |   6 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |   1 +
 .../processors/ggfs/GridGgfsSizeSelfTest.java   |   5 +-
 .../cache/GridCacheAbstractLoadTest.java        |   2 +-
 ...ridCacheAffinityTransactionsOffHeapTest.java |   6 +-
 .../cache/GridCacheGroupLockComparisonTest.java |   5 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |   1 +
 .../colocation/GridTestCacheStore.java          |   2 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |   5 +-
 .../gridgain/loadtests/dsi/GridDsiPerfJob.java  |   2 +-
 .../swap/GridSwapEvictAllBenchmark.java         |   2 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |   2 +-
 .../bamboo/GridDataGridRestartTestSuite.java    |   4 -
 .../GridHibernateReadWriteAccessStrategy.java   |   6 +-
 .../hibernate/GridHibernateRegionFactory.java   |  15 +-
 .../hibernate/GridCacheHibernateBlobStore.java  |   3 +-
 .../cache/GridCacheAbstractQuerySelfTest.java   |   2 +-
 .../cache/GridCacheQueryLoadSelfTest.java       |   1 +
 ...idCachePartitionedHitsAndMissesSelfTest.java |   4 +-
 .../GridCacheReplicatedQuerySelfTest.java       |   2 +-
 .../cache/jta/GridCacheJtaManager.java          |   4 +-
 .../cache/jta/GridCacheXAResource.java          |   5 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |   3 +-
 .../cache/websession/GridWebSessionFilter.java  |   6 +-
 254 files changed, 1401 insertions(+), 1262 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java b/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
index f6d4cc7..3986ecb 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
@@ -10,14 +10,14 @@
 package org.gridgain.examples.datagrid;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 
 import java.io.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Demonstrates how to use cache transactions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
index f33b463..7e434f4 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
@@ -11,7 +11,7 @@ package org.gridgain.examples.datagrid.store;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
index 8706873..4a18c2a 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
@@ -12,8 +12,8 @@ package org.gridgain.examples.datagrid.store.dummy;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.examples.datagrid.store.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
index b08a7a5..ffd1f1f 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
@@ -11,8 +11,8 @@ package org.gridgain.examples.datagrid.store.hibernate;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.examples.datagrid.store.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.hibernate.*;
 import org.hibernate.cfg.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
index eb52a61..69a9063 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
@@ -11,8 +11,8 @@ package org.gridgain.examples.datagrid.store.jdbc;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.examples.datagrid.store.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java b/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
index 3e2bc44..86f9671 100644
--- a/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
+++ b/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
@@ -11,7 +11,7 @@ package org.gridgain.client;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
index f10b9d5..f985c7b 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
@@ -19,6 +19,7 @@ import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.spi.swapspace.file.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.client.*;
 import org.gridgain.client.ssl.*;
 import org.gridgain.grid.cache.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index 3123221..0f7bef7 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -12,7 +12,7 @@ package org.apache.ignite;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.query.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.jetbrains.annotations.*;
 
 import javax.cache.*;
@@ -118,14 +118,14 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link org.gridgain.grid.cache.store.GridCacheStore#load(org.gridgain.grid.cache.GridCacheTx, Object)} method will be used.
+     * storage, {@link org.gridgain.grid.cache.store.GridCacheStore#load(GridCacheTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #putIfAbsent(Object, Object)} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link org.gridgain.grid.cache.store.GridCacheStore}
-     * via {@link org.gridgain.grid.cache.store.GridCacheStore#put(org.gridgain.grid.cache.GridCacheTx, Object, Object)} method.
+     * via {@link org.gridgain.grid.cache.store.GridCacheStore#put(GridCacheTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -153,7 +153,7 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
      * other concurrent transactional updates.
      * <p>
      * If write-through is enabled, the values will be removed from {@link org.gridgain.grid.cache.store.GridCacheStore}
-     * via {@link org.gridgain.grid.cache.store.GridCacheStore#removeAll(org.gridgain.grid.cache.GridCacheTx, java.util.Collection)} method.
+     * via {@link org.gridgain.grid.cache.store.GridCacheStore#removeAll(GridCacheTx, java.util.Collection)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
index 783dab4..837255d 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
@@ -10,6 +10,7 @@
 package org.apache.ignite;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
index 4e89e6d..4ddbceb 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
@@ -9,6 +9,7 @@
 
 package org.apache.ignite.cache;
 
+import org.apache.ignite.transactions.*;
 import org.jetbrains.annotations.*;
 
 /**
@@ -35,7 +36,7 @@ public enum CacheFlag {
      * Instead of updating remote entries with new values, small invalidation
      * messages will be sent to set the values to {@code null}.
      *
-     * @see org.gridgain.grid.cache.GridCacheTx#isInvalidate()
+     * @see GridCacheTx#isInvalidate()
      * @see org.gridgain.grid.cache.GridCacheConfiguration#isInvalidate()
      */
     INVALIDATE,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 895bdb7..5bc33e6 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -379,7 +379,7 @@ public class IgniteConfiguration {
     private GridCacheConfiguration[] cacheCfg;
 
     /** Transactions configuration. */
-    private GridTransactionsConfiguration txCfg = new GridTransactionsConfiguration();
+    private TransactionsConfiguration txCfg = new TransactionsConfiguration();
 
     /** Configuration for .Net nodes. */
     private GridDotNetConfiguration dotNetCfg;
@@ -3130,7 +3130,7 @@ public class IgniteConfiguration {
      *
      * @return Transactions configuration.
      */
-    public GridTransactionsConfiguration getTransactionsConfiguration() {
+    public TransactionsConfiguration getTransactionsConfiguration() {
         return txCfg;
     }
 
@@ -3139,7 +3139,7 @@ public class IgniteConfiguration {
      *
      * @param txCfg Transactions configuration.
      */
-    public void setTransactionsConfiguration(GridTransactionsConfiguration txCfg) {
+    public void setTransactionsConfiguration(TransactionsConfiguration txCfg) {
         this.txCfg = txCfg;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
new file mode 100644
index 0000000..0ae9250
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
@@ -0,0 +1,192 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.configuration;
+
+import org.apache.ignite.transactions.*;
+
+/**
+ * Transactions configuration.
+ */
+public class TransactionsConfiguration {
+    /** Default value for 'txSerializableEnabled' flag. */
+    public static final boolean DFLT_TX_SERIALIZABLE_ENABLED = false;
+
+    /** Default concurrency mode. */
+    public static final GridCacheTxConcurrency DFLT_TX_CONCURRENCY = GridCacheTxConcurrency.PESSIMISTIC;
+
+    /** Default transaction isolation level. */
+    public static final GridCacheTxIsolation DFLT_TX_ISOLATION = GridCacheTxIsolation.REPEATABLE_READ;
+
+    /** Default transaction timeout. */
+    public static final long DFLT_TRANSACTION_TIMEOUT = 0;
+
+    /** Default size of pessimistic transactions log. */
+    public static final int DFLT_PESSIMISTIC_TX_LOG_LINGER = 10_000;
+
+    /** Default transaction serializable flag. */
+    private boolean txSerEnabled = DFLT_TX_SERIALIZABLE_ENABLED;
+
+    /** Transaction isolation. */
+    private GridCacheTxIsolation dfltIsolation = DFLT_TX_ISOLATION;
+
+    /** Cache concurrency. */
+    private GridCacheTxConcurrency dfltConcurrency = DFLT_TX_CONCURRENCY;
+
+    /** Default transaction timeout. */
+    private long dfltTxTimeout = DFLT_TRANSACTION_TIMEOUT;
+
+    /** Pessimistic tx log size. */
+    private int pessimisticTxLogSize;
+
+    /** Pessimistic tx log linger. */
+    private int pessimisticTxLogLinger = DFLT_PESSIMISTIC_TX_LOG_LINGER;
+
+    /**
+     * Empty constructor.
+     */
+    public TransactionsConfiguration() {
+        // No-op.
+    }
+
+    /**
+     * @param cfg Configuration to copy.
+     */
+    public TransactionsConfiguration(TransactionsConfiguration cfg) {
+        dfltConcurrency = cfg.getDefaultTxConcurrency();
+        dfltIsolation = cfg.getDefaultTxIsolation();
+        dfltTxTimeout = cfg.getDefaultTxTimeout();
+        pessimisticTxLogLinger = cfg.getPessimisticTxLogLinger();
+        pessimisticTxLogSize = cfg.getPessimisticTxLogSize();
+        txSerEnabled = cfg.isTxSerializableEnabled();
+    }
+
+    /**
+     * Gets flag to enable/disable {@link GridCacheTxIsolation#SERIALIZABLE} isolation
+     * level for cache transactions. Serializable level does carry certain overhead and
+     * if not used, should be disabled. Default value is {@code false}.
+     *
+     * @return {@code True} if serializable transactions are enabled, {@code false} otherwise.
+     */
+    public boolean isTxSerializableEnabled() {
+        return txSerEnabled;
+    }
+
+    /**
+     * Enables/disables serializable cache transactions. See {@link #isTxSerializableEnabled()} for more information.
+     *
+     * @param txSerEnabled Flag to enable/disable serializable cache transactions.
+     */
+    public void setTxSerializableEnabled(boolean txSerEnabled) {
+        this.txSerEnabled = txSerEnabled;
+    }
+
+    /**
+     * Default cache transaction concurrency to use when one is not explicitly
+     * specified. Default value is defined by {@link #DFLT_TX_CONCURRENCY}.
+     *
+     * @return Default cache transaction concurrency.
+     * @see GridCacheTx
+     */
+    public GridCacheTxConcurrency getDefaultTxConcurrency() {
+        return dfltConcurrency;
+    }
+
+    /**
+     * Sets default transaction concurrency.
+     *
+     * @param dfltConcurrency Default cache transaction concurrency.
+     */
+    public void setDefaultTxConcurrency(GridCacheTxConcurrency dfltConcurrency) {
+        this.dfltConcurrency = dfltConcurrency;
+    }
+
+    /**
+     * Default cache transaction isolation to use when one is not explicitly
+     * specified. Default value is defined by {@link #DFLT_TX_ISOLATION}.
+     *
+     * @return Default cache transaction isolation.
+     * @see GridCacheTx
+     */
+    public GridCacheTxIsolation getDefaultTxIsolation() {
+        return dfltIsolation;
+    }
+
+    /**
+     * Sets default transaction isolation.
+     *
+     * @param dfltIsolation Default cache transaction isolation.
+     */
+    public void setDefaultTxIsolation(GridCacheTxIsolation dfltIsolation) {
+        this.dfltIsolation = dfltIsolation;
+    }
+
+    /**
+     * Gets default transaction timeout. Default value is defined by {@link #DFLT_TRANSACTION_TIMEOUT}
+     * which is {@code 0} and means that transactions will never time out.
+     *
+     * @return Default transaction timeout.
+     */
+    public long getDefaultTxTimeout() {
+        return dfltTxTimeout;
+    }
+
+    /**
+     * Sets default transaction timeout in milliseconds. By default this value is defined by {@link
+     * #DFLT_TRANSACTION_TIMEOUT}.
+     *
+     * @param dfltTxTimeout Default transaction timeout.
+     */
+    public void setDefaultTxTimeout(long dfltTxTimeout) {
+        this.dfltTxTimeout = dfltTxTimeout;
+    }
+
+    /**
+     * Gets size of pessimistic transactions log stored on node in order to recover transaction commit if originating
+     * node has left grid before it has sent all messages to transaction nodes.
+     * <p>
+     * If not set, default value is {@code 0} which means unlimited log size.
+     *
+     * @return Pessimistic transaction log size.
+     */
+    public int getPessimisticTxLogSize() {
+        return pessimisticTxLogSize;
+    }
+
+    /**
+     * Sets pessimistic transactions log size.
+     *
+     * @param pessimisticTxLogSize Pessimistic transactions log size.
+     * @see #getPessimisticTxLogSize()
+     */
+    public void setPessimisticTxLogSize(int pessimisticTxLogSize) {
+        this.pessimisticTxLogSize = pessimisticTxLogSize;
+    }
+
+    /**
+     * Gets delay, in milliseconds, after which pessimistic recovery entries will be cleaned up for failed node.
+     * <p>
+     * If not set, default value is {@link #DFLT_PESSIMISTIC_TX_LOG_LINGER}.
+     *
+     * @return Pessimistic log cleanup delay in milliseconds.
+     */
+    public int getPessimisticTxLogLinger() {
+        return pessimisticTxLogLinger;
+    }
+
+    /**
+     * Sets cleanup delay for pessimistic transaction recovery log for failed node, in milliseconds.
+     *
+     * @param pessimisticTxLogLinger Pessimistic log cleanup delay.
+     * @see #getPessimisticTxLogLinger()
+     */
+    public void setPessimisticTxLogLinger(int pessimisticTxLogLinger) {
+        this.pessimisticTxLogLinger = pessimisticTxLogLinger;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
index f478377..335d944 100644
--- a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
@@ -27,7 +27,7 @@ public interface IgniteFuture<R> {
      * returns computation result.
      *
      * @return Computation result.
-     * @throws org.gridgain.grid.GridInterruptedException Subclass of {@link IgniteCheckedException} thrown if the wait was interrupted.
+     * @throws GridInterruptedException Subclass of {@link IgniteCheckedException} thrown if the wait was interrupted.
      * @throws IgniteFutureCancelledException Subclass of {@link IgniteCheckedException} throws if computation was cancelled.
      * @throws IgniteCheckedException If computation failed.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 9ba7c45..c80617e 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -163,7 +163,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
     public static final int DFLT_PORT = 47100;
 
     /** Default port which node sets listener for shared memory connections (value is <tt>48100</tt>). */
-    public static final int DFLT_SHMEM_PORT = 48100;
+    public static final int DFLT_SHMEM_PORT = -1;
 
     /** Default idle connection timeout (value is <tt>30000</tt>ms). */
     public static final long DFLT_IDLE_CONN_TIMEOUT = 30000;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java
new file mode 100644
index 0000000..9a8341f
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java
@@ -0,0 +1,244 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.cache.*;
+
+import java.util.*;
+
+/**
+ * Grid cache transaction. Cache transactions have a default 2PC (two-phase-commit) behavior and
+ * can be plugged into ongoing {@code JTA} transaction by properly implementing
+ * {@gglink org.gridgain.grid.cache.jta.GridCacheTmLookup}
+ * interface. Cache transactions can also be started explicitly directly from {@link GridCacheProjection} API
+ * via any of the {@code 'GridCacheProjection.txStart(..)'} methods.
+ * <p>
+ * Cache transactions support the following isolation levels:
+ * <ul>
+ * <li>
+ *  {@link GridCacheTxIsolation#READ_COMMITTED} isolation level means that always a committed value
+ *  will be provided for read operations. With this isolation level values are always read
+ *  from cache global memory or persistent store every time a value is accessed. In other words,
+ *  if the same key is accessed more than once within the same transaction, it may have different
+ *  value every time since global cache memory may be updated concurrently by other threads.
+ * </li>
+ * <li>
+ *  {@link GridCacheTxIsolation#REPEATABLE_READ} isolation level means that if a value was read once
+ *  within transaction, then all consecutive reads will provide the same in-transaction value. With
+ *  this isolation level accessed values are stored within in-transaction memory, so consecutive access
+ *  to the same key within the same transaction will always return the value that was previously read or
+ *  updated within this transaction. If concurrency is {@link GridCacheTxConcurrency#PESSIMISTIC}, then a lock
+ *  on the key will be acquired prior to accessing the value.
+ * </li>
+ * <li>
+ *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level means that all transactions occur in a completely
+ *  isolated fashion, as if all transactions in the system had executed serially, one after the other.
+ *  Read access with this level happens the same way as with {@link GridCacheTxIsolation#REPEATABLE_READ} level.
+ *  However, in {@link GridCacheTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
+ *  from each other, then one winner will be picked and the other transactions in conflict will result in
+ * {@link GridCacheTxOptimisticException} being thrown.
+ * </li>
+ * </ul>
+ * <p>
+ * Cache transactions support the following concurrency models:
+ * <ul>
+ * <li>
+ *  {@link GridCacheTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
+ *  nodes until {@link #commit()} or {@link #commitAsync()} are called. In this mode one {@code 'PREPARE'}
+ *  message will be sent to participating cache nodes to start acquiring per-transaction locks, and once
+ *  all nodes reply {@code 'OK'} (i.e. {@code Phase 1} completes successfully), a one-way' {@code 'COMMIT'}
+ *  message is sent without waiting for reply. If it is necessary to know whenever remote nodes have committed
+ *  as well, synchronous commit or synchronous rollback should be enabled via
+ *  {@link GridCacheConfiguration#setWriteSynchronizationMode}
+ *  or by setting proper flags on cache projection, such as {@link GridCacheFlag#SYNC_COMMIT}.
+ *  <p>
+ *  Note that in this mode, optimistic failures are only possible in conjunction with
+ *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level. In all other cases, optimistic
+ *  transactions will never fail optimistically and will always be identically ordered on all participating
+ *  grid nodes.
+ * </li>
+ * <li>
+ *  {@link GridCacheTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
+ *  with exception of read operations in {@link GridCacheTxIsolation#READ_COMMITTED} mode. All optional filters
+ *  passed into cache operations will be evaluated after successful lock acquisition. Whenever
+ *  {@link #commit()} or {@link #commitAsync()} is called, a single one-way {@code 'COMMIT'} message
+ *  is sent to participating cache nodes without waiting for reply. Note that there is no reason for
+ *  distributed 'PREPARE' step, as all locks have been already acquired. Just like with optimistic mode,
+ *  it is possible to configure synchronous commit or rollback and wait till transaction commits on
+ *  all participating remote nodes.
+ * </li>
+ * </ul>
+ * <p>
+ * <h1 class="header">Cache Atomicity Mode</h1>
+ * In addition to standard {@link GridCacheAtomicityMode#TRANSACTIONAL} behavior, GridGain also supports
+ * a lighter {@link GridCacheAtomicityMode#ATOMIC} mode as well. In this mode distributed transactions
+ * and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher
+ * performance and throughput ratios. It is recommended that {@link GridCacheAtomicityMode#ATOMIC} mode
+ * is used whenever full {@code ACID}-compliant transactions are not needed.
+ * <p>
+ * <h1 class="header">Usage</h1>
+ * You can use cache transactions as follows:
+ * <pre name="code" class="java">
+ * GridCache&lt;String, Integer&gt; cache = GridGain.grid().cache();
+ *
+ * try (GridCacheTx tx = cache.txStart()) {
+ *     // Perform transactional operations.
+ *     Integer v1 = cache.get("k1");
+ *
+ *     // Check if v1 satisfies some condition before doing a put.
+ *     if (v1 != null && v1 > 0)
+ *         cache.putx("k1", 2);
+ *
+ *     cache.removex("k2");
+ *
+ *     // Commit the transaction.
+ *     tx.commit();
+ * }
+ * </pre>
+ */
+public interface GridCacheTx extends GridMetadataAware, AutoCloseable {
+    /**
+     * Gets unique identifier for this transaction.
+     *
+     * @return Transaction UID.
+     */
+    public IgniteUuid xid();
+
+    /**
+     * ID of the node on which this transaction started.
+     *
+     * @return Originating node ID.
+     */
+    public UUID nodeId();
+
+    /**
+     * ID of the thread in which this transaction started.
+     *
+     * @return Thread ID.
+     */
+    public long threadId();
+
+    /**
+     * Start time of this transaction.
+     *
+     * @return Start time of this transaction on this node.
+     */
+    public long startTime();
+
+    /**
+     * Cache transaction isolation level.
+     *
+     * @return Isolation level.
+     */
+    public GridCacheTxIsolation isolation();
+
+    /**
+     * Cache transaction concurrency mode.
+     *
+     * @return Concurrency mode.
+     */
+    public GridCacheTxConcurrency concurrency();
+
+    /**
+     * Flag indicating whether transaction was started automatically by the
+     * system or not. System will start transactions implicitly whenever
+     * any cache {@code put(..)} or {@code remove(..)} operation is invoked
+     * outside of transaction.
+     *
+     * @return {@code True} if transaction was started implicitly.
+     */
+    public boolean implicit();
+
+    /**
+     * Get invalidation flag for this transaction. If set to {@code true}, then
+     * remote values will be {@code invalidated} (set to {@code null}) instead
+     * of updated.
+     * <p>
+     * Invalidation messages don't carry new values, so they are a lot lighter
+     * than update messages. However, when a value is accessed on a node after
+     * it's been invalidated, it must be loaded from persistent store.
+     *
+     * @return Invalidation flag.
+     */
+    public boolean isInvalidate();
+
+    /**
+     * Gets current transaction state value.
+     *
+     * @return Current transaction state.
+     */
+    public GridCacheTxState state();
+
+    /**
+     * Gets timeout value in milliseconds for this transaction. If transaction times
+     * out prior to it's completion, {@link GridCacheTxTimeoutException} will be thrown.
+     *
+     * @return Transaction timeout value.
+     */
+    public long timeout();
+
+    /**
+     * Sets transaction timeout value. This value can be set only before a first operation
+     * on transaction has been performed.
+     *
+     * @param timeout Transaction timeout value.
+     * @return Previous timeout.
+     */
+    public long timeout(long timeout);
+
+    /**
+     * Modify the transaction associated with the current thread such that the
+     * only possible outcome of the transaction is to roll back the
+     * transaction.
+     *
+     * @return {@code True} if rollback-only flag was set as a result of this operation,
+     *      {@code false} if it was already set prior to this call or could not be set
+     *      because transaction is already finishing up committing or rolling back.
+     */
+    public boolean setRollbackOnly();
+
+    /**
+     * If transaction was marked as rollback-only.
+     *
+     * @return {@code True} if transaction can only be rolled back.
+     */
+    public boolean isRollbackOnly();
+
+    /**
+     * Commits this transaction by initiating {@code two-phase-commit} process.
+     *
+     * @throws IgniteCheckedException If commit failed.
+     */
+    public void commit() throws IgniteCheckedException;
+
+    /**
+     * Ends the transaction. Transaction will be rolled back if it has not been committed.
+     *
+     * @throws IgniteCheckedException If transaction could not be gracefully ended.
+     */
+    @Override public void close() throws IgniteCheckedException;
+
+    /**
+     * Asynchronously commits this transaction by initiating {@code two-phase-commit} process.
+     *
+     * @return Future for commit operation.
+     */
+    public IgniteFuture<GridCacheTx> commitAsync();
+
+    /**
+     * Rolls back this transaction.
+     *
+     * @throws IgniteCheckedException If rollback failed.
+     */
+    public void rollback() throws IgniteCheckedException;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
new file mode 100644
index 0000000..4f723d9
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
@@ -0,0 +1,37 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Transaction concurrency control. See {@link GridCacheTx} for more information
+ * on transaction concurrency controls.
+ */
+public enum GridCacheTxConcurrency {
+    /** Optimistic concurrency control. */
+    OPTIMISTIC,
+
+    /** Pessimistic concurrency control. */
+    PESSIMISTIC;
+
+    /** Enum values. */
+    private static final GridCacheTxConcurrency[] VALS = values();
+
+    /**
+     * Efficiently gets enumerated value from its ordinal.
+     *
+     * @param ord Ordinal value.
+     * @return Enumerated value or {@code null} if ordinal out of range.
+     */
+    @Nullable public static GridCacheTxConcurrency fromOrdinal(int ord) {
+        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java
new file mode 100644
index 0000000..1813d72
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxHeuristicException.java
@@ -0,0 +1,43 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transaction enters an unknown state.
+ * This exception is usually thrown whenever commit partially succeeds.
+ * Cache will still resolve this situation automatically to ensure data
+ * integrity, by invalidating all values participating in this transaction
+ * on remote nodes.
+ */
+public class GridCacheTxHeuristicException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new heuristic exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public GridCacheTxHeuristicException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new heuristic exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public GridCacheTxHeuristicException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
new file mode 100644
index 0000000..3894a63
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
@@ -0,0 +1,41 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.jetbrains.annotations.*;
+
+/**
+ * Defines different cache transaction isolation levels. See {@link GridCacheTx}
+ * documentation for more information about cache transaction isolation levels.
+ */
+public enum GridCacheTxIsolation {
+    /** Read committed isolation level. */
+    READ_COMMITTED,
+
+    /** Repeatable read isolation level. */
+    REPEATABLE_READ,
+
+    /** Serializable isolation level. */
+    SERIALIZABLE;
+
+    /** Enum values. */
+    private static final GridCacheTxIsolation[] VALS = values();
+
+    /**
+     * Efficiently gets enumerated value from its ordinal.
+     *
+     * @param ord Ordinal value.
+     * @return Enumerated value or {@code null} if ordinal out of range.
+     */
+    @Nullable
+    public static GridCacheTxIsolation fromOrdinal(int ord) {
+        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java
new file mode 100644
index 0000000..0799ff4
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxOptimisticException.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transactions fail optimistically.
+ */
+public class GridCacheTxOptimisticException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new optimistic exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public GridCacheTxOptimisticException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new optimistic exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public GridCacheTxOptimisticException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java
new file mode 100644
index 0000000..6823c03
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxRollbackException.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transactions has been automatically rolled back.
+ */
+public class GridCacheTxRollbackException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new rollback exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public GridCacheTxRollbackException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new rollback exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public GridCacheTxRollbackException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java
new file mode 100644
index 0000000..591acb5
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java
@@ -0,0 +1,57 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.jetbrains.annotations.*;
+
+/**
+ * Cache transaction state.
+ */
+public enum GridCacheTxState {
+    /** Transaction started. */
+    ACTIVE,
+
+    /** Transaction validating. */
+    PREPARING,
+
+    /** Transaction validation succeeded. */
+    PREPARED,
+
+    /** Transaction is marked for rollback. */
+    MARKED_ROLLBACK,
+
+    /** Transaction commit started (validating finished). */
+    COMMITTING,
+
+    /** Transaction commit succeeded. */
+    COMMITTED,
+
+    /** Transaction rollback started (validation failed). */
+    ROLLING_BACK,
+
+    /** Transaction rollback succeeded. */
+    ROLLED_BACK,
+
+    /** Transaction rollback failed or is otherwise unknown state. */
+    UNKNOWN;
+
+    /** Enumerated values. */
+    private static final GridCacheTxState[] VALS = values();
+
+    /**
+     * Efficiently gets enumerated value from its ordinal.
+     *
+     * @param ord Ordinal value.
+     * @return Enumerated value or {@code null} if ordinal out of range.
+     */
+    @Nullable public static GridCacheTxState fromOrdinal(int ord) {
+        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
new file mode 100644
index 0000000..d88714c
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
@@ -0,0 +1,38 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.gridgain.grid.cache.*;
+import org.jetbrains.annotations.*;
+
+/**
+ * Synchronization callback for transaction. You can subscribe to receive transaction
+ * state change callbacks by registering transaction synchronization via
+ * {@link GridCache#txSynchronize(GridCacheTxSynchronization)} method.
+ */
+public interface GridCacheTxSynchronization {
+    /**
+     * State change callback for transaction. Note that unless transaction has been
+     * completed, it is possible to mark it for <tt>rollbackOnly</tt> by calling
+     * {@link GridCacheTx#setRollbackOnly()} on the passed in transaction.
+     * You can check the return value of {@link GridCacheTx#setRollbackOnly() setRollbackOnly()}
+     * method to see if transaction was indeed marked for rollback or not.
+     *
+     * @param prevState Previous state of the transaction. If transaction has just been
+     *      started, then previous state is {@code null}.
+     * @param newState New state of the transaction. In majority of the cases this will be the
+     *      same as {@link GridCacheTx#state() tx.state()}, but it is also possible
+     *      that transaction may be marked for rollback concurrently with this method
+     *      invocation, and in that case <tt>newState</tt> reflects the actual state of the
+     *      transition this callback is associated with.
+     * @param tx Transaction whose state has changed.
+     */
+    public void onStateChanged(@Nullable GridCacheTxState prevState, GridCacheTxState newState, GridCacheTx tx);
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java
new file mode 100644
index 0000000..63828c8
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxTimeoutException.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+
+/**
+ * Exception thrown whenever grid transactions time out.
+ */
+public class GridCacheTxTimeoutException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new timeout exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public GridCacheTxTimeoutException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new timeout exception with given error message and optional nested exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be <tt>null</tt>).
+     */
+    public GridCacheTxTimeoutException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetrics.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetrics.java
new file mode 100644
index 0000000..3b614fd
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetrics.java
@@ -0,0 +1,45 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import java.io.*;
+
+/**
+ * Transaction metrics, shared across all caches.
+ */
+public interface IgniteTxMetrics extends Serializable {
+    /**
+     * Gets last time transaction was committed.
+     *
+     * @return Last commit time.
+     */
+    public long commitTime();
+
+    /**
+     * Gets last time transaction was rollback.
+     *
+     * @return Last rollback time.
+     */
+    public long rollbackTime();
+
+    /**
+     * Gets total number of transaction commits.
+     *
+     * @return Number of transaction commits.
+     */
+    public int txCommits();
+
+    /**
+     * Gets total number of transaction rollbacks.
+     *
+     * @return Number of transaction rollbacks.
+     */
+    public int txRollbacks();
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java
new file mode 100644
index 0000000..9bc084a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java
@@ -0,0 +1,107 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Tx metrics adapter.
+ */
+public class IgniteTxMetricsAdapter implements IgniteTxMetrics, Externalizable {
+    /** Number of transaction commits. */
+    private volatile int txCommits;
+
+    /** Number of transaction rollbacks. */
+    private volatile int txRollbacks;
+
+    /** Last commit time. */
+    private volatile long commitTime;
+
+    /** Last rollback time. */
+    private volatile long rollbackTime;
+
+    /**
+     *
+     */
+    public IgniteTxMetricsAdapter() {
+
+    }
+
+    /**
+     * @param m Transaction metrics to copy.
+     */
+    public IgniteTxMetricsAdapter(IgniteTxMetrics m) {
+        commitTime = m.commitTime();
+        rollbackTime = m.rollbackTime();
+        txCommits = m.txCommits();
+        txRollbacks = m.txRollbacks();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long commitTime() {
+        return commitTime;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long rollbackTime() {
+        return rollbackTime;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int txCommits() {
+        return txCommits;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int txRollbacks() {
+        return txRollbacks;
+    }
+
+    /**
+     * Transaction commit callback.
+     */
+    public void onTxCommit() {
+        commitTime = U.currentTimeMillis();
+
+        txCommits++;
+    }
+
+    /**
+     * Transaction rollback callback.
+     */
+    public void onTxRollback() {
+        rollbackTime = U.currentTimeMillis();
+
+        txRollbacks++;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeLong(commitTime);
+        out.writeLong(rollbackTime);
+        out.writeInt(txCommits);
+        out.writeInt(txRollbacks);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        commitTime = in.readLong();
+        rollbackTime = in.readLong();
+        txCommits = in.readInt();
+        txRollbacks = in.readInt();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteTxMetricsAdapter.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
index 3af8e94..49bee3d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.cache.datastructures.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
index 674fdcc..2156adb 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
@@ -9,6 +9,7 @@
 
 package org.gridgain.grid.cache;
 
+import org.apache.ignite.transactions.*;
 import org.jetbrains.annotations.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
index dff9bdc..eda8846 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
@@ -13,6 +13,7 @@ import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.portables.PortableObject;
 import org.apache.ignite.spi.indexing.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.cache.cloner.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
index 725f377..bd23d53 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
index b9ef589..77f38e5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
@@ -9,6 +9,7 @@
 
 package org.gridgain.grid.cache;
 
+import org.apache.ignite.transactions.*;
 import org.jetbrains.annotations.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
index 92d7c99..ada5eea 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
deleted file mode 100644
index 6e8c5bd..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-
-import java.util.*;
-
-/**
- * Grid cache transaction. Cache transactions have a default 2PC (two-phase-commit) behavior and
- * can be plugged into ongoing {@code JTA} transaction by properly implementing
- * {@gglink org.gridgain.grid.cache.jta.GridCacheTmLookup}
- * interface. Cache transactions can also be started explicitly directly from {@link GridCacheProjection} API
- * via any of the {@code 'GridCacheProjection.txStart(..)'} methods.
- * <p>
- * Cache transactions support the following isolation levels:
- * <ul>
- * <li>
- *  {@link GridCacheTxIsolation#READ_COMMITTED} isolation level means that always a committed value
- *  will be provided for read operations. With this isolation level values are always read
- *  from cache global memory or persistent store every time a value is accessed. In other words,
- *  if the same key is accessed more than once within the same transaction, it may have different
- *  value every time since global cache memory may be updated concurrently by other threads.
- * </li>
- * <li>
- *  {@link GridCacheTxIsolation#REPEATABLE_READ} isolation level means that if a value was read once
- *  within transaction, then all consecutive reads will provide the same in-transaction value. With
- *  this isolation level accessed values are stored within in-transaction memory, so consecutive access
- *  to the same key within the same transaction will always return the value that was previously read or
- *  updated within this transaction. If concurrency is {@link GridCacheTxConcurrency#PESSIMISTIC}, then a lock
- *  on the key will be acquired prior to accessing the value.
- * </li>
- * <li>
- *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level means that all transactions occur in a completely
- *  isolated fashion, as if all transactions in the system had executed serially, one after the other.
- *  Read access with this level happens the same way as with {@link GridCacheTxIsolation#REPEATABLE_READ} level.
- *  However, in {@link GridCacheTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
- *  from each other, then one winner will be picked and the other transactions in conflict will result in
- * {@link GridCacheTxOptimisticException} being thrown.
- * </li>
- * </ul>
- * <p>
- * Cache transactions support the following concurrency models:
- * <ul>
- * <li>
- *  {@link GridCacheTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
- *  nodes until {@link #commit()} or {@link #commitAsync()} are called. In this mode one {@code 'PREPARE'}
- *  message will be sent to participating cache nodes to start acquiring per-transaction locks, and once
- *  all nodes reply {@code 'OK'} (i.e. {@code Phase 1} completes successfully), a one-way' {@code 'COMMIT'}
- *  message is sent without waiting for reply. If it is necessary to know whenever remote nodes have committed
- *  as well, synchronous commit or synchronous rollback should be enabled via
- *  {@link GridCacheConfiguration#setWriteSynchronizationMode}
- *  or by setting proper flags on cache projection, such as {@link GridCacheFlag#SYNC_COMMIT}.
- *  <p>
- *  Note that in this mode, optimistic failures are only possible in conjunction with
- *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level. In all other cases, optimistic
- *  transactions will never fail optimistically and will always be identically ordered on all participating
- *  grid nodes.
- * </li>
- * <li>
- *  {@link GridCacheTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
- *  with exception of read operations in {@link GridCacheTxIsolation#READ_COMMITTED} mode. All optional filters
- *  passed into cache operations will be evaluated after successful lock acquisition. Whenever
- *  {@link #commit()} or {@link #commitAsync()} is called, a single one-way {@code 'COMMIT'} message
- *  is sent to participating cache nodes without waiting for reply. Note that there is no reason for
- *  distributed 'PREPARE' step, as all locks have been already acquired. Just like with optimistic mode,
- *  it is possible to configure synchronous commit or rollback and wait till transaction commits on
- *  all participating remote nodes.
- * </li>
- * </ul>
- * <p>
- * <h1 class="header">Cache Atomicity Mode</h1>
- * In addition to standard {@link GridCacheAtomicityMode#TRANSACTIONAL} behavior, GridGain also supports
- * a lighter {@link GridCacheAtomicityMode#ATOMIC} mode as well. In this mode distributed transactions
- * and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher
- * performance and throughput ratios. It is recommended that {@link GridCacheAtomicityMode#ATOMIC} mode
- * is used whenever full {@code ACID}-compliant transactions are not needed.
- * <p>
- * <h1 class="header">Usage</h1>
- * You can use cache transactions as follows:
- * <pre name="code" class="java">
- * GridCache&lt;String, Integer&gt; cache = GridGain.grid().cache();
- *
- * try (GridCacheTx tx = cache.txStart()) {
- *     // Perform transactional operations.
- *     Integer v1 = cache.get("k1");
- *
- *     // Check if v1 satisfies some condition before doing a put.
- *     if (v1 != null && v1 > 0)
- *         cache.putx("k1", 2);
- *
- *     cache.removex("k2");
- *
- *     // Commit the transaction.
- *     tx.commit();
- * }
- * </pre>
- */
-public interface GridCacheTx extends GridMetadataAware, AutoCloseable {
-    /**
-     * Gets unique identifier for this transaction.
-     *
-     * @return Transaction UID.
-     */
-    public IgniteUuid xid();
-
-    /**
-     * ID of the node on which this transaction started.
-     *
-     * @return Originating node ID.
-     */
-    public UUID nodeId();
-
-    /**
-     * ID of the thread in which this transaction started.
-     *
-     * @return Thread ID.
-     */
-    public long threadId();
-
-    /**
-     * Start time of this transaction.
-     *
-     * @return Start time of this transaction on this node.
-     */
-    public long startTime();
-
-    /**
-     * Cache transaction isolation level.
-     *
-     * @return Isolation level.
-     */
-    public GridCacheTxIsolation isolation();
-
-    /**
-     * Cache transaction concurrency mode.
-     *
-     * @return Concurrency mode.
-     */
-    public GridCacheTxConcurrency concurrency();
-
-    /**
-     * Flag indicating whether transaction was started automatically by the
-     * system or not. System will start transactions implicitly whenever
-     * any cache {@code put(..)} or {@code remove(..)} operation is invoked
-     * outside of transaction.
-     *
-     * @return {@code True} if transaction was started implicitly.
-     */
-    public boolean implicit();
-
-    /**
-     * Get invalidation flag for this transaction. If set to {@code true}, then
-     * remote values will be {@code invalidated} (set to {@code null}) instead
-     * of updated.
-     * <p>
-     * Invalidation messages don't carry new values, so they are a lot lighter
-     * than update messages. However, when a value is accessed on a node after
-     * it's been invalidated, it must be loaded from persistent store.
-     *
-     * @return Invalidation flag.
-     */
-    public boolean isInvalidate();
-
-    /**
-     * Gets current transaction state value.
-     *
-     * @return Current transaction state.
-     */
-    public GridCacheTxState state();
-
-    /**
-     * Gets timeout value in milliseconds for this transaction. If transaction times
-     * out prior to it's completion, {@link GridCacheTxTimeoutException} will be thrown.
-     *
-     * @return Transaction timeout value.
-     */
-    public long timeout();
-
-    /**
-     * Sets transaction timeout value. This value can be set only before a first operation
-     * on transaction has been performed.
-     *
-     * @param timeout Transaction timeout value.
-     * @return Previous timeout.
-     */
-    public long timeout(long timeout);
-
-    /**
-     * Modify the transaction associated with the current thread such that the
-     * only possible outcome of the transaction is to roll back the
-     * transaction.
-     *
-     * @return {@code True} if rollback-only flag was set as a result of this operation,
-     *      {@code false} if it was already set prior to this call or could not be set
-     *      because transaction is already finishing up committing or rolling back.
-     */
-    public boolean setRollbackOnly();
-
-    /**
-     * If transaction was marked as rollback-only.
-     *
-     * @return {@code True} if transaction can only be rolled back.
-     */
-    public boolean isRollbackOnly();
-
-    /**
-     * Commits this transaction by initiating {@code two-phase-commit} process.
-     *
-     * @throws IgniteCheckedException If commit failed.
-     */
-    public void commit() throws IgniteCheckedException;
-
-    /**
-     * Ends the transaction. Transaction will be rolled back if it has not been committed.
-     *
-     * @throws IgniteCheckedException If transaction could not be gracefully ended.
-     */
-    @Override public void close() throws IgniteCheckedException;
-
-    /**
-     * Asynchronously commits this transaction by initiating {@code two-phase-commit} process.
-     *
-     * @return Future for commit operation.
-     */
-    public IgniteFuture<GridCacheTx> commitAsync();
-
-    /**
-     * Rolls back this transaction.
-     *
-     * @throws IgniteCheckedException If rollback failed.
-     */
-    public void rollback() throws IgniteCheckedException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxConcurrency.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxConcurrency.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxConcurrency.java
deleted file mode 100644
index 2253b40..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxConcurrency.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Transaction concurrency control. See {@link GridCacheTx} for more information
- * on transaction concurrency controls.
- */
-public enum GridCacheTxConcurrency {
-    /** Optimistic concurrency control. */
-    OPTIMISTIC,
-
-    /** Pessimistic concurrency control. */
-    PESSIMISTIC;
-
-    /** Enum values. */
-    private static final GridCacheTxConcurrency[] VALS = values();
-
-    /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value or {@code null} if ordinal out of range.
-     */
-    @Nullable public static GridCacheTxConcurrency fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxHeuristicException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxHeuristicException.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxHeuristicException.java
deleted file mode 100644
index 4633659..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxHeuristicException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transaction enters an unknown state.
- * This exception is usually thrown whenever commit partially succeeds.
- * Cache will still resolve this situation automatically to ensure data
- * integrity, by invalidating all values participating in this transaction
- * on remote nodes.
- */
-public class GridCacheTxHeuristicException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new heuristic exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxHeuristicException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new heuristic exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxHeuristicException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}


[21/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
GG-9141 - Renaming


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/80178118
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/80178118
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/80178118

Branch: refs/heads/ignite-32
Commit: 801781186b60c83696738d96466d886174ff19a6
Parents: 3008d2a
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:04:42 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:04:43 2014 -0800

----------------------------------------------------------------------
 .../datagrid/CacheTransactionExample.java       |  4 +-
 .../org/apache/ignite/IgniteTransactions.java   | 12 ++--
 .../TransactionsConfiguration.java              | 18 +++---
 .../transactions/GridCacheTxConcurrency.java    | 37 ------------
 .../transactions/GridCacheTxIsolation.java      | 41 -------------
 .../ignite/transactions/GridCacheTxState.java   | 57 -------------------
 .../GridCacheTxSynchronization.java             |  2 +-
 .../apache/ignite/transactions/IgniteTx.java    | 26 ++++-----
 .../transactions/IgniteTxConcurrency.java       | 37 ++++++++++++
 .../ignite/transactions/IgniteTxIsolation.java  | 41 +++++++++++++
 .../ignite/transactions/IgniteTxState.java      | 57 +++++++++++++++++++
 .../org/gridgain/grid/cache/GridCacheEntry.java |  6 +-
 .../grid/cache/GridCacheProjection.java         | 28 ++++-----
 .../grid/cache/store/GridCacheStore.java        |  2 +-
 .../grid/kernal/IgniteTransactionsEx.java       |  2 +-
 .../processors/cache/GridCacheAdapter.java      | 20 +++----
 .../processors/cache/GridCacheMapEntry.java     |  2 +-
 .../processors/cache/GridCacheProcessor.java    |  2 +-
 .../cache/GridCacheProjectionImpl.java          | 12 ++--
 .../processors/cache/GridCacheProxyImpl.java    | 12 ++--
 .../processors/cache/GridCacheTxAdapter.java    | 60 ++++++++++----------
 .../kernal/processors/cache/GridCacheTxEx.java  |  2 +-
 .../processors/cache/GridCacheTxHandler.java    |  6 +-
 .../cache/GridCacheTxLocalAdapter.java          | 18 +++---
 .../processors/cache/GridCacheTxManager.java    | 20 +++----
 .../kernal/processors/cache/GridCacheUtils.java |  6 +-
 .../processors/cache/IgniteTxProxyImpl.java     |  6 +-
 .../datastructures/GridCacheAtomicLongImpl.java |  4 +-
 .../GridCacheAtomicReferenceImpl.java           |  4 +-
 .../GridCacheAtomicSequenceImpl.java            |  4 +-
 .../GridCacheAtomicStampedImpl.java             |  4 +-
 .../GridCacheCountDownLatchImpl.java            |  4 +-
 .../GridCacheDataStructuresManager.java         |  4 +-
 .../GridTransactionalCacheQueueImpl.java        |  4 +-
 .../GridDistributedCacheAdapter.java            |  4 +-
 .../distributed/GridDistributedLockRequest.java |  8 +--
 .../GridDistributedTxPrepareRequest.java        | 12 ++--
 .../GridDistributedTxRemoteAdapter.java         |  8 +--
 .../distributed/dht/GridDhtLockFuture.java      |  2 +-
 .../distributed/dht/GridDhtLockRequest.java     |  2 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |  8 +--
 .../distributed/dht/GridDhtTxFinishFuture.java  |  2 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |  8 +--
 .../cache/distributed/dht/GridDhtTxLocal.java   |  6 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  | 10 ++--
 .../distributed/dht/GridDhtTxPrepareFuture.java |  2 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |  8 +--
 .../dht/atomic/GridDhtAtomicCache.java          |  2 +-
 .../dht/colocated/GridDhtColocatedCache.java    |  2 +-
 .../colocated/GridDhtColocatedLockFuture.java   |  2 +-
 .../distributed/near/GridNearAtomicCache.java   |  2 +-
 .../distributed/near/GridNearGetFuture.java     |  2 +-
 .../distributed/near/GridNearLockFuture.java    |  2 +-
 .../distributed/near/GridNearLockRequest.java   |  2 +-
 .../near/GridNearTransactionalCache.java        |  4 +-
 .../near/GridNearTxFinishFuture.java            |  2 +-
 .../cache/distributed/near/GridNearTxLocal.java |  8 +--
 .../near/GridNearTxPrepareFuture.java           |  2 +-
 .../distributed/near/GridNearTxRemote.java      |  8 +--
 .../processors/cache/local/GridLocalCache.java  |  2 +-
 .../processors/cache/local/GridLocalTx.java     |  8 +--
 .../cache/local/GridLocalTxFuture.java          |  2 +-
 .../local/atomic/GridLocalAtomicCache.java      |  2 +-
 .../transactions/IgniteTransactionsImpl.java    | 22 +++----
 .../dataload/GridDataLoadCacheUpdaters.java     |  4 +-
 .../processors/ggfs/GridGgfsDataManager.java    |  4 +-
 .../processors/ggfs/GridGgfsMetaManager.java    |  4 +-
 .../handlers/cache/GridCacheCommandHandler.java |  4 +-
 .../service/GridServiceProcessor.java           |  4 +-
 .../cache/VisorCacheDefaultConfiguration.java   | 12 ++--
 .../grid/kernal/GridStartStopSelfTest.java      |  4 +-
 .../GridCacheAbstractFailoverSelfTest.java      | 16 +++---
 .../cache/GridCacheAbstractFullApiSelfTest.java | 28 ++++-----
 .../cache/GridCacheAbstractTxReadTest.java      | 14 ++---
 .../cache/GridCacheBasicStoreAbstractTest.java  |  4 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |  4 +-
 .../GridCacheDaemonNodeAbstractSelfTest.java    |  4 +-
 .../cache/GridCacheDeploymentSelfTest.java      |  4 +-
 .../GridCacheExAbstractFullApiSelfTest.java     |  4 +-
 .../GridCacheFinishPartitionsSelfTest.java      |  4 +-
 .../GridCacheGroupLockAbstractSelfTest.java     | 34 +++++------
 .../cache/GridCacheGroupLockPutTask.java        |  4 +-
 .../GridCacheInterceptorAbstractSelfTest.java   | 10 ++--
 .../GridCacheMarshallerTxAbstractTest.java      |  4 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |  4 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |  4 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |  4 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |  4 +-
 ...CacheOffHeapMultiThreadedUpdateSelfTest.java | 12 ++--
 .../GridCacheOffHeapTieredAbstractSelfTest.java | 12 ++--
 .../cache/GridCacheOffheapUpdateSelfTest.java   |  4 +-
 ...cheTransactionalAbstractMetricsSelfTest.java |  8 +--
 .../GridCacheWriteBehindStoreAbstractTest.java  |  4 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |  4 +-
 .../processors/cache/IgniteTxAbstractTest.java  | 12 ++--
 .../IgniteTxConcurrentGetAbstractTest.java      |  4 +-
 .../IgniteTxExceptionAbstractSelfTest.java      | 20 +++----
 .../cache/IgniteTxMultiNodeAbstractTest.java    |  4 +-
 .../IgniteTxMultiThreadedAbstractTest.java      | 12 ++--
 .../cache/IgniteTxReentryAbstractSelfTest.java  |  4 +-
 .../IgniteTxSingleThreadedAbstractTest.java     |  4 +-
 .../IgniteTxStoreExceptionAbstractSelfTest.java | 20 +++----
 .../GridCacheSequenceApiSelfAbstractTest.java   |  4 +-
 ...idCachePartitionedNodeRestartTxSelfTest.java |  4 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |  4 +-
 ...tractDistributedByteArrayValuesSelfTest.java |  8 +--
 .../GridCacheAbstractJobExecutionTest.java      |  6 +-
 .../GridCacheAbstractNodeRestartSelfTest.java   |  6 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |  4 +-
 .../GridCacheBasicOpAbstractTest.java           |  4 +-
 .../GridCacheEntrySetAbstractSelfTest.java      |  4 +-
 .../distributed/GridCacheEventAbstractTest.java |  4 +-
 .../GridCacheNodeFailureAbstractTest.java       |  6 +-
 .../GridCacheTransformEventSelfTest.java        | 14 ++---
 ...iteTxConsistencyRestartAbstractSelfTest.java |  4 +-
 ...xOriginatingNodeFailureAbstractSelfTest.java |  2 +-
 ...cOriginatingNodeFailureAbstractSelfTest.java |  2 +-
 .../IgniteTxPreloadAbstractTest.java            |  6 +-
 .../IgniteTxTimeoutAbstractTest.java            |  8 +--
 ...heAbstractTransformWriteThroughSelfTest.java |  6 +-
 .../dht/GridCacheColocatedDebugTest.java        | 18 +++---
 ...eColocatedOptimisticTransactionSelfTest.java |  4 +-
 ...cheGroupLockPartitionedAbstractSelfTest.java |  6 +-
 ...ockPartitionedMultiNodeAbstractSelfTest.java |  8 +--
 ...dCachePartitionedTopologyChangeSelfTest.java |  4 +-
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |  6 +-
 .../near/GridCacheNearMultiGetSelfTest.java     |  6 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |  4 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |  4 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |  4 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |  6 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |  4 +-
 .../GridCachePartitionedEvictionSelfTest.java   |  6 +-
 ...achePartitionedMultiNodeCounterSelfTest.java |  4 +-
 ...ePartitionedMultiThreadedPutGetSelfTest.java |  6 +-
 .../GridCachePartitionedNodeRestartTest.java    |  2 +-
 ...ePartitionedOptimisticTxNodeRestartTest.java |  4 +-
 ...achePartitionedPreloadLifecycleSelfTest.java |  4 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  | 10 ++--
 .../GridCacheReplicatedInvalidateSelfTest.java  |  8 +--
 ...CacheReplicatedPreloadLifecycleSelfTest.java |  4 +-
 ...heConcurrentEvictionConsistencySelfTest.java |  4 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |  4 +-
 .../GridCacheDistributedEvictionsSelfTest.java  |  4 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |  8 +--
 .../eviction/GridCacheEvictionAbstractTest.java |  4 +-
 .../GridCacheEvictionTouchSelfTest.java         |  4 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |  8 +--
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |  8 +--
 .../processors/ggfs/GridGgfsSizeSelfTest.java   |  4 +-
 .../cache/GridCacheAbstractLoadTest.java        |  8 +--
 ...ridCacheAffinityTransactionsOffHeapTest.java |  4 +-
 .../cache/GridCacheGroupLockComparisonTest.java |  4 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |  4 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |  6 +-
 .../GridHibernateReadWriteAccessStrategy.java   |  4 +-
 ...idCachePartitionedHitsAndMissesSelfTest.java |  4 +-
 .../cache/jta/GridCacheXAResource.java          |  4 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |  2 +-
 .../cache/websession/GridWebSessionFilter.java  |  4 +-
 160 files changed, 669 insertions(+), 669 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java b/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
index 3edaced..cb69ec9 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
@@ -16,8 +16,8 @@ import org.gridgain.grid.cache.*;
 import java.io.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Demonstrates how to use cache transactions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
index e759308..e929d60 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
@@ -37,7 +37,7 @@ public interface IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation);
+    public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation);
 
     /**
      * Starts transaction with specified isolation, concurrency, timeout, invalidation flag,
@@ -51,7 +51,7 @@ public interface IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
+    public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation, long timeout,
         int txSize);
 
     /**
@@ -87,8 +87,8 @@ public interface IgniteTransactions {
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
+    public IgniteTx txStartAffinity(String cacheName, Object affinityKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
      * Starts {@code partition-group-locked} transaction based on partition ID. In this mode the whole partition
@@ -123,8 +123,8 @@ public interface IgniteTransactions {
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
+    public IgniteTx txStartPartition(String cacheName, int partId, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
      * Gets transaction started by this thread or {@code null} if this thread does

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
index fea4ffa..5aa700a 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
@@ -19,10 +19,10 @@ public class TransactionsConfiguration {
     public static final boolean DFLT_TX_SERIALIZABLE_ENABLED = false;
 
     /** Default concurrency mode. */
-    public static final GridCacheTxConcurrency DFLT_TX_CONCURRENCY = GridCacheTxConcurrency.PESSIMISTIC;
+    public static final IgniteTxConcurrency DFLT_TX_CONCURRENCY = IgniteTxConcurrency.PESSIMISTIC;
 
     /** Default transaction isolation level. */
-    public static final GridCacheTxIsolation DFLT_TX_ISOLATION = GridCacheTxIsolation.REPEATABLE_READ;
+    public static final IgniteTxIsolation DFLT_TX_ISOLATION = IgniteTxIsolation.REPEATABLE_READ;
 
     /** Default transaction timeout. */
     public static final long DFLT_TRANSACTION_TIMEOUT = 0;
@@ -34,10 +34,10 @@ public class TransactionsConfiguration {
     private boolean txSerEnabled = DFLT_TX_SERIALIZABLE_ENABLED;
 
     /** Transaction isolation. */
-    private GridCacheTxIsolation dfltIsolation = DFLT_TX_ISOLATION;
+    private IgniteTxIsolation dfltIsolation = DFLT_TX_ISOLATION;
 
     /** Cache concurrency. */
-    private GridCacheTxConcurrency dfltConcurrency = DFLT_TX_CONCURRENCY;
+    private IgniteTxConcurrency dfltConcurrency = DFLT_TX_CONCURRENCY;
 
     /** Default transaction timeout. */
     private long dfltTxTimeout = DFLT_TRANSACTION_TIMEOUT;
@@ -68,7 +68,7 @@ public class TransactionsConfiguration {
     }
 
     /**
-     * Gets flag to enable/disable {@link GridCacheTxIsolation#SERIALIZABLE} isolation
+     * Gets flag to enable/disable {@link IgniteTxIsolation#SERIALIZABLE} isolation
      * level for cache transactions. Serializable level does carry certain overhead and
      * if not used, should be disabled. Default value is {@code false}.
      *
@@ -94,7 +94,7 @@ public class TransactionsConfiguration {
      * @return Default cache transaction concurrency.
      * @see IgniteTx
      */
-    public GridCacheTxConcurrency getDefaultTxConcurrency() {
+    public IgniteTxConcurrency getDefaultTxConcurrency() {
         return dfltConcurrency;
     }
 
@@ -103,7 +103,7 @@ public class TransactionsConfiguration {
      *
      * @param dfltConcurrency Default cache transaction concurrency.
      */
-    public void setDefaultTxConcurrency(GridCacheTxConcurrency dfltConcurrency) {
+    public void setDefaultTxConcurrency(IgniteTxConcurrency dfltConcurrency) {
         this.dfltConcurrency = dfltConcurrency;
     }
 
@@ -114,7 +114,7 @@ public class TransactionsConfiguration {
      * @return Default cache transaction isolation.
      * @see IgniteTx
      */
-    public GridCacheTxIsolation getDefaultTxIsolation() {
+    public IgniteTxIsolation getDefaultTxIsolation() {
         return dfltIsolation;
     }
 
@@ -123,7 +123,7 @@ public class TransactionsConfiguration {
      *
      * @param dfltIsolation Default cache transaction isolation.
      */
-    public void setDefaultTxIsolation(GridCacheTxIsolation dfltIsolation) {
+    public void setDefaultTxIsolation(IgniteTxIsolation dfltIsolation) {
         this.dfltIsolation = dfltIsolation;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
deleted file mode 100644
index 7d0ad4c..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Transaction concurrency control. See {@link IgniteTx} for more information
- * on transaction concurrency controls.
- */
-public enum GridCacheTxConcurrency {
-    /** Optimistic concurrency control. */
-    OPTIMISTIC,
-
-    /** Pessimistic concurrency control. */
-    PESSIMISTIC;
-
-    /** Enum values. */
-    private static final GridCacheTxConcurrency[] VALS = values();
-
-    /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value or {@code null} if ordinal out of range.
-     */
-    @Nullable public static GridCacheTxConcurrency fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
deleted file mode 100644
index 1644178..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Defines different cache transaction isolation levels. See {@link IgniteTx}
- * documentation for more information about cache transaction isolation levels.
- */
-public enum GridCacheTxIsolation {
-    /** Read committed isolation level. */
-    READ_COMMITTED,
-
-    /** Repeatable read isolation level. */
-    REPEATABLE_READ,
-
-    /** Serializable isolation level. */
-    SERIALIZABLE;
-
-    /** Enum values. */
-    private static final GridCacheTxIsolation[] VALS = values();
-
-    /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value or {@code null} if ordinal out of range.
-     */
-    @Nullable
-    public static GridCacheTxIsolation fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java
deleted file mode 100644
index 591acb5..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxState.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Cache transaction state.
- */
-public enum GridCacheTxState {
-    /** Transaction started. */
-    ACTIVE,
-
-    /** Transaction validating. */
-    PREPARING,
-
-    /** Transaction validation succeeded. */
-    PREPARED,
-
-    /** Transaction is marked for rollback. */
-    MARKED_ROLLBACK,
-
-    /** Transaction commit started (validating finished). */
-    COMMITTING,
-
-    /** Transaction commit succeeded. */
-    COMMITTED,
-
-    /** Transaction rollback started (validation failed). */
-    ROLLING_BACK,
-
-    /** Transaction rollback succeeded. */
-    ROLLED_BACK,
-
-    /** Transaction rollback failed or is otherwise unknown state. */
-    UNKNOWN;
-
-    /** Enumerated values. */
-    private static final GridCacheTxState[] VALS = values();
-
-    /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value or {@code null} if ordinal out of range.
-     */
-    @Nullable public static GridCacheTxState fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
index 5e72f2c..bd177a4 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
@@ -34,5 +34,5 @@ public interface GridCacheTxSynchronization {
      *      transition this callback is associated with.
      * @param tx Transaction whose state has changed.
      */
-    public void onStateChanged(@Nullable GridCacheTxState prevState, GridCacheTxState newState, IgniteTx tx);
+    public void onStateChanged(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
index ec6cbbb..9bd287f 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
@@ -26,25 +26,25 @@ import java.util.*;
  * Cache transactions support the following isolation levels:
  * <ul>
  * <li>
- *  {@link GridCacheTxIsolation#READ_COMMITTED} isolation level means that always a committed value
+ *  {@link IgniteTxIsolation#READ_COMMITTED} isolation level means that always a committed value
  *  will be provided for read operations. With this isolation level values are always read
  *  from cache global memory or persistent store every time a value is accessed. In other words,
  *  if the same key is accessed more than once within the same transaction, it may have different
  *  value every time since global cache memory may be updated concurrently by other threads.
  * </li>
  * <li>
- *  {@link GridCacheTxIsolation#REPEATABLE_READ} isolation level means that if a value was read once
+ *  {@link IgniteTxIsolation#REPEATABLE_READ} isolation level means that if a value was read once
  *  within transaction, then all consecutive reads will provide the same in-transaction value. With
  *  this isolation level accessed values are stored within in-transaction memory, so consecutive access
  *  to the same key within the same transaction will always return the value that was previously read or
- *  updated within this transaction. If concurrency is {@link GridCacheTxConcurrency#PESSIMISTIC}, then a lock
+ *  updated within this transaction. If concurrency is {@link IgniteTxConcurrency#PESSIMISTIC}, then a lock
  *  on the key will be acquired prior to accessing the value.
  * </li>
  * <li>
- *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level means that all transactions occur in a completely
+ *  {@link IgniteTxIsolation#SERIALIZABLE} isolation level means that all transactions occur in a completely
  *  isolated fashion, as if all transactions in the system had executed serially, one after the other.
- *  Read access with this level happens the same way as with {@link GridCacheTxIsolation#REPEATABLE_READ} level.
- *  However, in {@link GridCacheTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
+ *  Read access with this level happens the same way as with {@link IgniteTxIsolation#REPEATABLE_READ} level.
+ *  However, in {@link IgniteTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
  *  from each other, then one winner will be picked and the other transactions in conflict will result in
  * {@link GridCacheTxOptimisticException} being thrown.
  * </li>
@@ -53,7 +53,7 @@ import java.util.*;
  * Cache transactions support the following concurrency models:
  * <ul>
  * <li>
- *  {@link GridCacheTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
+ *  {@link IgniteTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
  *  nodes until {@link #commit()} or {@link #commitAsync()} are called. In this mode one {@code 'PREPARE'}
  *  message will be sent to participating cache nodes to start acquiring per-transaction locks, and once
  *  all nodes reply {@code 'OK'} (i.e. {@code Phase 1} completes successfully), a one-way' {@code 'COMMIT'}
@@ -63,13 +63,13 @@ import java.util.*;
  *  or by setting proper flags on cache projection, such as {@link GridCacheFlag#SYNC_COMMIT}.
  *  <p>
  *  Note that in this mode, optimistic failures are only possible in conjunction with
- *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level. In all other cases, optimistic
+ *  {@link IgniteTxIsolation#SERIALIZABLE} isolation level. In all other cases, optimistic
  *  transactions will never fail optimistically and will always be identically ordered on all participating
  *  grid nodes.
  * </li>
  * <li>
- *  {@link GridCacheTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
- *  with exception of read operations in {@link GridCacheTxIsolation#READ_COMMITTED} mode. All optional filters
+ *  {@link IgniteTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
+ *  with exception of read operations in {@link IgniteTxIsolation#READ_COMMITTED} mode. All optional filters
  *  passed into cache operations will be evaluated after successful lock acquisition. Whenever
  *  {@link #commit()} or {@link #commitAsync()} is called, a single one-way {@code 'COMMIT'} message
  *  is sent to participating cache nodes without waiting for reply. Note that there is no reason for
@@ -140,14 +140,14 @@ public interface IgniteTx extends GridMetadataAware, AutoCloseable {
      *
      * @return Isolation level.
      */
-    public GridCacheTxIsolation isolation();
+    public IgniteTxIsolation isolation();
 
     /**
      * Cache transaction concurrency mode.
      *
      * @return Concurrency mode.
      */
-    public GridCacheTxConcurrency concurrency();
+    public IgniteTxConcurrency concurrency();
 
     /**
      * Flag indicating whether transaction was started automatically by the
@@ -177,7 +177,7 @@ public interface IgniteTx extends GridMetadataAware, AutoCloseable {
      *
      * @return Current transaction state.
      */
-    public GridCacheTxState state();
+    public IgniteTxState state();
 
     /**
      * Gets timeout value in milliseconds for this transaction. If transaction times

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
new file mode 100644
index 0000000..c054220
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
@@ -0,0 +1,37 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Transaction concurrency control. See {@link IgniteTx} for more information
+ * on transaction concurrency controls.
+ */
+public enum IgniteTxConcurrency {
+    /** Optimistic concurrency control. */
+    OPTIMISTIC,
+
+    /** Pessimistic concurrency control. */
+    PESSIMISTIC;
+
+    /** Enum values. */
+    private static final IgniteTxConcurrency[] VALS = values();
+
+    /**
+     * Efficiently gets enumerated value from its ordinal.
+     *
+     * @param ord Ordinal value.
+     * @return Enumerated value or {@code null} if ordinal out of range.
+     */
+    @Nullable public static IgniteTxConcurrency fromOrdinal(int ord) {
+        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxIsolation.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxIsolation.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxIsolation.java
new file mode 100644
index 0000000..13fb301
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxIsolation.java
@@ -0,0 +1,41 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.jetbrains.annotations.*;
+
+/**
+ * Defines different cache transaction isolation levels. See {@link IgniteTx}
+ * documentation for more information about cache transaction isolation levels.
+ */
+public enum IgniteTxIsolation {
+    /** Read committed isolation level. */
+    READ_COMMITTED,
+
+    /** Repeatable read isolation level. */
+    REPEATABLE_READ,
+
+    /** Serializable isolation level. */
+    SERIALIZABLE;
+
+    /** Enum values. */
+    private static final IgniteTxIsolation[] VALS = values();
+
+    /**
+     * Efficiently gets enumerated value from its ordinal.
+     *
+     * @param ord Ordinal value.
+     * @return Enumerated value or {@code null} if ordinal out of range.
+     */
+    @Nullable
+    public static IgniteTxIsolation fromOrdinal(int ord) {
+        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxState.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxState.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxState.java
new file mode 100644
index 0000000..70598d2
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxState.java
@@ -0,0 +1,57 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.jetbrains.annotations.*;
+
+/**
+ * Cache transaction state.
+ */
+public enum IgniteTxState {
+    /** Transaction started. */
+    ACTIVE,
+
+    /** Transaction validating. */
+    PREPARING,
+
+    /** Transaction validation succeeded. */
+    PREPARED,
+
+    /** Transaction is marked for rollback. */
+    MARKED_ROLLBACK,
+
+    /** Transaction commit started (validating finished). */
+    COMMITTING,
+
+    /** Transaction commit succeeded. */
+    COMMITTED,
+
+    /** Transaction rollback started (validation failed). */
+    ROLLING_BACK,
+
+    /** Transaction rollback succeeded. */
+    ROLLED_BACK,
+
+    /** Transaction rollback failed or is otherwise unknown state. */
+    UNKNOWN;
+
+    /** Enumerated values. */
+    private static final IgniteTxState[] VALS = values();
+
+    /**
+     * Efficiently gets enumerated value from its ordinal.
+     *
+     * @param ord Ordinal value.
+     * @return Enumerated value or {@code null} if ordinal out of range.
+     */
+    @Nullable public static IgniteTxState fromOrdinal(int ord) {
+        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
index 6949dba..6e61dc1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
@@ -482,7 +482,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, V>, GridMetadataAware
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions.
      * If you do need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -506,7 +506,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, V>, GridMetadataAware
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -530,7 +530,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, V>, GridMetadataAware
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
index fb93ad9..965f31e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
@@ -126,13 +126,13 @@ import java.util.concurrent.*;
  * only keys with identical affinity-key (see {@link GridCacheAffinityKeyMapped}) can participate in the
  * transaction, and only one lock on the <i>affinity-key</i> will be acquired for the whole transaction.
  * {@code Affinity-group-locked} transactions are started via
- * {@link #txStartAffinity(Object, GridCacheTxConcurrency, GridCacheTxIsolation, long, int)} method.
+ * {@link #txStartAffinity(Object, IgniteTxConcurrency, IgniteTxIsolation, long, int)} method.
  * <p>
  * With {@code partition-based-group-locking} the keys are grouped by partition ID. This means that
  * only keys belonging to identical partition (see {@link GridCacheAffinity#partition(Object)}) can participate in the
  * transaction, and only one lock on the whole partition will be acquired for the whole transaction.
  * {@code Partition-group-locked} transactions are started via
- * {@link #txStartPartition(int, GridCacheTxConcurrency, GridCacheTxIsolation, long, int)} method.
+ * {@link #txStartPartition(int, IgniteTxConcurrency, IgniteTxIsolation, long, int)} method.
  * <p>
  * <i>Group locking</i> should always be used for transactions whenever possible. If your requirements fit either
  * <i>affinity-based</i> or <i>partition-based</i> scenarios outlined above then <i>group-locking</i>
@@ -1334,7 +1334,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation);
+    public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation);
 
     /**
      * Starts transaction with specified isolation, concurrency, timeout, invalidation flag,
@@ -1348,7 +1348,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
+    public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation, long timeout,
         int txSize);
 
     /**
@@ -1384,8 +1384,8 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
+    public IgniteTx txStartAffinity(Object affinityKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
      * Starts {@code partition-group-locked} transaction based on partition ID. In this mode the whole partition
@@ -1420,8 +1420,8 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
+    public IgniteTx txStartPartition(int partId, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
      * Gets transaction started by this thread or {@code null} if this thread does
@@ -1843,7 +1843,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -1869,7 +1869,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -1895,7 +1895,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -1921,7 +1921,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -1947,7 +1947,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:
@@ -1968,7 +1968,7 @@ public interface GridCacheProjection<K, V> extends Iterable<GridCacheEntry<K, V>
      * <h2 class="header">Transactions</h2>
      * Locks are not transactional and should not be used from within transactions. If you do
      * need explicit locking within transaction, then you should use
-     * {@link GridCacheTxConcurrency#PESSIMISTIC} concurrency control for transaction
+     * {@link IgniteTxConcurrency#PESSIMISTIC} concurrency control for transaction
      * which will acquire explicit locks for relevant cache operations.
      * <h2 class="header">Cache Flags</h2>
      * This method is not available if any of the following flags are set on projection:

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
index b265303..90eb6dc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
@@ -205,7 +205,7 @@ public interface GridCacheStore<K, V> {
      * @param tx Cache transaction being ended.
      * @param commit {@code True} if transaction should commit, {@code false} for rollback.
      * @throws IgniteCheckedException If commit or rollback failed. Note that commit failure in some cases
-     *      may bring cache transaction into {@link GridCacheTxState#UNKNOWN} which will
+     *      may bring cache transaction into {@link IgniteTxState#UNKNOWN} which will
      *      consequently cause all transacted entries to be invalidated.
      */
     public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
index 464cb1c..45cc7c2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
@@ -29,6 +29,6 @@ public interface IgniteTransactionsEx extends IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public IgniteTx txStartSystem(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
+    public IgniteTx txStartSystem(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation, long timeout,
         int txSize);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 949482a..5571ffd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -51,8 +51,8 @@ import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheFlag.*;
 import static org.gridgain.grid.cache.GridCachePeekMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.kernal.GridClosureCallMode.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 import static org.gridgain.grid.kernal.processors.task.GridTaskThreadContextKey.*;
@@ -490,7 +490,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         GridCacheTxLocalEx<K, V> tx,
         boolean isRead,
         boolean retval,
-        GridCacheTxIsolation isolation,
+        IgniteTxIsolation isolation,
         boolean invalidate,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter);
 
@@ -3120,7 +3120,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
@@ -3135,8 +3135,8 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException {
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException {
         IgniteTransactionsEx txs = ctx.kernalContext().cache().transactions();
 
         return ctx.system() ?
@@ -3145,15 +3145,15 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartAffinity(Object affinityKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return ctx.kernalContext().cache().transactions().txStartAffinity(name(), affinityKey, concurrency, isolation,
             timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartPartition(int partId, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return ctx.kernalContext().cache().transactions().txStartPartition(name(), partId, concurrency, isolation,
             timeout, txSize);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
index aad2447..bdc8882 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
@@ -34,7 +34,7 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
index b8a5c92..3e3d7de 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
@@ -53,7 +53,7 @@ import static org.gridgain.grid.cache.GridCacheConfiguration.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 import static org.gridgain.grid.kernal.GridComponentType.*;
 import static org.gridgain.grid.kernal.GridNodeAttributes.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
index e31f33c..3600637 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
@@ -1205,25 +1205,25 @@ public class GridCacheProjectionImpl<K, V> implements GridCacheProjectionEx<K, V
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) {
         return cache.txStart(concurrency, isolation);
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation,
         long timeout, int txSize) {
         return cache.txStart(concurrency, isolation, timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartAffinity(Object affinityKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return cache.txStartAffinity(affinityKey, concurrency, isolation, timeout, txSize);
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartPartition(int partId, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         return cache.txStartPartition(partId, concurrency, isolation, timeout, txSize);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
index b0ba93e..6addcbe 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
@@ -1103,7 +1103,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {
@@ -1116,7 +1116,7 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStart(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation,
         long timeout, int txSize) {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
@@ -1129,8 +1129,8 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartAffinity(Object affinityKey, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartAffinity(Object affinityKey, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {
@@ -1142,8 +1142,8 @@ public class GridCacheProxyImpl<K, V> implements GridCacheProxy<K, V>, Externali
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteTx txStartPartition(int partId, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
+    @Override public IgniteTx txStartPartition(int partId, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheProjectionImpl<K, V> prev = gate.enter(prj);
 
         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
index 09a0bc6..f81cdec 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
@@ -30,9 +30,9 @@ import java.util.concurrent.locks.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 
 /**
@@ -98,11 +98,11 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
 
     /** Isolation. */
     @GridToStringInclude
-    protected GridCacheTxIsolation isolation = READ_COMMITTED;
+    protected IgniteTxIsolation isolation = READ_COMMITTED;
 
     /** Concurrency. */
     @GridToStringInclude
-    protected GridCacheTxConcurrency concurrency = PESSIMISTIC;
+    protected IgniteTxConcurrency concurrency = PESSIMISTIC;
 
     /** Transaction timeout. */
     @GridToStringInclude
@@ -152,11 +152,11 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
 
     /**
      * Transaction state. Note that state is not protected, as we want to
-     * always use {@link #state()} and {@link #state(GridCacheTxState)}
+     * always use {@link #state()} and {@link #state(IgniteTxState)}
      * methods.
      */
     @GridToStringInclude
-    private volatile GridCacheTxState state = ACTIVE;
+    private volatile IgniteTxState state = ACTIVE;
 
     /** Timed out flag. */
     private volatile boolean timedOut;
@@ -219,8 +219,8 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         boolean implicitSingle,
         boolean loc,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         boolean invalidate,
         boolean storeEnabled,
@@ -277,8 +277,8 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         GridCacheVersion startVer,
         long threadId,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         int txSize,
         @Nullable GridCacheTxKey grpLockKey,
@@ -702,12 +702,12 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxIsolation isolation() {
+    @Override public IgniteTxIsolation isolation() {
         return isolation;
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxConcurrency concurrency() {
+    @Override public IgniteTxConcurrency concurrency() {
         return concurrency;
     }
 
@@ -767,7 +767,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxState state() {
+    @Override public IgniteTxState state() {
         return state;
     }
 
@@ -817,7 +817,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
      *
      */
     @Override public void close() throws IgniteCheckedException {
-        GridCacheTxState state = state();
+        IgniteTxState state = state();
 
         if (state != ROLLING_BACK && state != ROLLED_BACK && state != COMMITTING && state != COMMITTED)
             rollback();
@@ -918,7 +918,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
     }
 
     /** {@inheritDoc} */
-    @Override public boolean state(GridCacheTxState state) {
+    @Override public boolean state(IgniteTxState state) {
         return state(state, false);
     }
 
@@ -953,10 +953,10 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
      * @return {@code True} if state changed.
      */
     @SuppressWarnings({"TooBroadScope"})
-    private boolean state(GridCacheTxState state, boolean timedOut) {
+    private boolean state(IgniteTxState state, boolean timedOut) {
         boolean valid = false;
 
-        GridCacheTxState prev;
+        IgniteTxState prev;
 
         boolean notify = false;
 
@@ -1306,10 +1306,10 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
 
         nodeId = U.readUuid(in);
 
-        isolation = GridCacheTxIsolation.fromOrdinal(in.read());
-        concurrency = GridCacheTxConcurrency.fromOrdinal(in.read());
+        isolation = IgniteTxIsolation.fromOrdinal(in.read());
+        concurrency = IgniteTxConcurrency.fromOrdinal(in.read());
 
-        state = GridCacheTxState.fromOrdinal(in.read());
+        state = IgniteTxState.fromOrdinal(in.read());
     }
 
     /**
@@ -1371,10 +1371,10 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         private final long startTime;
 
         /** Transaction isolation. */
-        private final GridCacheTxIsolation isolation;
+        private final IgniteTxIsolation isolation;
 
         /** Concurrency. */
-        private final GridCacheTxConcurrency concurrency;
+        private final IgniteTxConcurrency concurrency;
 
         /** Invalidate flag. */
         private final boolean invalidate;
@@ -1383,7 +1383,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         private final long timeout;
 
         /** State. */
-        private final GridCacheTxState state;
+        private final IgniteTxState state;
 
         /** Rollback only flag. */
         private final boolean rollbackOnly;
@@ -1404,9 +1404,9 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
          * @param state Transaction state.
          * @param rollbackOnly Rollback-only flag.
          */
-        TxShadow(IgniteUuid xid, UUID nodeId, long threadId, long startTime, GridCacheTxIsolation isolation,
-            GridCacheTxConcurrency concurrency, boolean invalidate, boolean implicit, long timeout,
-            GridCacheTxState state, boolean rollbackOnly) {
+        TxShadow(IgniteUuid xid, UUID nodeId, long threadId, long startTime, IgniteTxIsolation isolation,
+            IgniteTxConcurrency concurrency, boolean invalidate, boolean implicit, long timeout,
+            IgniteTxState state, boolean rollbackOnly) {
             this.xid = xid;
             this.nodeId = nodeId;
             this.threadId = threadId;
@@ -1441,12 +1441,12 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         }
 
         /** {@inheritDoc} */
-        @Override public GridCacheTxIsolation isolation() {
+        @Override public IgniteTxIsolation isolation() {
             return isolation;
         }
 
         /** {@inheritDoc} */
-        @Override public GridCacheTxConcurrency concurrency() {
+        @Override public IgniteTxConcurrency concurrency() {
             return concurrency;
         }
 
@@ -1466,7 +1466,7 @@ public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
         }
 
         /** {@inheritDoc} */
-        @Override public GridCacheTxState state() {
+        @Override public IgniteTxState state() {
             return state;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
index a6bfa58..3984e4c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
@@ -397,7 +397,7 @@ public interface GridCacheTxEx<K, V> extends IgniteTx, GridTimeoutObject {
      * @param state Transaction state.
      * @return {@code True} if transition was valid, {@code false} otherwise.
      */
-    public boolean state(GridCacheTxState state);
+    public boolean state(IgniteTxState state);
 
     /**
      * @param invalidate Invalidate flag.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
index 86d6cbd..c86ec28 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
@@ -24,9 +24,9 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index 28c56ee..837b9dd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -31,7 +31,7 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 
@@ -109,8 +109,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         boolean invalidate,
         boolean storeEnabled,
@@ -336,7 +336,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
             if (timedOut())
                 throw new GridCacheTxTimeoutException("Transaction timed out: " + this);
 
-            GridCacheTxState state = state();
+            IgniteTxState state = state();
 
             setRollbackOnly();
 
@@ -561,7 +561,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
     /** {@inheritDoc} */
     @SuppressWarnings({"CatchGenericClass"})
     @Override public void userCommit() throws IgniteCheckedException {
-        GridCacheTxState state = state();
+        IgniteTxState state = state();
 
         if (state != COMMITTING) {
             if (timedOut())
@@ -933,7 +933,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
 
     /** {@inheritDoc} */
     @Override public void userRollback() throws IgniteCheckedException {
-        GridCacheTxState state = state();
+        IgniteTxState state = state();
 
         if (state != ROLLING_BACK && state != ROLLED_BACK) {
             setRollbackOnly();
@@ -2645,7 +2645,7 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
             if (timedOut())
                 throw new GridCacheTxTimeoutException("Cache transaction timed out: " + this);
 
-            GridCacheTxState state = state();
+            IgniteTxState state = state();
 
             if (state == ROLLING_BACK || state == ROLLED_BACK)
                 throw new GridCacheTxRollbackException("Cache transaction is marked as rollback-only " +
@@ -2689,9 +2689,9 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
 
         checkInternal(key);
 
-        GridCacheTxState state = state();
+        IgniteTxState state = state();
 
-        assert state == GridCacheTxState.ACTIVE || timedOut() :
+        assert state == IgniteTxState.ACTIVE || timedOut() :
             "Invalid tx state for adding entry [op=" + op + ", val=" + val + ", entry=" + entry + ", filter=" +
                 Arrays.toString(filter) + ", txCtx=" + cctx.tm().txContextVersion() + ", tx=" + this + ']';
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
index 42f8364..dc35d47 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
@@ -33,8 +33,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 import static org.gridgain.grid.util.GridConcurrentFactory.*;
@@ -173,7 +173,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     private boolean salvageTx(GridCacheTxEx<K, V> tx, boolean warn, GridCacheTxEx.FinalizationStatus status) {
         assert tx != null;
 
-        GridCacheTxState state = tx.state();
+        IgniteTxState state = tx.state();
 
         if (state == ACTIVE || state == PREPARING || state == PREPARED) {
             try {
@@ -362,8 +362,8 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
         boolean implicit,
         boolean implicitSingle,
         boolean sys,
-        GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
         long timeout,
         boolean invalidate,
         boolean storeEnabled,
@@ -494,9 +494,9 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
      * Creates a future that will wait for all ongoing transactions that maybe affected by topology update
      * to be finished. This set of transactions include
      * <ul>
-     *     <li/> All {@link GridCacheTxConcurrency#PESSIMISTIC} transactions with topology version
+     *     <li/> All {@link IgniteTxConcurrency#PESSIMISTIC} transactions with topology version
      *     less or equal to {@code topVer}.
-     *     <li/> {@link GridCacheTxConcurrency#OPTIMISTIC} transactions in PREPARING state with topology
+     *     <li/> {@link IgniteTxConcurrency#OPTIMISTIC} transactions in PREPARING state with topology
      *     version less or equal to {@code topVer} and having transaction key with entry that belongs to
      *     one of partitions in {@code parts}.
      * </ul>
@@ -530,7 +530,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
             else if (tx.concurrency() == OPTIMISTIC) {
                 // For OPTIMISTIC mode we wait only for txs in PREPARING state that
                 // have keys for given partitions.
-                GridCacheTxState state = tx.state();
+                IgniteTxState state = tx.state();
                 long txTopVer = tx.topologyVersion();
 
                 if ((state == PREPARING || state == PREPARED || state == COMMITTING)
@@ -1680,7 +1680,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
      * @param newState New state.
      * @param tx Cache transaction.
      */
-    public void onTxStateChange(@Nullable GridCacheTxState prevState, GridCacheTxState newState, IgniteTx tx) {
+    public void onTxStateChange(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx) {
         // Notify synchronizations.
         for (GridCacheTxSynchronization s : syncs)
             s.onStateChanged(prevState, newState, tx);
@@ -1755,7 +1755,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
 
         for (GridCacheTxEx<K, V> tx : txs()) {
             if (nearVer.equals(tx.nearXidVersion())) {
-                GridCacheTxState state = tx.state();
+                IgniteTxState state = tx.state();
 
                 if (state == PREPARED || state == COMMITTING || state == COMMITTED) {
                     if (--txNum == 0)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
index dbd7c0f..e29da86 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
@@ -1199,7 +1199,7 @@ public class GridCacheUtils {
      * @return New transaction.
      */
     public static IgniteTx txStartInternal(GridCacheContext ctx, GridCacheProjection prj,
-        GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+        IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) {
         assert ctx != null;
         assert prj != null;
 
@@ -1612,8 +1612,8 @@ public class GridCacheUtils {
      * @param clo Closure.
      * @throws IgniteCheckedException If failed.
      */
-    public static <K, V> void inTx(GridCacheProjection<K, V> cache, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, IgniteInClosureX<GridCacheProjection<K ,V>> clo) throws IgniteCheckedException {
+    public static <K, V> void inTx(GridCacheProjection<K, V> cache, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, IgniteInClosureX<GridCacheProjection<K ,V>> clo) throws IgniteCheckedException {
 
         try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
             clo.applyx(cache);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
index 844bd44..7d43bc4 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
@@ -107,12 +107,12 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxIsolation isolation() {
+    @Override public IgniteTxIsolation isolation() {
         return tx.isolation();
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxConcurrency concurrency() {
+    @Override public IgniteTxConcurrency concurrency() {
         return tx.concurrency();
     }
 
@@ -132,7 +132,7 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxState state() {
+    @Override public IgniteTxState state() {
         return tx.state();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
index 10a2ad6..1af8cb2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
@@ -22,8 +22,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Cache atomic long implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
index 7d10060..97b7c19 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
@@ -22,8 +22,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Cache atomic reference implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
index ba25633..5ed2d60 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.*;
 import java.util.concurrent.locks.*;
 
 import static java.util.concurrent.TimeUnit.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Cache sequence implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
index 51aaf45..78bfec1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
@@ -24,8 +24,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Cache atomic stamped implementation.


[14/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
index d2bbd3c..1103b29 100644
--- a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
@@ -30,7 +30,7 @@ public class GridGeneratingTestStore implements GridCacheStore<String, String> {
     private String cacheName;
 
     /** {@inheritDoc} */
-    @Override public String load(@Nullable GridCacheTx tx, String key)
+    @Override public String load(@Nullable IgniteTx tx, String key)
         throws IgniteCheckedException {
         return null;
     }
@@ -59,38 +59,38 @@ public class GridGeneratingTestStore implements GridCacheStore<String, String> {
     }
 
     /** {@inheritDoc} */
-    @Override public void loadAll(@Nullable GridCacheTx tx,
+    @Override public void loadAll(@Nullable IgniteTx tx,
         @Nullable Collection<? extends String> keys, IgniteBiInClosure<String, String> c) throws IgniteCheckedException {
         for (String key : keys)
             c.apply(key, "val" + key);
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, String key, @Nullable String val)
+    @Override public void put(@Nullable IgniteTx tx, String key, @Nullable String val)
         throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(@Nullable GridCacheTx tx,
+    @Override public void putAll(@Nullable IgniteTx tx,
         @Nullable Map<? extends String, ? extends String> map) throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, String key)
+    @Override public void remove(@Nullable IgniteTx tx, String key)
         throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(@Nullable GridCacheTx tx,
+    @Override public void removeAll(@Nullable IgniteTx tx,
         @Nullable Collection<? extends String> keys) throws IgniteCheckedException {
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         // No-op.
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
index c52f744..aa606a2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
@@ -185,7 +185,7 @@ public class GridCacheJdbcBlobStoreMultithreadedSelfTest extends GridCommonAbstr
                 for (int i = 0; i < TX_CNT; i++) {
                     GridCache<Integer, String> cache = cache(rnd.nextInt(GRID_CNT));
 
-                    try (GridCacheTx tx = cache.txStart()) {
+                    try (IgniteTx tx = cache.txStart()) {
                         cache.put(1, "value");
                         cache.put(2, "value");
                         cache.put(3, "value");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
index eb372e7..152125c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
@@ -95,7 +95,7 @@ public class GridStartStopSelfTest extends GridCommonAbstractTest {
         Thread stopper = new Thread(new Runnable() {
             @Override public void run() {
                 try {
-                    try (GridCacheTx ignored = g0.cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx ignored = g0.cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         g0.cache(null).get(1);
 
                         latch.countDown();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 4cdebae..5368195 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -429,7 +429,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception In case of error.
      */
     public void testGetAll() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         cache().put("key1", 1);
         cache().put("key2", 2);
@@ -517,7 +517,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testGetAllDuplicatesTx() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx ignored = cache().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx ignored = cache().txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 cache().getAll(F.asList("key1", "key1", "key1"));
             }
         }
@@ -528,7 +528,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testGetTxNonExistingKey() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx ignored = cache().txStart()) {
+            try (IgniteTx ignored = cache().txStart()) {
                 cache().get("key999123");
             }
         }
@@ -539,7 +539,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testGetAllFilteredTx() throws Exception {
         if (txEnabled()) {
-            GridCacheTx tx = cache().txStart();
+            IgniteTx tx = cache().txStart();
 
             cache().put("key1", 100);
             cache().put("key2", 101);
@@ -701,7 +701,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testPutTx() throws Exception {
         if (txEnabled()) {
-            GridCacheTx tx = cache().txStart();
+            IgniteTx tx = cache().txStart();
 
             assert cache().put("key1", 1) == null;
             assert cache().put("key2", 2) == null;
@@ -776,7 +776,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache.put("key3", 3);
 
 
-        GridCacheTx tx = txEnabled() ? cache.txStart(concurrency, isolation) : null;
+        IgniteTx tx = txEnabled() ? cache.txStart(concurrency, isolation) : null;
 
         try {
             cache.transform("key1", INCR_CLOS);
@@ -983,7 +983,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         throws Exception {
         GridCacheProjection<String, Integer> cache = cache();
 
-        GridCacheTx tx = txEnabled() ? cache.txStart(concurrency, READ_COMMITTED) : null;
+        IgniteTx tx = txEnabled() ? cache.txStart(concurrency, READ_COMMITTED) : null;
 
         try {
             if (startVal)
@@ -1034,7 +1034,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
 
         cache.put("key", 4);
 
-        GridCacheTx tx = txEnabled() ? cache.txStart(concurrency, READ_COMMITTED) : null;
+        IgniteTx tx = txEnabled() ? cache.txStart(concurrency, READ_COMMITTED) : null;
 
         try {
             cache.remove("key");
@@ -1102,7 +1102,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         if (!put)
             cache.put("key", 1);
 
-        GridCacheTx tx = txEnabled() ? cache.txStart(concurrency, isolation) : null;
+        IgniteTx tx = txEnabled() ? cache.txStart(concurrency, isolation) : null;
 
         try {
             if (put)
@@ -1129,7 +1129,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testPutFiltered() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         cache().put("key1", 1, F.<String, Integer>cacheNoPeekValue());
         cache().put("key2", 100, gte100);
@@ -1267,7 +1267,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception In case of error.
      */
     public void testPutAsyncFiltered() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         assert cache().putAsync("key1", 1, gte100).get() == null;
         assert cache().putAsync("key2", 101, F.<String, Integer>cacheNoPeekValue()).get() == null;
@@ -1314,7 +1314,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     private void checkPutx(boolean inTx) throws Exception {
-        GridCacheTx tx = inTx ? cache().txStart() : null;
+        IgniteTx tx = inTx ? cache().txStart() : null;
 
         assert cache().putx("key1", 1);
         assert cache().putx("key2", 2);
@@ -1412,7 +1412,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
     private void checkFilters1(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
         cache().putx("key1", 0);
 
-        GridCacheTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
+        IgniteTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
 
         try {
             assert cache().putx("key1", 100);
@@ -1451,7 +1451,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
     private void checkFilters2(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
         cache().putx("key1", 100);
 
-        GridCacheTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
+        IgniteTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
 
         try {
             cache().put("key1", 101, F.<GridCacheEntry<String, Integer>>alwaysFalse());
@@ -1489,7 +1489,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
     private void checkFilters3(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
         cache().putx("key1", 100);
 
-        GridCacheTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
+        IgniteTx tx = txEnabled() ? cache().txStart(concurrency, isolation) : null;
 
         try {
             assertEquals((Integer)100, cache().put("key1", 101, F.<GridCacheEntry<String, Integer>>alwaysTrue()));
@@ -1524,7 +1524,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testPutxFiltered() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             cache().putx("key1", 1, F.<String, Integer>cacheHasPeekValue());
@@ -1548,14 +1548,14 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testPutxAsync() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         cache().put("key2", 1);
 
         IgniteFuture<Boolean> fut1 = cache().putxAsync("key1", 10);
         IgniteFuture<Boolean> fut2 = cache().putxAsync("key2", 11);
 
-        IgniteFuture<GridCacheTx> f = tx == null ? null : tx.commitAsync();
+        IgniteFuture<IgniteTx> f = tx == null ? null : tx.commitAsync();
 
         assert fut1.get();
         assert fut2.get();
@@ -1732,7 +1732,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception In case of error.
      */
     public void testPutIfAbsent() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             assert cache().putIfAbsent("key", 1) == null;
@@ -1807,7 +1807,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      * @throws Exception If failed.
      */
     public void testPutIfAbsentAsync() throws Exception {
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             IgniteFuture<Integer> fut1 = cache().putIfAbsentAsync("key", 1);
@@ -1888,7 +1888,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache().clear("key3");
 
         // Same checks inside tx.
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             assertFalse(cache().putxIfAbsent("key2", 3));
@@ -1952,7 +1952,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache().clear("key3");
 
         // Same checks inside tx.
-        GridCacheTx tx = inTx ? cache().txStart() : null;
+        IgniteTx tx = inTx ? cache().txStart() : null;
 
         try {
             assertFalse(cache().putxIfAbsentAsync("key2", 3).get());
@@ -2046,7 +2046,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache().evict("key");
         cache().clear("key2");
 
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             assert cache().replace("key", 4, 5);
@@ -2093,7 +2093,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache().evict("key");
         cache().clear("key2");
 
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             assert cache().replacex("key", 5);
@@ -2154,7 +2154,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache().evict("key");
         cache().clear("key2");
 
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             assert cache().replaceAsync("key", 4, 5).get();
@@ -2203,7 +2203,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         cache().evict("key");
         cache().clear("key2");
 
-        GridCacheTx tx = txEnabled() ? cache().txStart() : null;
+        IgniteTx tx = txEnabled() ? cache().txStart() : null;
 
         try {
             assert cache().replacexAsync("key", 5).get();
@@ -2445,7 +2445,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testRemoveAllDuplicatesTx() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx tx = cache().txStart()) {
+            try (IgniteTx tx = cache().txStart()) {
                 cache().removeAll(Arrays.asList("key1", "key1", "key1"));
 
                 tx.commit();
@@ -3862,7 +3862,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
 
         cache.put("key", 1);
 
-        GridCacheTx tx = txEnabled() ? cache.txStart() : null;
+        IgniteTx tx = txEnabled() ? cache.txStart() : null;
 
         try {
             cache.replace("key", 2);
@@ -3899,7 +3899,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
 
             cache.put("key", 1);
 
-            try (GridCacheTx tx = cache.txStart(concurrency, READ_COMMITTED)) {
+            try (IgniteTx tx = cache.txStart(concurrency, READ_COMMITTED)) {
                 cache.remove("key");
 
                 assertNull(cache.peek("key"));
@@ -3975,7 +3975,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         }
 
         if (txEnabled()) {
-            GridCacheTx tx = cache.txStart();
+            IgniteTx tx = cache.txStart();
 
             cache.replace(key, 2);
 
@@ -4072,7 +4072,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         assertEquals((Integer)100, peek(cache2.projection(gte100), "key2"));
 
         if (txEnabled()) {
-            GridCacheTx tx = cache().txStart();
+            IgniteTx tx = cache().txStart();
 
             assertEquals((Integer)1, cache1.replace("key1", 101));
             assertEquals((Integer)100, cache2.replace("key2", 2));
@@ -4217,7 +4217,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
             String key = "1";
             int ttl = 500;
 
-            try (GridCacheTx tx = c.txStart()) {
+            try (IgniteTx tx = c.txStart()) {
                 GridCacheEntry<String, Integer> entry = c.entry(key);
 
                 entry.timeToLive(ttl);
@@ -4283,7 +4283,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
 
         if (inTx) {
             // Rollback transaction for the first time.
-            GridCacheTx tx = c.txStart();
+            IgniteTx tx = c.txStart();
 
             try {
                 entry.timeToLive(ttl);
@@ -4302,7 +4302,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         }
 
         // Now commit transaction and check that ttl and expire time have been saved.
-        GridCacheTx tx = inTx ? c.txStart() : null;
+        IgniteTx tx = inTx ? c.txStart() : null;
 
         try {
             entry.timeToLive(ttl);
@@ -4676,7 +4676,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
     public void testOptimisticTxMissingKey() throws Exception {
         if (txEnabled()) {
 
-            try (GridCacheTx tx = cache().txStart(OPTIMISTIC, READ_COMMITTED)) {
+            try (IgniteTx tx = cache().txStart(OPTIMISTIC, READ_COMMITTED)) {
                 // Remove missing key.
                 assertTrue(cache().removex(UUID.randomUUID().toString()));
 
@@ -4693,7 +4693,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
     public void testOptimisticTxMissingKeyNoCommit() throws Exception {
         if (txEnabled()) {
 
-            try (GridCacheTx tx = cache().txStart(OPTIMISTIC, READ_COMMITTED)) {
+            try (IgniteTx tx = cache().txStart(OPTIMISTIC, READ_COMMITTED)) {
                 // Remove missing key.
                 assertTrue(cache().removex(UUID.randomUUID().toString()));
 
@@ -4772,7 +4772,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testPessimisticTxMissingKey() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx tx = cache().txStart(PESSIMISTIC, READ_COMMITTED)) {
+            try (IgniteTx tx = cache().txStart(PESSIMISTIC, READ_COMMITTED)) {
                 // Remove missing key.
                 assertFalse(cache().removex(UUID.randomUUID().toString()));
 
@@ -4788,7 +4788,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testPessimisticTxMissingKeyNoCommit() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx tx = cache().txStart(PESSIMISTIC, READ_COMMITTED)) {
+            try (IgniteTx tx = cache().txStart(PESSIMISTIC, READ_COMMITTED)) {
                 // Remove missing key.
                 assertFalse(cache().removex(UUID.randomUUID().toString()));
 
@@ -4802,7 +4802,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testPessimisticTxRepeatableRead() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx ignored = cache().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx ignored = cache().txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 cache().putx("key", 1);
 
                 assert cache().get("key") == 1;
@@ -4815,7 +4815,7 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
      */
     public void testPessimisticTxRepeatableReadOnUpdate() throws Exception {
         if (txEnabled()) {
-            try (GridCacheTx ignored = cache().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx ignored = cache().txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 cache().put("key", 1);
 
                 assert cache().put("key", 2) == 1;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
index a964433..db54883 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
@@ -185,7 +185,7 @@ public abstract class GridCacheAbstractProjectionSelfTest extends GridCacheAbstr
         int size = 10;
 
         if (atomicityMode() == TRANSACTIONAL) {
-            GridCacheTx tx = prj.txStart();
+            IgniteTx tx = prj.txStart();
 
             for (int i = 0; i < size; i++)
                 prj.put("key" + i, i);
@@ -735,7 +735,7 @@ public abstract class GridCacheAbstractProjectionSelfTest extends GridCacheAbstr
         if (atomicityMode() == ATOMIC)
             return;
 
-        GridCacheTx tx = cache().txStart();
+        IgniteTx tx = cache().txStart();
 
         GridCacheProjection<String, Integer> typePrj = cache().projection(String.class, Integer.class);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
index 5b246c4..314df0b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
@@ -86,7 +86,7 @@ public abstract class GridCacheAbstractSelfTest extends GridCommonAbstractTest {
 
     /** {@inheritDoc} */
     @Override protected void afterTest() throws Exception {
-        GridCacheTx tx = cache().tx();
+        IgniteTx tx = cache().tx();
 
         if (tx != null) {
             tx.close();
@@ -274,15 +274,15 @@ public abstract class GridCacheAbstractSelfTest extends GridCommonAbstractTest {
                     clo.apply(e.getKey(), e.getValue());
             }
 
-            @Override public Object load(GridCacheTx tx, Object key) {
+            @Override public Object load(IgniteTx tx, Object key) {
                 return map.get(key);
             }
 
-            @Override public void put(GridCacheTx tx, Object key, @Nullable Object val) {
+            @Override public void put(IgniteTx tx, Object key, @Nullable Object val) {
                 map.put(key, val);
             }
 
-            @Override public void remove(GridCacheTx tx, Object key) {
+            @Override public void remove(IgniteTx tx, Object key) {
                 map.remove(key);
             }
         };

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
index f05fc8a..50f272c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
@@ -58,7 +58,7 @@ public abstract class GridCacheAbstractTtlSelfTest extends GridCacheAbstractSelf
         String key = "1";
         int ttl = 500;
 
-        try (GridCacheTx tx = c.txStart()) {
+        try (IgniteTx tx = c.txStart()) {
             GridCacheEntry<String, Integer> entry = c.entry(key);
 
             entry.timeToLive(ttl);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
index 0ab26fe..544a1ad 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
@@ -94,7 +94,7 @@ public abstract class GridCacheAbstractTxReadTest extends GridCacheAbstractSelfT
 
         cache.clearAll();
 
-        GridCacheTx tx = cache.txStart(concurrency, isolation);
+        IgniteTx tx = cache.txStart(concurrency, isolation);
 
         try {
             cache.put("key", 1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
index 96bab24..b52ac94 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
@@ -136,7 +136,7 @@ public abstract class GridCacheBasicStoreAbstractTest extends GridCommonAbstract
         assert map.isEmpty();
 
         if (atomicityMode() == TRANSACTIONAL) {
-            try (GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
                 for (int i = 1; i <= 10; i++) {
                     cache.putx(i, Integer.toString(i));
 
@@ -169,7 +169,7 @@ public abstract class GridCacheBasicStoreAbstractTest extends GridCommonAbstract
         store.resetLastMethod();
 
         if (atomicityMode() == TRANSACTIONAL) {
-            try (GridCacheTx tx = cache.txStart()) {
+            try (IgniteTx tx = cache.txStart()) {
                 for (int i = 1; i <= 10; i++) {
                     String val = cache.remove(i);
 
@@ -207,7 +207,7 @@ public abstract class GridCacheBasicStoreAbstractTest extends GridCommonAbstract
         assert map.isEmpty();
 
         if (atomicityMode() == TRANSACTIONAL) {
-            try (GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
                 for (int i = 1; i <= 10; i++)
                     cache.putx(i, Integer.toString(i));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
index 536c69a..b3b326f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
@@ -82,17 +82,17 @@ public abstract class GridCacheBasicStoreMultithreadedAbstractTest extends GridC
         final AtomicInteger cntr = new AtomicInteger();
 
         store = new GridCacheStoreAdapter<Integer, Integer>() {
-            @Override public Integer load(@Nullable GridCacheTx tx, Integer key) {
+            @Override public Integer load(@Nullable IgniteTx tx, Integer key) {
                 return cntr.incrementAndGet();
             }
 
             /** {@inheritDoc} */
-            @Override public void put(GridCacheTx tx, Integer key, @Nullable Integer val) {
+            @Override public void put(IgniteTx tx, Integer key, @Nullable Integer val) {
                 assert false;
             }
 
             /** {@inheritDoc} */
-            @Override public void remove(GridCacheTx tx, Integer key) {
+            @Override public void remove(IgniteTx tx, Integer key) {
                 assert false;
             }
         };

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
index 8fede87..5a3fa25 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
@@ -288,7 +288,7 @@ public class GridCacheClearAllSelfTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     private void fillCache(GridCache<Integer, Integer> cache, int keysCnt) throws Exception {
-        try (GridCacheTx tx = cache.txStart()) {
+        try (IgniteTx tx = cache.txStart()) {
             for (int i = 0; i < keysCnt; i++)
                 cache.put(i, i);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
index 8364247..95bd38c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheColocatedTxStoreExceptionSelfTest.java
@@ -17,7 +17,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  *
  */
-public class GridCacheColocatedTxStoreExceptionSelfTest extends GridCacheTxStoreExceptionAbstractSelfTest {
+public class GridCacheColocatedTxStoreExceptionSelfTest extends IgniteTxStoreExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return PARTITIONED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
index 01ce0af..8d3860f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
@@ -608,7 +608,7 @@ public class GridCacheConcurrentTxMultiNodeTest extends GridCommonAbstractTest {
             Session ses = new Session(terminalId());
 
             try {
-                try (GridCacheTx tx = cache.txStart()) {
+                try (IgniteTx tx = cache.txStart()) {
                     Request req = new Request(getId());
 
                     req.setMessageId(getId());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
index 640667e..1ccece7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
@@ -985,7 +985,7 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
     /** */
     private static class TestStore implements GridCacheStore<Object,Object> {
         /** {@inheritDoc} */
-        @Nullable @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Nullable @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             return null;
         }
@@ -997,37 +997,37 @@ public class GridCacheConfigurationConsistencySelfTest extends GridCommonAbstrac
         }
 
         /** {@inheritDoc} */
-        @Override public void loadAll(@Nullable GridCacheTx tx,
+        @Override public void loadAll(@Nullable IgniteTx tx,
             @Nullable Collection<?> keys, IgniteBiInClosure<Object, Object> c) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Object key,
+        @Override public void put(@Nullable IgniteTx tx, Object key,
             @Nullable Object val) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void putAll(@Nullable GridCacheTx tx, @Nullable Map<?, ?> map)
+        @Override public void putAll(@Nullable IgniteTx tx, @Nullable Map<?, ?> map)
             throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Object key)
+        @Override public void remove(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void removeAll(@Nullable GridCacheTx tx,
+        @Override public void removeAll(@Nullable IgniteTx tx,
             @Nullable Collection<?> keys) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+        @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
             // No-op.
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
index 06ff089..6173193 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
@@ -121,7 +121,7 @@ public abstract class GridCacheDaemonNodeAbstractSelfTest extends GridCommonAbst
             GridCache<Integer, Integer> cache = grid(0).cache(null);
 
             for (int i = 0; i < 30; i++) {
-                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                     cache.put(i, i);
 
                     tx.commit();
@@ -133,7 +133,7 @@ public abstract class GridCacheDaemonNodeAbstractSelfTest extends GridCommonAbst
             for (int i = 30; i < 60; i++)
                 batch.put(i, i);
 
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 cache.putAll(batch);
                 tx.commit();
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
index 3fef406..5b5e372 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
@@ -432,7 +432,7 @@ public class GridCacheDeploymentSelfTest extends GridCommonAbstractTest {
 
             GridCache<Object, Object> cache = g1.cache(null);
 
-            try (GridCacheTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, REPEATABLE_READ, 0, 1)) {
+            try (IgniteTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, REPEATABLE_READ, 0, 1)) {
                 cache.put(new GridCacheAffinityKey<>("key1", affKey), "val1");
 
                 tx.commit();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
index 1f7b2c5..efe3a80 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
@@ -56,7 +56,7 @@ public abstract class GridCacheExAbstractFullApiSelfTest extends GridCacheAbstra
 
             GridCache<String, Integer> cache = cache();
 
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 int key = 0;
 
                 for (int i = 0; i < 1000; i++) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
index da92960..c7db6b0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
@@ -120,7 +120,7 @@ public class GridCacheFinishPartitionsSelfTest extends GridCacheAbstractSelfTest
 
                 GridCache<String, String> cache = grid(0).cache(null);
 
-                GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 cache.get(key);
 
@@ -180,7 +180,7 @@ public class GridCacheFinishPartitionsSelfTest extends GridCacheAbstractSelfTest
     public void testMvccFinishKeys() throws Exception {
         GridCache<String, Integer> cache = grid(0).cache(null);
 
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
             final String key = "key";
 
             cache.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
index 5402c41..d960d7b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
@@ -34,16 +34,16 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     /** */
     private long ts = System.currentTimeMillis();
 
-    /** {@link #put(GridCacheTx, Object, Object)} method call counter .*/
+    /** {@link #put(IgniteTx, Object, Object)} method call counter .*/
     private AtomicInteger putCnt = new AtomicInteger();
 
-    /** {@link #putAll(GridCacheTx, Map)} method call counter .*/
+    /** {@link #putAll(IgniteTx, Map)} method call counter .*/
     private AtomicInteger putAllCnt = new AtomicInteger();
 
-    /** {@link #remove(GridCacheTx, Object)} method call counter. */
+    /** {@link #remove(IgniteTx, Object)} method call counter. */
     private AtomicInteger rmvCnt = new AtomicInteger();
 
-    /** {@link #removeAll(GridCacheTx, Collection)} method call counter. */
+    /** {@link #removeAll(IgniteTx, Collection)} method call counter. */
     private AtomicInteger rmvAllCnt = new AtomicInteger();
 
     /** Flag indicating if methods of this store should fail. */
@@ -133,35 +133,35 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /**
-     * @return Count of {@link #put(GridCacheTx, Object, Object)} method calls since last reset.
+     * @return Count of {@link #put(IgniteTx, Object, Object)} method calls since last reset.
      */
     public int getPutCount() {
         return putCnt.get();
     }
 
     /**
-     * @return Count of {@link #putAll(GridCacheTx, Map)} method calls since last reset.
+     * @return Count of {@link #putAll(IgniteTx, Map)} method calls since last reset.
      */
     public int getPutAllCount() {
         return putAllCnt.get();
     }
 
     /**
-     * @return Number of {@link #remove(GridCacheTx, Object)} method calls since last reset.
+     * @return Number of {@link #remove(IgniteTx, Object)} method calls since last reset.
      */
     public int getRemoveCount() {
         return rmvCnt.get();
     }
 
     /**
-     * @return Number of {@link #removeAll(GridCacheTx, Collection)} method calls since last reset.
+     * @return Number of {@link #removeAll(IgniteTx, Collection)} method calls since last reset.
      */
     public int getRemoveAllCount() {
         return rmvAllCnt.get();
     }
 
     /** {@inheritDoc} */
-    @Override public V load(GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public V load(IgniteTx tx, K key) throws IgniteCheckedException {
         lastMtd = "load";
 
         checkOperation();
@@ -178,7 +178,7 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void loadAll(GridCacheTx tx, Collection<? extends K> keys,
+    @Override public void loadAll(IgniteTx tx, Collection<? extends K> keys,
         IgniteBiInClosure<K, V> c) throws IgniteCheckedException {
         lastMtd = "loadAll";
 
@@ -193,7 +193,7 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, K key, V val)
+    @Override public void put(@Nullable IgniteTx tx, K key, V val)
         throws IgniteCheckedException {
         lastMtd = "put";
 
@@ -205,7 +205,7 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(GridCacheTx tx, Map<? extends K, ? extends V> map)
+    @Override public void putAll(IgniteTx tx, Map<? extends K, ? extends V> map)
         throws IgniteCheckedException {
         lastMtd = "putAll";
 
@@ -217,7 +217,7 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public void remove(IgniteTx tx, K key) throws IgniteCheckedException {
         lastMtd = "remove";
 
         checkOperation();
@@ -228,7 +228,7 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(GridCacheTx tx, Collection<? extends K> keys)
+    @Override public void removeAll(IgniteTx tx, Collection<? extends K> keys)
         throws IgniteCheckedException {
         lastMtd = "removeAll";
 
@@ -241,7 +241,7 @@ public class GridCacheGenericTestStore<K, V> implements GridCacheStore<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) {
+    @Override public void txEnd(IgniteTx tx, boolean commit) {
         // No-op.
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
index f8d095f..5a4fb1f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
@@ -144,7 +144,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         GridCacheAffinityKey<String> key1;
         GridCacheAffinityKey<String> key2;
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -229,7 +229,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -309,7 +309,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -391,7 +391,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
             GridTestUtils.assertThrows(log, new Callable<Object>() {
                 @Override public Object call() throws Exception {
-                    try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
+                    try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
                         cache.put(key1, "val01");
 
                         tx.commit();
@@ -449,7 +449,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         assertTrue(cache.lock(key1, 0));
 
         try {
-            try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
+            try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
                 cache.put(key1, "val01");
 
                 tx.commit();
@@ -500,7 +500,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         UUID key1;
         UUID key2;
 
-        try (GridCacheTx tx = cache.txStartPartition(cache.affinity().partition(affinityKey), concurrency,
+        try (IgniteTx tx = cache.txStartPartition(cache.affinity().partition(affinityKey), concurrency,
             READ_COMMITTED, 0, 2)) {
             // Note that events are not generated for internal keys.
             assertEquals("Unexpected number of lock events: " + locks.affectedKeys(), 0, locks.affectedKeys().size());
@@ -642,7 +642,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -683,7 +683,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -782,7 +782,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -862,7 +862,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         grid(0).events().localListen(locks, EVT_CACHE_OBJECT_LOCKED);
         grid(0).events().localListen(unlocks, EVT_CACHE_OBJECT_UNLOCKED);
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 2)) {
             if (concurrency == PESSIMISTIC)
                 assertTrue("Failed to wait for lock events: " + affinityKey, locks.awaitKeys(WAIT_TIMEOUT, affinityKey));
             else
@@ -916,7 +916,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         cache(0).put(key, "val");
 
-        try (GridCacheTx ignored = cache(0).txStartPartition(cache(0).affinity().partition(key), concurrency,
+        try (IgniteTx ignored = cache(0).txStartPartition(cache(0).affinity().partition(key), concurrency,
             REPEATABLE_READ, 0, 1)) {
             assertEquals("val", cache(0).get(key));
         }
@@ -944,7 +944,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
 
-        try (GridCacheTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
+        try (IgniteTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
             // Key with affinity key different from enlisted on tx start should raise exception.
             cache.put(new GridCacheAffinityKey<>("key1", UUID.randomUUID()), "val1");
 
@@ -983,7 +983,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
 
         cache.put(key, "val");
 
-        try (GridCacheTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
+        try (IgniteTx ignored = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 1)) {
             // Key with affinity key different from enlisted on tx start should raise exception.
             cache.remove(key);
 
@@ -1042,7 +1042,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         cache.put(key1, "0");
         cache.put(key2, "0");
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 3)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 3)) {
             assertEquals("0", cache.get(affinityKey));
             assertEquals("0", cache.get(key1));
             assertEquals("0", cache.get(key2));
@@ -1096,7 +1096,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
             key3, "val3",
             key4, "val4");
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 4)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 4)) {
             cache.put(key1, "val1");
             cache.put(key2, "val2");
             cache.put(key3, "val3");
@@ -1247,13 +1247,13 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         private AtomicInteger putCnt = new AtomicInteger();
 
         /** {@inheritDoc} */
-        @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             return null;
         }
 
         /** {@inheritDoc} */
-        @Override public void putAll(GridCacheTx tx,
+        @Override public void putAll(IgniteTx tx,
             Map<?, ?> map) throws IgniteCheckedException {
             storeMap.putAll(map);
 
@@ -1261,7 +1261,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Object key,
+        @Override public void put(@Nullable IgniteTx tx, Object key,
             @Nullable Object val) throws IgniteCheckedException {
             storeMap.put(key, val);
 
@@ -1269,7 +1269,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Object key)
+        @Override public void remove(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             storeMap.remove(key);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
index 2d636d6..d6f6e47 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
@@ -97,7 +97,7 @@ class GridCacheGroupLockPutTask extends ComputeTaskAdapter<Collection<Integer>,
                         Object affKey = pair.get1();
 
                         // Group lock partition.
-                        try (GridCacheTx tx = cache.txStartPartition(cache.affinity().partition(affKey),
+                        try (IgniteTx tx = cache.txStartPartition(cache.affinity().partition(affKey),
                             optimistic ? OPTIMISTIC : PESSIMISTIC, REPEATABLE_READ, 0, pair.get2().size())) {
                             for (Integer val : pair.get2())
                                 cache.put(val, val);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
index 349e803..c97379a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
@@ -866,7 +866,7 @@ public abstract class GridCacheInterceptorAbstractSelfTest extends GridCacheAbst
             assertNotNull(txIsolation);
             assertNotNull(op);
 
-            try (GridCacheTx tx = cache(0).txStart(txConcurrency, txIsolation)) {
+            try (IgniteTx tx = cache(0).txStart(txConcurrency, txIsolation)) {
                 update(0, op, key1, 100, 1);
                 update(0, op, key2, 200, 2);
                 update(0, op, key3, 300, 3);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
index 9b81b88..08682ee 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
@@ -51,7 +51,7 @@ public class GridCacheLifecycleAwareSelfTest extends GridAbstractLifecycleAwareS
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Object load(@Nullable GridCacheTx tx, Object key) {
+        @Nullable @Override public Object load(@Nullable IgniteTx tx, Object key) {
             return null;
         }
 
@@ -61,35 +61,35 @@ public class GridCacheLifecycleAwareSelfTest extends GridAbstractLifecycleAwareS
         }
 
         /** {@inheritDoc} */
-        @Override public void loadAll(@Nullable GridCacheTx tx, @Nullable Collection keys,
+        @Override public void loadAll(@Nullable IgniteTx tx, @Nullable Collection keys,
             IgniteBiInClosure c) {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Object key,
+        @Override public void put(@Nullable IgniteTx tx, Object key,
             @Nullable Object val) {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void putAll(@Nullable GridCacheTx tx, @Nullable Map map) {
+        @Override public void putAll(@Nullable IgniteTx tx, @Nullable Map map) {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Object key) {
+        @Override public void remove(@Nullable IgniteTx tx, Object key) {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void removeAll(@Nullable GridCacheTx tx,
+        @Override public void removeAll(@Nullable IgniteTx tx,
             @Nullable Collection keys) {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void txEnd(GridCacheTx tx, boolean commit) {
+        @Override public void txEnd(IgniteTx tx, boolean commit) {
             // No-op.
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLocalTxStoreExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLocalTxStoreExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLocalTxStoreExceptionSelfTest.java
index 6277dae..1807acb 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLocalTxStoreExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLocalTxStoreExceptionSelfTest.java
@@ -16,7 +16,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  *
  */
-public class GridCacheLocalTxStoreExceptionSelfTest extends GridCacheTxStoreExceptionAbstractSelfTest {
+public class GridCacheLocalTxStoreExceptionSelfTest extends IgniteTxStoreExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected int gridCount() {
         return 1;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
index 6ed7ff3..03b400e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
@@ -83,7 +83,7 @@ public abstract class GridCacheMarshallerTxAbstractTest extends GridCommonAbstra
         String key2 = UUID.randomUUID().toString();
         GridCacheWrongValue1 wrongValue = new GridCacheWrongValue1();
 
-        GridCacheTx tx = grid().cache(null).txStart(PESSIMISTIC, REPEATABLE_READ);
+        IgniteTx tx = grid().cache(null).txStart(PESSIMISTIC, REPEATABLE_READ);
         try {
             grid().cache(null).put(key, value);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
index d938916..b1217a6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
@@ -85,7 +85,7 @@ public class GridCacheMixedPartitionExchangeSelfTest extends GridCommonAbstractT
 
                         GridCache<Integer, Integer> prj = grid(g).cache(null);
 
-                        try (GridCacheTx tx = prj.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                        try (IgniteTx tx = prj.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                             Integer val = prj.get(key);
 
                             val = val == null ? 1 : val + 1;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
index f2b4525..152602e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
@@ -127,7 +127,7 @@ public class GridCacheMultiUpdateLockSelfTest extends GridCommonAbstractTest {
 
                         info(">>>> Checking tx in new grid.");
 
-                        try (GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                        try (IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                             assertEquals(2, c.get("a"));
                             assertEquals(4, c.get("b"));
                             assertEquals(6, c.get("c"));
@@ -148,7 +148,7 @@ public class GridCacheMultiUpdateLockSelfTest extends GridCommonAbstractTest {
 
                 info(">>>> Checking tx commit.");
 
-                GridCacheTx tx = cache0.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = cache0.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     cache0.put("a", 1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
index 7ac0470..0b46081 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
@@ -89,7 +89,7 @@ public class GridCacheMvccManagerSelfTest extends GridCommonAbstractTest {
 
             GridCache<Integer, Integer> cache = ignite.cache(null);
 
-            GridCacheTx tx = cache.txStart();
+            IgniteTx tx = cache.txStart();
 
             cache.put(1, 1);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNearTxStoreExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNearTxStoreExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNearTxStoreExceptionSelfTest.java
index 9210f45..e547591 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNearTxStoreExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNearTxStoreExceptionSelfTest.java
@@ -16,7 +16,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  *
  */
-public class GridCacheNearTxStoreExceptionSelfTest extends GridCacheTxStoreExceptionAbstractSelfTest {
+public class GridCacheNearTxStoreExceptionSelfTest extends IgniteTxStoreExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return PARTITIONED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
index 1b1dc9b..7d9be00 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
@@ -104,7 +104,7 @@ public class GridCacheNestedTxAbstractTest extends GridCommonAbstractTest {
         c.put(CNTR_KEY, 0);
 
         for (int i = 0; i < 10; i++) {
-            try (GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 c.get(CNTR_KEY);
 
                 ctx.closure().callLocalSafe((new Callable<Boolean>() {
@@ -139,7 +139,7 @@ public class GridCacheNestedTxAbstractTest extends GridCommonAbstractTest {
 
             threads.add(new Thread(new Runnable() {
                 @Override public void run() {
-                    GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ);
+                    IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                     try {
                         int cntr = c.get(CNTR_KEY);
@@ -228,7 +228,7 @@ public class GridCacheNestedTxAbstractTest extends GridCommonAbstractTest {
 
                         info("*** Cntr in lock thread: " + cntr);
 
-                        GridCacheTx tx = c.txStart(OPTIMISTIC, READ_COMMITTED);
+                        IgniteTx tx = c.txStart(OPTIMISTIC, READ_COMMITTED);
 
                         try {
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
index b6b8a48..3a60003 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
@@ -163,7 +163,7 @@ public class GridCacheObjectToStringSelfTest extends GridCommonAbstractTest {
             assertNotNull(entries);
             assertFalse(entries.toString().isEmpty());
 
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 assertEquals(1, cache.get(1));
 
                 cache.put(2, 22);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
index 614eed8..1a9b121 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
@@ -61,7 +61,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
                     if (i % 500 == 0)
                         log.info("Iteration " + i);
 
-                    try (GridCacheTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
                         cache.transform(key, new IncClosure());
 
                         tx.commit();
@@ -125,7 +125,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
                     if (i % 500 == 0)
                         log.info("Iteration " + i);
 
-                    try (GridCacheTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
                         Integer val = cache.put(key, i);
 
                         assertNotNull(val);
@@ -181,7 +181,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
                     if (i % 500 == 0)
                         log.info("Iteration " + i);
 
-                    try (GridCacheTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
                         cache.putx(key, i, new TestFilter());
 
                         tx.commit();
@@ -237,7 +237,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
                     if (i % 500 == 0)
                         log.info("Iteration " + i);
 
-                    try (GridCacheTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(txConcurrency, REPEATABLE_READ)) {
                         assertFalse(cache.putxIfAbsent(key, 100));
 
                         tx.commit();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
index d3c185f..7ae9e9d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
@@ -226,7 +226,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
     private void checkPutGetRemoveTx(Integer key, GridCacheTxConcurrency txConcurrency) throws Exception {
         GridCache<Integer, Integer> c = grid(0).cache(null);
 
-        GridCacheTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
+        IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
 
         assertNull(c.put(key, key));
 
@@ -251,7 +251,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
     private void checkPutGetRemoveTxByteArray(Integer key, GridCacheTxConcurrency txConcurrency) throws Exception {
         GridCache<Integer, byte[]> c = grid(0).cache(null);
 
-        GridCacheTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
+        IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
 
         byte[] val = new byte[] {key.byteValue()};
 
@@ -370,7 +370,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
 
         assertTrue(map0.isEmpty());
 
-        try (GridCacheTx tx = c.txStart(txConcurrency, REPEATABLE_READ)) {
+        try (IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ)) {
             c.putAll(map);
 
             tx.commit();
@@ -383,7 +383,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
         for (Map.Entry<Integer, Integer> e : map.entrySet())
             checkValue(e.getKey(), e.getValue());
 
-        try (GridCacheTx tx = c.txStart(txConcurrency, REPEATABLE_READ)) {
+        try (IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ)) {
             c.removeAll(map.keySet());
 
             tx.commit();
@@ -458,7 +458,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
 
         TestValue val = new TestValue(new byte[10]);
 
-        GridCacheTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
+        IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
 
         assertNull(c.put(key, val));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
index 4d4453e..7adacd7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
@@ -58,13 +58,13 @@ public class GridCacheOffheapUpdateSelfTest extends GridCommonAbstractTest {
 
             GridCache<Object, Object> locCache = grid(1).cache(null);
 
-            try (GridCacheTx tx = locCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = locCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 locCache.putxIfAbsent(key, 0);
 
                 tx.commit();
             }
 
-            try (GridCacheTx tx = rmtCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = rmtCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 assertEquals(0, rmtCache.get(key));
 
                 rmtCache.putx(key, 1);
@@ -72,7 +72,7 @@ public class GridCacheOffheapUpdateSelfTest extends GridCommonAbstractTest {
                 tx.commit();
             }
 
-            try (GridCacheTx tx = rmtCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = rmtCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 assertEquals(1, rmtCache.get(key));
 
                 rmtCache.putx(key, 2);
@@ -116,11 +116,11 @@ public class GridCacheOffheapUpdateSelfTest extends GridCommonAbstractTest {
 
             assertEquals(10, cache.get(key));
 
-            try (GridCacheTx ignored = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx ignored = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
                 assertEquals(10, cache.get(key));
             }
 
-            try (GridCacheTx ignored = cache.txStart(PESSIMISTIC, READ_COMMITTED)) {
+            try (IgniteTx ignored = cache.txStart(PESSIMISTIC, READ_COMMITTED)) {
                 assertEquals(10, cache.get(key));
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
index eca8e0e..6f07b76 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
@@ -70,18 +70,18 @@ public class GridCachePartitionedWritesTest extends GridCommonAbstractTest {
         final AtomicInteger rmvCnt = new AtomicInteger();
 
         store = new GridCacheStoreAdapter() {
-            @Override public Object load(@Nullable GridCacheTx tx, Object key) {
+            @Override public Object load(@Nullable IgniteTx tx, Object key) {
                 info(">>> Get [key=" + key + ']');
 
                 return null;
             }
 
-            @Override public void put(@Nullable GridCacheTx tx, Object key,
+            @Override public void put(@Nullable IgniteTx tx, Object key,
                 @Nullable Object val) {
                 putCnt.incrementAndGet();
             }
 
-            @Override public void remove(@Nullable GridCacheTx tx, Object key) {
+            @Override public void remove(@Nullable IgniteTx tx, Object key) {
                 rmvCnt.incrementAndGet();
             }
         };
@@ -93,7 +93,7 @@ public class GridCachePartitionedWritesTest extends GridCommonAbstractTest {
         try {
             cache.get(1);
 
-            GridCacheTx tx = cache.txStart();
+            IgniteTx tx = cache.txStart();
 
             try {
                 for (int i = 1; i <= 10; i++)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
index 9946949..603de12 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
@@ -422,7 +422,7 @@ public class GridCacheReferenceCleanupSelfTest extends GridCommonAbstractTest {
 
                     refs.add(new WeakReference<Object>(cacheContext(cache)));
 
-                    GridCacheTx tx = cache.txStart();
+                    IgniteTx tx = cache.txStart();
 
                     TestValue val = new TestValue(0);
 
@@ -459,7 +459,7 @@ public class GridCacheReferenceCleanupSelfTest extends GridCommonAbstractTest {
 
                     refs.add(new WeakReference<Object>(cacheContext(cache)));
 
-                    GridCacheTx tx = cache.txStart();
+                    IgniteTx tx = cache.txStart();
 
                     for (int i = 0; i < 1000; i++) {
                         TestValue val = new TestValue(i);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
index 0872b12..5c9a557 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
@@ -122,7 +122,7 @@ public abstract class GridCacheRefreshAheadAbstractSelfTest extends GridCommonAb
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Object load(GridCacheTx tx, Object key) throws IgniteCheckedException {
+        @Nullable @Override public Object load(IgniteTx tx, Object key) throws IgniteCheckedException {
             if (trackLoads) {
                 wasAsyncLoad = wasAsyncLoad || !testThread.equals(Thread.currentThread());
 
@@ -138,12 +138,12 @@ public abstract class GridCacheRefreshAheadAbstractSelfTest extends GridCommonAb
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Object key, Object val) throws IgniteCheckedException {
+        @Override public void put(IgniteTx tx, Object key, Object val) throws IgniteCheckedException {
             /* No-op. */
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Object key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Object key) throws IgniteCheckedException {
             /* No-op. */
         }
 


[09/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
deleted file mode 100644
index 08c4821..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed;
-
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.cache.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.testframework.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-
-/**
- * Tests transaction during cache preloading.
- */
-public abstract class GridCacheTxPreloadAbstractTest extends GridCacheAbstractSelfTest {
-    /** */
-    private static final int GRID_CNT = 6;
-
-    /** */
-    private static volatile boolean keyNotLoaded;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        keyNotLoaded = false;
-
-        startGrid(0);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        stopAllGrids();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return GRID_CNT;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemoteTxPreloading() throws Exception {
-        GridCache<String, Integer> cache = cache(0);
-
-        for (int i = 0; i < 10000; i++)
-            cache.put(String.valueOf(i), 0);
-
-        final AtomicInteger gridIdx = new AtomicInteger(1);
-
-        IgniteFuture<?> fut = GridTestUtils.runMultiThreadedAsync(
-            new Callable<Object>() {
-                @Nullable @Override public Object call() throws Exception {
-                    int idx = gridIdx.getAndIncrement();
-
-                    startGrid(idx);
-
-                    return null;
-                }
-            },
-            GRID_CNT - 1,
-            "grid-starter-" + getName()
-        );
-
-        waitForRemoteNodes(grid(0), 2);
-
-        Set<String> keys = new HashSet<>();
-
-        for (int i = 0; i < 10; i++)
-            keys.add(String.valueOf(i * 1000));
-
-        cache.transformAll(keys, new C1<Integer, Integer>() {
-            @Override public Integer apply(Integer val) {
-                if (val == null)
-                    keyNotLoaded = true;
-
-                return val + 1;
-            }
-        });
-
-        assertFalse(keyNotLoaded);
-
-        fut.get();
-
-        for (int i = 0; i < GRID_CNT; i++)
-            // Wait for preloader.
-            cache(i).forceRepartition().get();
-
-        for (int i = 0; i < GRID_CNT; i++) {
-            for (String key : keys)
-                assertEquals("Unexpected value for cache " + i, (Integer)1, cache(i).get(key));
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testLocalTxPreloadingOptimistic() throws Exception {
-        testLocalTxPreloading(OPTIMISTIC);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testLocalTxPreloadingPessimistic() throws Exception {
-        testLocalTxPreloading(PESSIMISTIC);
-    }
-
-    /**
-     * Tries to execute transaction doing transform when target key is not yet preloaded.
-     *
-     * @param txConcurrency Transaction concurrency;
-     * @throws Exception If failed.
-     */
-    private void testLocalTxPreloading(GridCacheTxConcurrency txConcurrency) throws Exception {
-        Map<String, Integer> map = new HashMap<>();
-
-        for (int i = 0; i < 10000; i++)
-            map.put(String.valueOf(i), 0);
-
-        GridCache<String, Integer> cache0 = cache(0);
-
-        cache0.putAll(map);
-
-        final String TX_KEY = "9000";
-
-        int expVal = 0;
-
-        for (int i = 1; i < GRID_CNT; i++) {
-            assertEquals((Integer)expVal, cache0.get(TX_KEY));
-
-            startGrid(i);
-
-            GridCache<String, Integer> cache = cache(i);
-
-            try (GridCacheTx tx = cache.txStart(txConcurrency, GridCacheTxIsolation.READ_COMMITTED)) {
-                cache.transform(TX_KEY, new C1<Integer, Integer>() {
-                    @Override public Integer apply(Integer val) {
-                        if (val == null) {
-                            keyNotLoaded = true;
-
-                            return 1;
-                        }
-
-                        return val + 1;
-                    }
-                });
-
-                tx.commit();
-            }
-
-            assertFalse(keyNotLoaded);
-
-            expVal++;
-
-            assertEquals((Integer)expVal, cache.get(TX_KEY));
-        }
-
-        for (int i = 0; i < GRID_CNT; i++)
-            assertEquals("Unexpected value for cache " + i, (Integer)expVal, cache(i).get(TX_KEY));
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
-
-        cfg.setPreloadMode(GridCachePreloadMode.ASYNC);
-
-        cfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
-
-        cfg.setStore(null);
-
-        return cfg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
deleted file mode 100644
index 14d4f0b..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed;
-
-import org.apache.ignite.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-/**
- * Simple cache test.
- */
-public class GridCacheTxTimeoutAbstractTest extends GridCommonAbstractTest {
-    /** Random number generator. */
-    private static final Random RAND = new Random();
-
-    /** Grid count. */
-    private static final int GRID_COUNT = 2;
-
-    /** Grid instances. */
-    private static final List<Ignite> IGNITEs = new ArrayList<>();
-
-    /** Transaction timeout. */
-    private static final long TIMEOUT = 50;
-
-    /**
-     * @throws Exception If failed.
-     */
-    @Override protected void beforeTestsStarted() throws Exception {
-        for (int i = 0; i < GRID_COUNT; i++)
-            IGNITEs.add(startGrid(i));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @Override protected void afterTestsStopped() throws Exception {
-        stopAllGrids();
-
-        IGNITEs.clear();
-    }
-
-    /**
-     * @param i Grid index.
-     * @return Cache.
-     */
-    @Override protected <K, V> GridCache<K, V> cache(int i) {
-        return IGNITEs.get(i).cache(null);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticReadCommitted() throws Exception {
-        checkTransactionTimeout(PESSIMISTIC, READ_COMMITTED);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticRepeatableRead() throws Exception {
-        checkTransactionTimeout(PESSIMISTIC, REPEATABLE_READ);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testPessimisticSerializable() throws Exception {
-        checkTransactionTimeout(PESSIMISTIC, SERIALIZABLE);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticReadCommitted() throws Exception {
-        checkTransactionTimeout(OPTIMISTIC, READ_COMMITTED);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticRepeatableRead() throws Exception {
-        checkTransactionTimeout(OPTIMISTIC, REPEATABLE_READ);
-    }
-
-    /**
-     * @throws IgniteCheckedException If test failed.
-     */
-    public void testOptimisticSerializable() throws Exception {
-        checkTransactionTimeout(OPTIMISTIC, SERIALIZABLE);
-    }
-
-    /**
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @throws IgniteCheckedException If test failed.
-     */
-    private void checkTransactionTimeout(GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
-
-        int idx = RAND.nextInt(GRID_COUNT);
-
-        GridCache<Integer, String> cache = cache(idx);
-
-        GridCacheTx tx = cache.txStart(concurrency, isolation, TIMEOUT, 0);
-
-        try {
-            info("Storing value in cache [key=1, val=1]");
-
-            cache.put(1, "1");
-
-            long sleep = TIMEOUT * 2;
-
-            info("Going to sleep for (ms): " + sleep);
-
-            Thread.sleep(sleep);
-
-            info("Storing value in cache [key=1, val=2]");
-
-            cache.put(1, "2");
-
-            info("Committing transaction: " + tx);
-
-            tx.commit();
-
-            assert false : "Timeout never happened for transaction: " + tx;
-        }
-        catch (GridCacheTxTimeoutException e) {
-            info("Received expected timeout exception [msg=" + e.getMessage() + ", tx=" + tx + ']');
-        }
-        finally {
-            tx.close();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
new file mode 100644
index 0000000..f2b1640
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
@@ -0,0 +1,194 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.*;
+import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
+import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.testframework.junits.common.*;
+
+import java.util.*;
+import java.util.concurrent.atomic.*;
+
+import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
+import static org.gridgain.grid.cache.GridCachePreloadMode.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
+
+/**
+ *
+ */
+public abstract class IgniteTxConsistencyRestartAbstractSelfTest extends GridCommonAbstractTest {
+    /** IP finder. */
+    private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
+
+    /** Grid count. */
+    private static final int GRID_CNT = 4;
+
+    /** Key range. */
+    private static final int RANGE = 100_000;
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
+
+        discoSpi.setIpFinder(IP_FINDER);
+
+        cfg.setDiscoverySpi(discoSpi);
+
+        cfg.setCacheConfiguration(cacheConfiguration(gridName));
+
+        return cfg;
+    }
+
+    /**
+     * @param gridName Grid name.
+     * @return Cache configuration.
+     */
+    public GridCacheConfiguration cacheConfiguration(String gridName) {
+        GridCacheConfiguration ccfg = new GridCacheConfiguration();
+
+        ccfg.setAtomicityMode(TRANSACTIONAL);
+        ccfg.setCacheMode(cacheMode());
+        ccfg.setWriteSynchronizationMode(FULL_SYNC);
+        ccfg.setDistributionMode(partitionDistributionMode());
+        ccfg.setPreloadMode(SYNC);
+
+        if (cacheMode() == GridCacheMode.PARTITIONED)
+            ccfg.setBackups(1);
+
+        return ccfg;
+    }
+
+    /**
+     * @return Cache mode.
+     */
+    protected abstract GridCacheMode cacheMode();
+
+    /**
+     * @return Partition distribution mode for PARTITIONED cache.
+     */
+    protected abstract GridCacheDistributionMode partitionDistributionMode();
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTxConsistency() throws Exception {
+        startGridsMultiThreaded(GRID_CNT);
+
+        IgniteDataLoader<Object, Object> ldr = grid(0).dataLoader(null);
+
+        for (int i = 0; i < RANGE; i++) {
+            ldr.addData(i, 0);
+
+            if (i > 0 && i % 1000 == 0)
+                info("Put keys: " + i);
+        }
+
+        ldr.close();
+
+        final AtomicBoolean done = new AtomicBoolean(false);
+
+        Thread restartThread = new Thread() {
+            @Override public void run() {
+                Random rnd = new Random();
+
+                while (!done.get()) {
+                    try {
+                        int idx = rnd.nextInt(GRID_CNT);
+
+                        stopGrid(idx);
+
+                        startGrid(idx);
+                    }
+                    catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        };
+
+        restartThread.start();
+
+        Random rnd = new Random();
+
+        // Make some iterations with 1-3 keys transactions.
+        for (int i = 0; i < 50_000; i++) {
+            int idx = i % GRID_CNT;
+
+            if (i > 0 && i % 1000 == 0)
+                info("Running iteration: " + i);
+
+            try {
+                GridKernal grid = (GridKernal)grid(idx);
+
+                GridCache<Integer, Integer> cache = grid.cache(null);
+
+                List<Integer> keys = new ArrayList<>();
+
+                int keyCnt = rnd.nextInt(3);
+
+                for (int k = 0; k < keyCnt; k++)
+                    keys.add(rnd.nextInt(RANGE));
+
+                Collections.sort(keys);
+
+                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    Map<Integer, Integer> map = cache.getAll(keys);
+
+                    for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
+                        assertNotNull("Null value received from cache [key=" + entry.getKey() + "]", entry.getValue());
+
+                        cache.put(entry.getKey(), entry.getValue() + 1);
+                    }
+
+                    tx.commit();
+                }
+            }
+            catch (Exception e) {
+                info("Failed to update keys: " + e.getMessage());
+            }
+        }
+
+        done.set(true);
+
+        restartThread.join();
+
+        for (int k = 0; k < RANGE; k++) {
+            Integer val = null;
+
+            for (int i = 0; i < GRID_CNT; i++) {
+                GridEx grid = grid(i);
+
+                GridCache<Integer, Integer> cache = grid.cache(null);
+
+                if (cache.affinity().isPrimaryOrBackup(grid.localNode(), k)) {
+                    if (val == null) {
+                        val = cache.peek(k);
+
+                        assertNotNull("Failed to peek value for key: " + k, val);
+                    }
+                    else
+                        assertEquals("Failed to find value in cache [primary=" +
+                            cache.affinity().isPrimary(grid.localNode(), k) + ']',
+                            val, cache.peek(k));
+                }
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
new file mode 100644
index 0000000..9f08861
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
@@ -0,0 +1,294 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.resources.*;
+import org.apache.ignite.spi.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.*;
+import org.gridgain.grid.kernal.managers.communication.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.apache.ignite.spi.communication.tcp.*;
+import org.gridgain.grid.util.direct.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.testframework.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+
+/**
+ * Abstract test for originating node failure.
+ */
+public abstract class IgniteTxOriginatingNodeFailureAbstractSelfTest extends GridCacheAbstractSelfTest {
+    /** */
+    protected static final int GRID_CNT = 5;
+
+    /** Ignore node ID. */
+    private volatile UUID ignoreMsgNodeId;
+
+    /** Ignore message class. */
+    private Class<?> ignoreMsgCls;
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testManyKeysCommit() throws Exception {
+        Collection<Integer> keys = new ArrayList<>(200);
+
+        for (int i = 0; i < 200; i++)
+            keys.add(i);
+
+        testTxOriginatingNodeFails(keys, false);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testManyKeysRollback() throws Exception {
+        Collection<Integer> keys = new ArrayList<>(200);
+
+        for (int i = 0; i < 200; i++)
+            keys.add(i);
+
+        testTxOriginatingNodeFails(keys, true);
+    }
+
+    /**
+     * @return Index of node starting transaction.
+     */
+    protected int originatingNode() {
+        return 0;
+    }
+
+    /**
+     * Ignores messages to given node of given type.
+     *
+     * @param dstNodeId Destination node ID.
+     * @param msgCls Message type.
+     */
+    protected void ignoreMessages(UUID dstNodeId, Class<?> msgCls) {
+        ignoreMsgNodeId = dstNodeId;
+        ignoreMsgCls = msgCls;
+    }
+
+    /**
+     * Gets ignore message class to simulate partial prepare message.
+     *
+     * @return Ignore message class.
+     */
+    protected abstract Class<?> ignoreMessageClass();
+
+    /**
+     * @param keys Keys to update.
+     * @param partial Flag indicating whether to simulate partial prepared state.
+     * @throws Exception If failed.
+     */
+    protected void testTxOriginatingNodeFails(Collection<Integer> keys, final boolean partial) throws Exception {
+        assertFalse(keys.isEmpty());
+
+        final Collection<GridKernal> grids = new ArrayList<>();
+
+        ClusterNode txNode = grid(originatingNode()).localNode();
+
+        for (int i = 1; i < gridCount(); i++)
+            grids.add((GridKernal)grid(i));
+
+        final Map<Integer, String> map = new HashMap<>();
+
+        final String initVal = "initialValue";
+
+        for (Integer key : keys) {
+            grid(originatingNode()).cache(null).put(key, initVal);
+
+            map.put(key, String.valueOf(key));
+        }
+
+        Map<Integer, Collection<ClusterNode>> nodeMap = new HashMap<>();
+
+        GridCacheAdapter<Integer, String> cache = ((GridKernal)grid(1)).internalCache();
+
+        info("Node being checked: " + grid(1).localNode().id());
+
+        for (Integer key : keys) {
+            Collection<ClusterNode> nodes = new ArrayList<>();
+
+            nodes.addAll(cache.affinity().mapKeyToPrimaryAndBackups(key));
+
+            nodes.remove(txNode);
+
+            nodeMap.put(key, nodes);
+        }
+
+        info("Starting tx [values=" + map + ", topVer=" +
+            ((GridKernal)grid(1)).context().discovery().topologyVersion() + ']');
+
+        if (partial)
+            ignoreMessages(grid(1).localNode().id(), ignoreMessageClass());
+
+        final Ignite txIgniteNode = G.ignite(txNode.id());
+
+        GridTestUtils.runAsync(new Callable<Object>() {
+            @Override public Object call() throws Exception {
+                GridCache<Integer, String> cache = txIgniteNode.cache(null);
+
+                assertNotNull(cache);
+
+                IgniteTxProxyImpl tx = (IgniteTxProxyImpl)cache.txStart();
+
+                GridCacheTxEx txEx = GridTestUtils.getFieldValue(tx, "tx");
+
+                cache.putAll(map);
+
+                try {
+                    txEx.prepareAsync().get(3, TimeUnit.SECONDS);
+                }
+                catch (IgniteFutureTimeoutException ignored) {
+                    info("Failed to wait for prepare future completion: " + partial);
+                }
+
+                return null;
+            }
+        }).get();
+
+        info("Stopping originating node " + txNode);
+
+        G.stop(G.ignite(txNode.id()).name(), true);
+
+        info("Stopped grid, waiting for transactions to complete.");
+
+        boolean txFinished = GridTestUtils.waitForCondition(new GridAbsPredicate() {
+            @Override public boolean apply() {
+                for (GridKernal g : grids) {
+                    GridCacheSharedContext<Object, Object> ctx = g.context().cache().context();
+
+                    int txNum = ctx.tm().idMapSize();
+
+                    if (txNum != 0)
+                        return false;
+                }
+
+                return true;
+            }
+        }, 10000);
+
+        assertTrue(txFinished);
+
+        info("Transactions finished.");
+
+        for (Map.Entry<Integer, Collection<ClusterNode>> e : nodeMap.entrySet()) {
+            final Integer key = e.getKey();
+
+            final String val = map.get(key);
+
+            assertFalse(e.getValue().isEmpty());
+
+            for (ClusterNode node : e.getValue()) {
+                compute(G.ignite(node.id()).cluster().forNode(node)).call(new Callable<Void>() {
+                    /** */
+                    @IgniteInstanceResource
+                    private Ignite ignite;
+
+                    @Override public Void call() throws Exception {
+                        GridCache<Integer, String> cache = ignite.cache(null);
+
+                        assertNotNull(cache);
+
+                        assertEquals(partial ? initVal : val, cache.peek(key));
+
+                        return null;
+                    }
+                });
+            }
+        }
+
+        for (Map.Entry<Integer, String> e : map.entrySet()) {
+            for (Ignite g : G.allGrids()) {
+                UUID locNodeId = g.cluster().localNode().id();
+
+                assertEquals("Check failed for node: " + locNodeId, partial ? initVal : e.getValue(),
+                    g.cache(null).get(e.getKey()));
+            }
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        cfg.setCommunicationSpi(new TcpCommunicationSpi() {
+            @Override public void sendMessage(ClusterNode node, GridTcpCommunicationMessageAdapter msg)
+                throws IgniteSpiException {
+                if (!F.eq(ignoreMsgNodeId, node.id()) || !ignoredMessage((GridIoMessage)msg))
+                    super.sendMessage(node, msg);
+            }
+        });
+
+        cfg.getTransactionsConfiguration().setDefaultTxConcurrency(OPTIMISTIC);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
+        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
+
+        cfg.setStore(null);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return GRID_CNT;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected abstract GridCacheMode cacheMode();
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        startGridsMultiThreaded(GRID_CNT);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        // No-op
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        stopAllGrids();
+
+        ignoreMsgCls = null;
+        ignoreMsgNodeId = null;
+    }
+
+    /**
+     * Checks if message should be ignored.
+     *
+     * @param msg Message.
+     * @return {@code True} if message should be ignored.
+     */
+    private boolean ignoredMessage(GridIoMessage msg) {
+        return ignoreMsgCls != null && ignoreMsgCls.isAssignableFrom(msg.message().getClass());
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
new file mode 100644
index 0000000..0d28928
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
@@ -0,0 +1,488 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.resources.*;
+import org.apache.ignite.spi.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.*;
+import org.gridgain.grid.kernal.managers.communication.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.apache.ignite.spi.communication.tcp.*;
+import org.gridgain.grid.util.direct.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.testframework.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+
+/**
+ * Abstract test for originating node failure.
+ */
+public abstract class IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest extends GridCacheAbstractSelfTest {
+    /** */
+    protected static final int GRID_CNT = 5;
+
+    /** Ignore node ID. */
+    private volatile Collection<UUID> ignoreMsgNodeIds;
+
+    /** Ignore message class. */
+    private Collection<Class<?>> ignoreMsgCls;
+
+    /** Failing node ID. */
+    private UUID failingNodeId;
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testManyKeysCommit() throws Exception {
+        Collection<Integer> keys = new ArrayList<>(200);
+
+        for (int i = 0; i < 200; i++)
+            keys.add(i);
+
+        testTxOriginatingNodeFails(keys, false);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testManyKeysRollback() throws Exception {
+        Collection<Integer> keys = new ArrayList<>(200);
+
+        for (int i = 0; i < 200; i++)
+            keys.add(i);
+
+        testTxOriginatingNodeFails(keys, true);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPrimaryNodeFailureCommit() throws Exception {
+        checkPrimaryNodeCrash(true);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPrimaryNodeFailureRollback() throws Exception {
+        checkPrimaryNodeCrash(false);
+    }
+
+    /**
+     * @return Index of node starting transaction.
+     */
+    protected int originatingNode() {
+        return 0;
+    }
+
+    /**
+     * Ignores messages to given node of given type.
+     *
+     * @param dstNodeIds Destination node IDs.
+     * @param msgCls Message type.
+     */
+    protected void ignoreMessages(Collection<Class<?>> msgCls, Collection<UUID> dstNodeIds) {
+        ignoreMsgNodeIds = dstNodeIds;
+        ignoreMsgCls = msgCls;
+    }
+
+    /**
+     * Gets ignore message class to simulate partial prepare message.
+     *
+     * @return Ignore message class.
+     */
+    protected abstract Collection<Class<?>> ignoreMessageClasses();
+
+    /**
+     * @param keys Keys to update.
+     * @param fullFailure Flag indicating whether to simulate rollback state.
+     * @throws Exception If failed.
+     */
+    protected void testTxOriginatingNodeFails(Collection<Integer> keys, final boolean fullFailure) throws Exception {
+        assertFalse(keys.isEmpty());
+
+        final Collection<GridKernal> grids = new ArrayList<>();
+
+        ClusterNode txNode = grid(originatingNode()).localNode();
+
+        for (int i = 1; i < gridCount(); i++)
+            grids.add((GridKernal)grid(i));
+
+        failingNodeId = grid(0).localNode().id();
+
+        final Map<Integer, String> map = new HashMap<>();
+
+        final String initVal = "initialValue";
+
+        for (Integer key : keys) {
+            grid(originatingNode()).cache(null).put(key, initVal);
+
+            map.put(key, String.valueOf(key));
+        }
+
+        Map<Integer, Collection<ClusterNode>> nodeMap = new HashMap<>();
+
+        GridCacheAdapter<Integer, String> cache = ((GridKernal)grid(1)).internalCache();
+
+        info("Node being checked: " + grid(1).localNode().id());
+
+        for (Integer key : keys) {
+            Collection<ClusterNode> nodes = new ArrayList<>();
+
+            nodes.addAll(cache.affinity().mapKeyToPrimaryAndBackups(key));
+
+            nodes.remove(txNode);
+
+            nodeMap.put(key, nodes);
+        }
+
+        info("Starting tx [values=" + map + ", topVer=" +
+            ((GridKernal)grid(1)).context().discovery().topologyVersion() + ']');
+
+        if (fullFailure)
+            ignoreMessages(ignoreMessageClasses(), allNodeIds());
+        else
+            ignoreMessages(ignoreMessageClasses(), F.asList(grid(1).localNode().id()));
+
+        final GridEx originatingNodeGrid = grid(originatingNode());
+
+        GridTestUtils.runAsync(new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                GridCache<Integer, String> cache = originatingNodeGrid.cache(null);
+
+                assertNotNull(cache);
+
+                IgniteTx tx = cache.txStart();
+
+                try {
+                    cache.putAll(map);
+
+                    info("Before commitAsync");
+
+                    IgniteFuture<IgniteTx> fut = tx.commitAsync();
+
+                    info("Got future for commitAsync().");
+
+                    fut.get(3, TimeUnit.SECONDS);
+                }
+                catch (IgniteFutureTimeoutException ignored) {
+                    info("Failed to wait for commit future completion [fullFailure=" + fullFailure + ']');
+                }
+
+                return null;
+            }
+        }).get();
+
+        info(">>> Stopping originating node " + txNode);
+
+        G.stop(grid(originatingNode()).name(), true);
+
+        ignoreMessages(Collections.<Class<?>>emptyList(), Collections.<UUID>emptyList());
+
+        info(">>> Stopped originating node: " + txNode.id());
+
+        boolean txFinished = GridTestUtils.waitForCondition(new GridAbsPredicate() {
+            @Override public boolean apply() {
+                for (GridKernal g : grids) {
+                    GridCacheAdapter<?, ?> cache = g.internalCache();
+
+                    GridCacheTxManager txMgr = cache.isNear() ?
+                        ((GridNearCacheAdapter)cache).dht().context().tm() :
+                        cache.context().tm();
+
+                    int txNum = txMgr.idMapSize();
+
+                    if (txNum != 0)
+                        return false;
+                }
+
+                return true;
+            }
+        }, 10000);
+
+        assertTrue(txFinished);
+
+        info("Transactions finished.");
+
+        for (Map.Entry<Integer, Collection<ClusterNode>> e : nodeMap.entrySet()) {
+            final Integer key = e.getKey();
+
+            final String val = map.get(key);
+
+            assertFalse(e.getValue().isEmpty());
+
+            for (ClusterNode node : e.getValue()) {
+                final UUID checkNodeId = node.id();
+
+                compute(G.ignite(checkNodeId).cluster().forNode(node)).call(new Callable<Void>() {
+                    /** */
+                    @IgniteInstanceResource
+                    private Ignite ignite;
+
+                    @Override public Void call() throws Exception {
+                        GridCache<Integer, String> cache = ignite.cache(null);
+
+                        assertNotNull(cache);
+
+                        assertEquals("Failed to check entry value on node: " + checkNodeId,
+                            fullFailure ? initVal : val, cache.peek(key));
+
+                        return null;
+                    }
+                });
+            }
+        }
+
+        for (Map.Entry<Integer, String> e : map.entrySet()) {
+            for (Ignite g : G.allGrids())
+                assertEquals(fullFailure ? initVal : e.getValue(), g.cache(null).get(e.getKey()));
+        }
+    }
+
+    /**
+     * Checks tx data consistency in case when primary node crashes.
+     *
+     * @param commmit Whether to commit or rollback a transaction.
+     * @throws Exception If failed.
+     */
+    private void checkPrimaryNodeCrash(final boolean commmit) throws Exception {
+        Collection<Integer> keys = new ArrayList<>(20);
+
+        for (int i = 0; i < 20; i++)
+            keys.add(i);
+
+        final Collection<GridKernal> grids = new ArrayList<>();
+
+        ClusterNode primaryNode = grid(1).localNode();
+
+        for (int i = 0; i < gridCount(); i++) {
+            if (i != 1)
+                grids.add((GridKernal)grid(i));
+        }
+
+        failingNodeId = primaryNode.id();
+
+        final Map<Integer, String> map = new HashMap<>();
+
+        final String initVal = "initialValue";
+
+        for (Integer key : keys) {
+            grid(originatingNode()).cache(null).put(key, initVal);
+
+            map.put(key, String.valueOf(key));
+        }
+
+        Map<Integer, Collection<ClusterNode>> nodeMap = new HashMap<>();
+
+        GridCache<Integer, String> cache = grid(0).cache(null);
+
+        info("Failing node ID: " + grid(1).localNode().id());
+
+        for (Integer key : keys) {
+            Collection<ClusterNode> nodes = new ArrayList<>();
+
+            nodes.addAll(cache.affinity().mapKeyToPrimaryAndBackups(key));
+
+            nodes.remove(primaryNode);
+
+            nodeMap.put(key, nodes);
+        }
+
+        info("Starting tx [values=" + map + ", topVer=" +
+            ((GridKernal)grid(1)).context().discovery().topologyVersion() + ']');
+
+        assertNotNull(cache);
+
+        try (IgniteTx tx = cache.txStart()) {
+            cache.getAll(keys);
+
+            // Should not send any messages.
+            cache.putAll(map);
+
+            // Fail the node in the middle of transaction.
+            info(">>> Stopping primary node " + primaryNode);
+
+            G.stop(G.ignite(primaryNode.id()).name(), true);
+
+            info(">>> Stopped originating node, finishing transaction: " + primaryNode.id());
+
+            if (commmit)
+                tx.commit();
+            else
+                tx.rollback();
+        }
+
+        boolean txFinished = GridTestUtils.waitForCondition(new GridAbsPredicate() {
+            @Override public boolean apply() {
+                for (GridKernal g : grids) {
+                    GridCacheAdapter<?, ?> cache = g.internalCache();
+
+                    GridCacheTxManager txMgr = cache.isNear() ?
+                        ((GridNearCacheAdapter)cache).dht().context().tm() :
+                        cache.context().tm();
+
+                    int txNum = txMgr.idMapSize();
+
+                    if (txNum != 0)
+                        return false;
+                }
+
+                return true;
+            }
+        }, 10000);
+
+        assertTrue(txFinished);
+
+        info("Transactions finished.");
+
+        for (Map.Entry<Integer, Collection<ClusterNode>> e : nodeMap.entrySet()) {
+            final Integer key = e.getKey();
+
+            final String val = map.get(key);
+
+            assertFalse(e.getValue().isEmpty());
+
+            for (ClusterNode node : e.getValue()) {
+                final UUID checkNodeId = node.id();
+
+                compute(G.ignite(checkNodeId).cluster().forNode(node)).call(new Callable<Void>() {
+                    /** */
+                    @IgniteInstanceResource
+                    private Ignite ignite;
+
+                    @Override public Void call() throws Exception {
+                        GridCache<Integer, String> cache = ignite.cache(null);
+
+                        assertNotNull(cache);
+
+                        assertEquals("Failed to check entry value on node: " + checkNodeId,
+                            !commmit ? initVal : val, cache.peek(key));
+
+                        return null;
+                    }
+                });
+            }
+        }
+
+        for (Map.Entry<Integer, String> e : map.entrySet()) {
+            for (Ignite g : G.allGrids())
+                assertEquals(!commmit ? initVal : e.getValue(), g.cache(null).get(e.getKey()));
+        }
+    }
+
+    /**
+     * @return All node IDs.
+     */
+    private Collection<UUID> allNodeIds() {
+        Collection<UUID> nodeIds = new ArrayList<>(gridCount());
+
+        for (int i = 0; i < gridCount(); i++)
+            nodeIds.add(grid(i).localNode().id());
+
+        return nodeIds;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        cfg.setCommunicationSpi(new TcpCommunicationSpi() {
+            @Override public void sendMessage(ClusterNode node, GridTcpCommunicationMessageAdapter msg)
+                throws IgniteSpiException {
+                if (getSpiContext().localNode().id().equals(failingNodeId)) {
+                    if (ignoredMessage((GridIoMessage)msg) && ignoreMsgNodeIds != null) {
+                        for (UUID ignored : ignoreMsgNodeIds) {
+                            if (node.id().equals(ignored))
+                                return;
+                        }
+                    }
+                }
+
+                super.sendMessage(node, msg);
+            }
+        });
+
+        cfg.getTransactionsConfiguration().setDefaultTxConcurrency(PESSIMISTIC);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
+        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
+
+        cfg.setStore(null);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return GRID_CNT;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected abstract GridCacheMode cacheMode();
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        // No-op.
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        startGridsMultiThreaded(GRID_CNT);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        // No-op
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        stopAllGrids();
+
+        ignoreMsgCls = null;
+        ignoreMsgNodeIds = null;
+    }
+
+    /**
+     * Checks if message should be ignored.
+     *
+     * @param msg Message.
+     * @return {@code True} if message should be ignored.
+     */
+    private boolean ignoredMessage(GridIoMessage msg) {
+        Collection<Class<?>> ignoreClss = ignoreMsgCls;
+
+        if (ignoreClss != null) {
+            for (Class<?> ignoreCls : ignoreClss) {
+                if (ignoreCls.isAssignableFrom(msg.message().getClass()))
+                    return true;
+            }
+
+            return false;
+        }
+        else
+            return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
new file mode 100644
index 0000000..0483a26
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
@@ -0,0 +1,192 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed;
+
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.testframework.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.concurrent.atomic.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+
+/**
+ * Tests transaction during cache preloading.
+ */
+public abstract class IgniteTxPreloadAbstractTest extends GridCacheAbstractSelfTest {
+    /** */
+    private static final int GRID_CNT = 6;
+
+    /** */
+    private static volatile boolean keyNotLoaded;
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        keyNotLoaded = false;
+
+        startGrid(0);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        stopAllGrids();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return GRID_CNT;
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemoteTxPreloading() throws Exception {
+        GridCache<String, Integer> cache = cache(0);
+
+        for (int i = 0; i < 10000; i++)
+            cache.put(String.valueOf(i), 0);
+
+        final AtomicInteger gridIdx = new AtomicInteger(1);
+
+        IgniteFuture<?> fut = GridTestUtils.runMultiThreadedAsync(
+            new Callable<Object>() {
+                @Nullable @Override public Object call() throws Exception {
+                    int idx = gridIdx.getAndIncrement();
+
+                    startGrid(idx);
+
+                    return null;
+                }
+            },
+            GRID_CNT - 1,
+            "grid-starter-" + getName()
+        );
+
+        waitForRemoteNodes(grid(0), 2);
+
+        Set<String> keys = new HashSet<>();
+
+        for (int i = 0; i < 10; i++)
+            keys.add(String.valueOf(i * 1000));
+
+        cache.transformAll(keys, new C1<Integer, Integer>() {
+            @Override public Integer apply(Integer val) {
+                if (val == null)
+                    keyNotLoaded = true;
+
+                return val + 1;
+            }
+        });
+
+        assertFalse(keyNotLoaded);
+
+        fut.get();
+
+        for (int i = 0; i < GRID_CNT; i++)
+            // Wait for preloader.
+            cache(i).forceRepartition().get();
+
+        for (int i = 0; i < GRID_CNT; i++) {
+            for (String key : keys)
+                assertEquals("Unexpected value for cache " + i, (Integer)1, cache(i).get(key));
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testLocalTxPreloadingOptimistic() throws Exception {
+        testLocalTxPreloading(OPTIMISTIC);
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testLocalTxPreloadingPessimistic() throws Exception {
+        testLocalTxPreloading(PESSIMISTIC);
+    }
+
+    /**
+     * Tries to execute transaction doing transform when target key is not yet preloaded.
+     *
+     * @param txConcurrency Transaction concurrency;
+     * @throws Exception If failed.
+     */
+    private void testLocalTxPreloading(GridCacheTxConcurrency txConcurrency) throws Exception {
+        Map<String, Integer> map = new HashMap<>();
+
+        for (int i = 0; i < 10000; i++)
+            map.put(String.valueOf(i), 0);
+
+        GridCache<String, Integer> cache0 = cache(0);
+
+        cache0.putAll(map);
+
+        final String TX_KEY = "9000";
+
+        int expVal = 0;
+
+        for (int i = 1; i < GRID_CNT; i++) {
+            assertEquals((Integer)expVal, cache0.get(TX_KEY));
+
+            startGrid(i);
+
+            GridCache<String, Integer> cache = cache(i);
+
+            try (IgniteTx tx = cache.txStart(txConcurrency, GridCacheTxIsolation.READ_COMMITTED)) {
+                cache.transform(TX_KEY, new C1<Integer, Integer>() {
+                    @Override public Integer apply(Integer val) {
+                        if (val == null) {
+                            keyNotLoaded = true;
+
+                            return 1;
+                        }
+
+                        return val + 1;
+                    }
+                });
+
+                tx.commit();
+            }
+
+            assertFalse(keyNotLoaded);
+
+            expVal++;
+
+            assertEquals((Integer)expVal, cache.get(TX_KEY));
+        }
+
+        for (int i = 0; i < GRID_CNT; i++)
+            assertEquals("Unexpected value for cache " + i, (Integer)expVal, cache(i).get(TX_KEY));
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
+        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
+
+        cfg.setPreloadMode(GridCachePreloadMode.ASYNC);
+
+        cfg.setWriteSynchronizationMode(GridCacheWriteSynchronizationMode.FULL_SYNC);
+
+        cfg.setStore(null);
+
+        return cfg;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
new file mode 100644
index 0000000..7a8f65e
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
@@ -0,0 +1,147 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed;
+
+import org.apache.ignite.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.testframework.junits.common.*;
+
+import java.util.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+/**
+ * Simple cache test.
+ */
+public class IgniteTxTimeoutAbstractTest extends GridCommonAbstractTest {
+    /** Random number generator. */
+    private static final Random RAND = new Random();
+
+    /** Grid count. */
+    private static final int GRID_COUNT = 2;
+
+    /** Grid instances. */
+    private static final List<Ignite> IGNITEs = new ArrayList<>();
+
+    /** Transaction timeout. */
+    private static final long TIMEOUT = 50;
+
+    /**
+     * @throws Exception If failed.
+     */
+    @Override protected void beforeTestsStarted() throws Exception {
+        for (int i = 0; i < GRID_COUNT; i++)
+            IGNITEs.add(startGrid(i));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    @Override protected void afterTestsStopped() throws Exception {
+        stopAllGrids();
+
+        IGNITEs.clear();
+    }
+
+    /**
+     * @param i Grid index.
+     * @return Cache.
+     */
+    @Override protected <K, V> GridCache<K, V> cache(int i) {
+        return IGNITEs.get(i).cache(null);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticReadCommitted() throws Exception {
+        checkTransactionTimeout(PESSIMISTIC, READ_COMMITTED);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticRepeatableRead() throws Exception {
+        checkTransactionTimeout(PESSIMISTIC, REPEATABLE_READ);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticSerializable() throws Exception {
+        checkTransactionTimeout(PESSIMISTIC, SERIALIZABLE);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticReadCommitted() throws Exception {
+        checkTransactionTimeout(OPTIMISTIC, READ_COMMITTED);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticRepeatableRead() throws Exception {
+        checkTransactionTimeout(OPTIMISTIC, REPEATABLE_READ);
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticSerializable() throws Exception {
+        checkTransactionTimeout(OPTIMISTIC, SERIALIZABLE);
+    }
+
+    /**
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @throws IgniteCheckedException If test failed.
+     */
+    private void checkTransactionTimeout(GridCacheTxConcurrency concurrency,
+        GridCacheTxIsolation isolation) throws Exception {
+
+        int idx = RAND.nextInt(GRID_COUNT);
+
+        GridCache<Integer, String> cache = cache(idx);
+
+        IgniteTx tx = cache.txStart(concurrency, isolation, TIMEOUT, 0);
+
+        try {
+            info("Storing value in cache [key=1, val=1]");
+
+            cache.put(1, "1");
+
+            long sleep = TIMEOUT * 2;
+
+            info("Going to sleep for (ms): " + sleep);
+
+            Thread.sleep(sleep);
+
+            info("Storing value in cache [key=1, val=2]");
+
+            cache.put(1, "2");
+
+            info("Committing transaction: " + tx);
+
+            tx.commit();
+
+            assert false : "Timeout never happened for transaction: " + tx;
+        }
+        catch (GridCacheTxTimeoutException e) {
+            info("Received expected timeout exception [msg=" + e.getMessage() + ", tx=" + tx + ']');
+        }
+        finally {
+            tx.close();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
index c79683d..f629304 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
@@ -237,7 +237,7 @@ public abstract class GridCacheAbstractTransformWriteThroughSelfTest extends Gri
 
         info(">>> Starting transform transaction");
 
-        try (GridCacheTx tx = cache.txStart(concurrency, READ_COMMITTED)) {
+        try (IgniteTx tx = cache.txStart(concurrency, READ_COMMITTED)) {
             if (op == OP_UPDATE) {
                 for (String key : keys)
                     cache.transform(key, INCR_CLOS);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
index ff016c6..76bf537 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
@@ -420,7 +420,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
                 g0.cache(null).put(i, i);
 
             for (int i = 0; i < 100; i++) {
-                try (GridCacheTx tx = g0.cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                try (IgniteTx tx = g0.cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
                     Integer val = (Integer) g0.cache(null).get(i);
 
                     assertEquals((Integer) i, val);
@@ -443,7 +443,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
         startGrid();
 
         try {
-            GridCacheTx tx = explicitTx ? cache().txStart(concurrency, isolation) : null;
+            IgniteTx tx = explicitTx ? cache().txStart(concurrency, isolation) : null;
 
             try {
                 cache().putAll(F.asMap(1, "Hello", 2, "World"));
@@ -476,7 +476,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
         startGrid();
 
         try {
-            GridCacheTx tx = cache().txStart(concurrency, isolation);
+            IgniteTx tx = cache().txStart(concurrency, isolation);
 
             try {
                 String old = (String)cache().get(1);
@@ -532,7 +532,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
 
             Map<Integer, String> map = F.asMap(k0, "val" + k0, k1, "val" + k1, k2, "val" + k2);
 
-            GridCacheTx tx = explicitTx ? g0.cache(null).txStart(concurrency, isolation) : null;
+            IgniteTx tx = explicitTx ? g0.cache(null).txStart(concurrency, isolation) : null;
 
             try {
                 if (separate) {
@@ -621,7 +621,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
 
             Map<Integer, String> map = F.asMap(k1, "val" + k1, k2, "val" + k2);
 
-            GridCacheTx tx = explicitTx ? g0.cache(null).txStart(concurrency, isolation) : null;
+            IgniteTx tx = explicitTx ? g0.cache(null).txStart(concurrency, isolation) : null;
 
             try {
                 if (separate) {
@@ -734,7 +734,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
 
         clearStores(3);
 
-        try (GridCacheTx tx = g0.cache(null).txStart(OPTIMISTIC, READ_COMMITTED)) {
+        try (IgniteTx tx = g0.cache(null).txStart(OPTIMISTIC, READ_COMMITTED)) {
             g0.cache(null).putAll(map);
 
             tx.commit();
@@ -799,7 +799,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
 
             Map<Integer, String> map = F.asMap(k0, "value" + k0, k1, "value" + k1, k2, "value" + k2);
 
-            GridCacheTx tx = g0.cache(null).txStart(concurrency, isolation);
+            IgniteTx tx = g0.cache(null).txStart(concurrency, isolation);
 
             try {
                 if (separate) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
index c6f5d4d..7855a99 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
@@ -109,7 +109,7 @@ public class GridCacheColocatedOptimisticTransactionSelfTest extends GridCommonA
      */
     public void testOptimisticTransaction() throws Exception {
         for (GridCache<Integer, String> cache : caches) {
-            GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ);
 
             try {
                 cache.put(KEY, VAL);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxExceptionSelfTest.java
index 7629566..a62e1c3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxExceptionSelfTest.java
@@ -18,7 +18,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 /**
  * Tests colocated cache.
  */
-public class GridCacheColocatedTxExceptionSelfTest extends GridCacheTxExceptionAbstractSelfTest {
+public class GridCacheColocatedTxExceptionSelfTest extends IgniteTxExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return PARTITIONED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxPessimisticOriginatingNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxPessimisticOriginatingNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxPessimisticOriginatingNodeFailureSelfTest.java
index 94707fd..662ebe8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxPessimisticOriginatingNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxPessimisticOriginatingNodeFailureSelfTest.java
@@ -23,7 +23,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
  * Test pessimistic tx failures in colocated cache.
  */
 public class GridCacheColocatedTxPessimisticOriginatingNodeFailureSelfTest extends
-    GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest {
+    IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected Collection<Class<?>> ignoreMessageClasses() {
         return F.asList((Class<?>)GridNearTxFinishRequest.class, GridDhtTxFinishRequest.class);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxSingleThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxSingleThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxSingleThreadedSelfTest.java
index 3da14de..e08e874 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxSingleThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedTxSingleThreadedSelfTest.java
@@ -24,7 +24,7 @@ import static org.gridgain.grid.cache.GridCachePreloadMode.*;
 /**
  * Test txs in single-threaded mode for colocated cache.
  */
-public class GridCacheColocatedTxSingleThreadedSelfTest extends GridCacheTxSingleThreadedAbstractTest {
+public class GridCacheColocatedTxSingleThreadedSelfTest extends IgniteTxSingleThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
index e67a1a9..7b52984 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
@@ -102,7 +102,7 @@ public class GridCacheDhtEntrySelfTest extends GridCommonAbstractTest {
         }
 
         for (int i = 0; i < GRID_CNT; i++) {
-            GridCacheTx tx = grid(i).cache(null).tx();
+            IgniteTx tx = grid(i).cache(null).tx();
 
             if (tx != null)
                 tx.close();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtTxPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtTxPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtTxPreloadSelfTest.java
index 7052700..9950d62 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtTxPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtTxPreloadSelfTest.java
@@ -10,7 +10,6 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
@@ -19,7 +18,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 /**
  * Tests cache transaction during preloading.
  */
-public class GridCacheDhtTxPreloadSelfTest extends GridCacheTxPreloadAbstractTest {
+public class GridCacheDhtTxPreloadSelfTest extends IgniteTxPreloadAbstractTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return PARTITIONED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
index c98b0a3..bf15118 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
@@ -75,7 +75,7 @@ public abstract class GridCacheGroupLockPartitionedAbstractSelfTest extends Grid
             cache.put(new GridCacheAffinityKey<>(i, affinityKey), i);
 
         for (int i = 0; i < 3; i++) {
-            try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 10)) {
+            try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, isolation, 0, 10)) {
                 Set<GridCacheEntry<GridCacheAffinityKey<Integer>, Integer>> set =
                     cache.entrySet(cache(0).affinity().partition(affinityKey));
 
@@ -106,7 +106,7 @@ public abstract class GridCacheGroupLockPartitionedAbstractSelfTest extends Grid
 
         final GridCache<UUID, String> cache = grid(0).cache(null);
 
-        try (GridCacheTx tx = cache.txStartPartition(cache.affinity().partition(affinityKey), PESSIMISTIC, REPEATABLE_READ,
+        try (IgniteTx tx = cache.txStartPartition(cache.affinity().partition(affinityKey), PESSIMISTIC, REPEATABLE_READ,
             0, 2)) {
             GridTestUtils.assertThrows(log, new Callable<Object>() {
                 @Override public Object call() throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
index e11afb3..2f37a2e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
@@ -52,7 +52,7 @@ public abstract class GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest ext
 
         GridCache<Object, Object> cache = grid(0).cache(null);
 
-        GridCacheTx tx = null;
+        IgniteTx tx = null;
         try {
             tx = cache.txStartAffinity(key, concurrency, READ_COMMITTED, 0, 2);
 
@@ -146,7 +146,7 @@ public abstract class GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest ext
             assertEquals("val3", reader.cache(null).peek(key3));
         }
 
-        try (GridCacheTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 3)) {
+        try (IgniteTx tx = cache.txStartAffinity(affinityKey, concurrency, READ_COMMITTED, 0, 3)) {
             cache.putAll(F.asMap(
                 key1, "val01",
                 key2, "val02",

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
index 7b0d1b7..bf2bd80 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
@@ -247,7 +247,7 @@ public class GridCachePartitionedTopologyChangeSelfTest extends GridCommonAbstra
                             GridCache<Integer, Integer> cache = node.cache(null);
 
                             try {
-                                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                     cache.put(key, key);
 
                                     info(">>> Locked key, waiting for latch: " + key);
@@ -318,7 +318,7 @@ public class GridCachePartitionedTopologyChangeSelfTest extends GridCommonAbstra
                         int key = (int)Thread.currentThread().getId();
 
                         try {
-                            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                 // This method should block until all previous transactions are completed.
                                 cache.put(key, key);
 
@@ -401,7 +401,7 @@ public class GridCachePartitionedTopologyChangeSelfTest extends GridCommonAbstra
                             GridCache<Integer, Integer> cache = node.cache(null);
 
                             try {
-                                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                     cache.put(key, key);
 
                                     commitLatch.await();
@@ -454,7 +454,7 @@ public class GridCachePartitionedTopologyChangeSelfTest extends GridCommonAbstra
                         int key = (int)Thread.currentThread().getId();
 
                         try {
-                            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                 // This method should block until all previous transactions are completed.
                                 cache.put(key, key);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTxOriginatingNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTxOriginatingNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTxOriginatingNodeFailureSelfTest.java
index d324abd..80aec71 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTxOriginatingNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTxOriginatingNodeFailureSelfTest.java
@@ -22,7 +22,7 @@ import java.util.*;
  * Tests transaction consistency when originating node fails.
  */
 public class GridCachePartitionedTxOriginatingNodeFailureSelfTest extends
-    GridCacheTxOriginatingNodeFailureAbstractSelfTest {
+    IgniteTxOriginatingNodeFailureAbstractSelfTest {
     /** */
     private static final int BACKUP_CNT = 2;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxConsistencyColocatedRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxConsistencyColocatedRestartSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxConsistencyColocatedRestartSelfTest.java
deleted file mode 100644
index b74cfc9..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxConsistencyColocatedRestartSelfTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed.dht;
-
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.*;
-
-/**
- *
- */
-public class GridCacheTxConsistencyColocatedRestartSelfTest extends GridCacheTxConsistencyRestartAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridCacheMode cacheMode() {
-        return GridCacheMode.PARTITIONED;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheDistributionMode partitionDistributionMode() {
-        return GridCacheDistributionMode.PARTITIONED_ONLY;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxReentryColocatedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxReentryColocatedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxReentryColocatedSelfTest.java
deleted file mode 100644
index faf74f3..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheTxReentryColocatedSelfTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed.dht;
-
-import org.apache.ignite.cluster.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.cache.*;
-
-import java.util.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-
-/**
- *
- */
-public class GridCacheTxReentryColocatedSelfTest extends GridCacheTxReentryAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridCacheMode cacheMode() {
-        return PARTITIONED;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return 3;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int testKey() {
-        int key = 0;
-
-        GridCache<Object, Object> cache = grid(0).cache(null);
-
-        while (true) {
-            Collection<ClusterNode> nodes = cache.affinity().mapKeyToPrimaryAndBackups(key);
-
-            if (nodes.contains(grid(0).localNode()))
-                key++;
-            else
-                break;
-        }
-
-        return key;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int expectedNearLockRequests() {
-        return 1;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int expectedDhtLockRequests() {
-        return 0;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int expectedDistributedLockRequests() {
-        return 1;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean nearEnabled() {
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxConsistencyColocatedRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxConsistencyColocatedRestartSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxConsistencyColocatedRestartSelfTest.java
new file mode 100644
index 0000000..7756089
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxConsistencyColocatedRestartSelfTest.java
@@ -0,0 +1,28 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed.dht;
+
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.*;
+
+/**
+ *
+ */
+public class IgniteTxConsistencyColocatedRestartSelfTest extends IgniteTxConsistencyRestartAbstractSelfTest {
+    /** {@inheritDoc} */
+    @Override protected GridCacheMode cacheMode() {
+        return GridCacheMode.PARTITIONED;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridCacheDistributionMode partitionDistributionMode() {
+        return GridCacheDistributionMode.PARTITIONED_ONLY;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxReentryColocatedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxReentryColocatedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxReentryColocatedSelfTest.java
new file mode 100644
index 0000000..812438f
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/IgniteTxReentryColocatedSelfTest.java
@@ -0,0 +1,71 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed.dht;
+
+import org.apache.ignite.cluster.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+
+import java.util.*;
+
+import static org.gridgain.grid.cache.GridCacheMode.*;
+
+/**
+ *
+ */
+public class IgniteTxReentryColocatedSelfTest extends IgniteTxReentryAbstractSelfTest {
+    /** {@inheritDoc} */
+    @Override protected GridCacheMode cacheMode() {
+        return PARTITIONED;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return 3;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int testKey() {
+        int key = 0;
+
+        GridCache<Object, Object> cache = grid(0).cache(null);
+
+        while (true) {
+            Collection<ClusterNode> nodes = cache.affinity().mapKeyToPrimaryAndBackups(key);
+
+            if (nodes.contains(grid(0).localNode()))
+                key++;
+            else
+                break;
+        }
+
+        return key;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int expectedNearLockRequests() {
+        return 1;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int expectedDhtLockRequests() {
+        return 0;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int expectedDistributedLockRequests() {
+        return 1;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected boolean nearEnabled() {
+        return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
index d84a206..8884116 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
@@ -104,7 +104,7 @@ public class GridCacheAtomicPreloadSelfTest extends GridCommonAbstractTest {
                 info("Checking transaction for key [idx=" + i + ", key=" + key + ']');
                 info(">>>>>>>>>>>>>>>");
 
-                try (GridCacheTx tx = txs.txStart(concurrency, REPEATABLE_READ)) {
+                try (IgniteTx tx = txs.txStart(concurrency, REPEATABLE_READ)) {
                     try {
                         // Lock if pessimistic, read if optimistic.
                         cache.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
index 37f88a2..d86beff 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
@@ -58,17 +58,17 @@ public class GridCacheGetStoreErrorSelfTest extends GridCommonAbstractTest {
         cc.setAtomicityMode(TRANSACTIONAL);
 
         cc.setStore(new GridCacheStoreAdapter<Object, Object>() {
-            @Override public Object load(@Nullable GridCacheTx tx, Object key)
+            @Override public Object load(@Nullable IgniteTx tx, Object key)
                 throws IgniteCheckedException {
                 throw new IgniteCheckedException("Failed to get key from store: " + key);
             }
 
-            @Override public void put(@Nullable GridCacheTx tx, Object key,
+            @Override public void put(@Nullable IgniteTx tx, Object key,
                 @Nullable Object val) {
                 // No-op.
             }
 
-            @Override public void remove(@Nullable GridCacheTx tx, Object key) {
+            @Override public void remove(@Nullable IgniteTx tx, Object key) {
                 // No-op.
             }
         });


[06/50] [abbrv] incubator-ignite git commit: GG-9141 - Fixed import.

Posted by sb...@apache.org.
GG-9141 - Fixed import.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/5ba15f05
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/5ba15f05
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/5ba15f05

Branch: refs/heads/ignite-32
Commit: 5ba15f0596f395c3cf23ea1f19058966435dc4cc
Parents: 12b08c9
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 17:51:26 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 17:51:26 2014 -0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/ignite/lang/IgniteFuture.java   | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5ba15f05/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
index 335d944..d5716e9 100644
--- a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
@@ -106,7 +106,7 @@ public interface IgniteFuture<R> {
      * immediately notified within the same thread.
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link org.apache.ignite.IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property to {@code true}.
      *
      * @param syncNotify Flag to turn on or off synchronous listener notification.
      */
@@ -120,7 +120,7 @@ public interface IgniteFuture<R> {
      * immediately notified within the same thread.
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link org.apache.ignite.IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property to {@code true}.
      *
      * @return Synchronous listener notification flag.
      */
@@ -135,7 +135,7 @@ public interface IgniteFuture<R> {
      * started the future, or in a different thread).
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link org.apache.ignite.IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system property to {@code true}.
      *
      * @param concurNotify Flag to turn on or off concurrent listener notification.
      */
@@ -150,7 +150,7 @@ public interface IgniteFuture<R> {
      * started the future, or in a different thread).
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link org.apache.ignite.IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system property to {@code true}.
      *
      * @return Concurrent listener notification flag
      */


[26/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
GG-9141 - Renaming.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8365bb3d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8365bb3d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8365bb3d

Branch: refs/heads/ignite-32
Commit: 8365bb3dc0444b1e0b226801c04af023fc4efcdc
Parents: 301a006
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:43:12 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:43:12 2014 -0800

----------------------------------------------------------------------
 .../processors/cache/GridCacheAdapter.java      |   1 +
 .../cache/GridCacheSharedContext.java           |   1 +
 .../kernal/processors/cache/IgniteTxProxy.java  |  19 --
 .../processors/cache/IgniteTxProxyImpl.java     | 303 ------------------
 .../transactions/IgniteTxMetricsAdapter.java    | 108 +++++++
 .../cache/transactions/IgniteTxProxy.java       |  19 ++
 .../cache/transactions/IgniteTxProxyImpl.java   | 304 +++++++++++++++++++
 ...xOriginatingNodeFailureAbstractSelfTest.java |   1 +
 8 files changed, 434 insertions(+), 322 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 643ec03..3a6d702 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -30,6 +30,7 @@ import org.gridgain.grid.kernal.processors.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
 import org.gridgain.grid.kernal.processors.cache.query.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.gridgain.grid.kernal.processors.task.*;
 import org.gridgain.grid.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index 0effe1b..7912b69 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -21,6 +21,7 @@ import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.managers.deployment.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.managers.eventstorage.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
deleted file mode 100644
index 19c8116..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.transactions.*;
-
-/**
- * Marker interface for transaction proxy.
- */
-public interface IgniteTxProxy extends IgniteTx {
-    // No-op.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
deleted file mode 100644
index 7d43bc4..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * Cache transaction proxy.
- */
-public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Wrapped transaction. */
-    @GridToStringInclude
-    private GridCacheTxEx<K, V> tx;
-
-    /** Gateway. */
-    @GridToStringExclude
-    private GridCacheSharedContext<K, V> cctx;
-
-    /**
-     * Empty constructor required for {@link Externalizable}.
-     */
-    public IgniteTxProxyImpl() {
-        // No-op.
-    }
-
-    /**
-     * @param tx Transaction.
-     */
-    public IgniteTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
-        assert tx != null;
-        assert cctx != null;
-
-        this.tx = tx;
-        this.cctx = cctx;
-    }
-
-    /**
-     * Enters a call.
-     */
-    private void enter() {
-        if (cctx.deploymentEnabled())
-            cctx.deploy().onEnter();
-
-        try {
-            cctx.kernalContext().gateway().readLock();
-        }
-        catch (IllegalStateException e) {
-            throw e;
-        }
-        catch (RuntimeException | Error e) {
-            cctx.kernalContext().gateway().readUnlock();
-
-            throw e;
-        }
-    }
-
-    /**
-     * Leaves a call.
-     */
-    private void leave() {
-        try {
-            CU.unwindEvicts(cctx);
-        }
-        finally {
-            cctx.kernalContext().gateway().readUnlock();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteUuid xid() {
-        return tx.xid();
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID nodeId() {
-        return tx.nodeId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long threadId() {
-        return tx.threadId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long startTime() {
-        return tx.startTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTxIsolation isolation() {
-        return tx.isolation();
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTxConcurrency concurrency() {
-        return tx.concurrency();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isInvalidate() {
-        return tx.isInvalidate();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean implicit() {
-        return tx.implicit();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long timeout() {
-        return tx.timeout();
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTxState state() {
-        return tx.state();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long timeout(long timeout) {
-        return tx.timeout(timeout);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean setRollbackOnly() {
-        enter();
-
-        try {
-            return tx.setRollbackOnly();
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isRollbackOnly() {
-        enter();
-
-        try {
-            return tx.isRollbackOnly();
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void commit() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.commitTxAsync(tx).get();
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void close() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.endTx(tx);
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<IgniteTx> commitAsync() {
-        enter();
-
-        try {
-
-            return cctx.commitTxAsync(tx);
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void rollback() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.rollbackTx(tx);
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void copyMeta(GridMetadataAware from) {
-        tx.copyMeta(from);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void copyMeta(Map<String, ?> data) {
-        tx.copyMeta(data);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 addMeta(String name, V1 val) {
-        return tx.addMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
-        return tx.putMetaIfAbsent(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
-        return tx.putMetaIfAbsent(name, c);
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
-        return tx.addMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable Callable<V1> c) {
-        return tx.addMetaIfAbsent(name, c);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 meta(String name) {
-        return tx.<V1>meta(name);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 removeMeta(String name) {
-        return tx.<V1>removeMeta(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean removeMeta(String name, V1 val) {
-        return tx.removeMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> Map<String, V1> allMeta() {
-        return tx.allMeta();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean hasMeta(String name) {
-        return tx.hasMeta(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean hasMeta(String name, V1 val) {
-        return tx.hasMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 newVal) {
-        return tx.replaceMeta(name, curVal, newVal);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeObject(tx);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        tx = (GridCacheTxAdapter<K, V>)in.readObject();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteTxProxyImpl.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java
new file mode 100644
index 0000000..ff0ffab
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMetricsAdapter.java
@@ -0,0 +1,108 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Tx metrics adapter.
+ */
+public class IgniteTxMetricsAdapter implements IgniteTxMetrics, Externalizable {
+    /** Number of transaction commits. */
+    private volatile int txCommits;
+
+    /** Number of transaction rollbacks. */
+    private volatile int txRollbacks;
+
+    /** Last commit time. */
+    private volatile long commitTime;
+
+    /** Last rollback time. */
+    private volatile long rollbackTime;
+
+    /**
+     *
+     */
+    public IgniteTxMetricsAdapter() {
+
+    }
+
+    /**
+     * @param m Transaction metrics to copy.
+     */
+    public IgniteTxMetricsAdapter(IgniteTxMetrics m) {
+        commitTime = m.commitTime();
+        rollbackTime = m.rollbackTime();
+        txCommits = m.txCommits();
+        txRollbacks = m.txRollbacks();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long commitTime() {
+        return commitTime;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long rollbackTime() {
+        return rollbackTime;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int txCommits() {
+        return txCommits;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int txRollbacks() {
+        return txRollbacks;
+    }
+
+    /**
+     * Transaction commit callback.
+     */
+    public void onTxCommit() {
+        commitTime = U.currentTimeMillis();
+
+        txCommits++;
+    }
+
+    /**
+     * Transaction rollback callback.
+     */
+    public void onTxRollback() {
+        rollbackTime = U.currentTimeMillis();
+
+        txRollbacks++;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeLong(commitTime);
+        out.writeLong(rollbackTime);
+        out.writeInt(txCommits);
+        out.writeInt(txRollbacks);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        commitTime = in.readLong();
+        rollbackTime = in.readLong();
+        txCommits = in.readInt();
+        txRollbacks = in.readInt();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteTxMetricsAdapter.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java
new file mode 100644
index 0000000..d281765
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxy.java
@@ -0,0 +1,19 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.transactions.*;
+
+/**
+ * Marker interface for transaction proxy.
+ */
+public interface IgniteTxProxy extends IgniteTx {
+    // No-op.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
new file mode 100644
index 0000000..e41a5ad
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
@@ -0,0 +1,304 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.*;
+
+/**
+ * Cache transaction proxy.
+ */
+public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Wrapped transaction. */
+    @GridToStringInclude
+    private GridCacheTxEx<K, V> tx;
+
+    /** Gateway. */
+    @GridToStringExclude
+    private GridCacheSharedContext<K, V> cctx;
+
+    /**
+     * Empty constructor required for {@link Externalizable}.
+     */
+    public IgniteTxProxyImpl() {
+        // No-op.
+    }
+
+    /**
+     * @param tx Transaction.
+     */
+    public IgniteTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
+        assert tx != null;
+        assert cctx != null;
+
+        this.tx = tx;
+        this.cctx = cctx;
+    }
+
+    /**
+     * Enters a call.
+     */
+    private void enter() {
+        if (cctx.deploymentEnabled())
+            cctx.deploy().onEnter();
+
+        try {
+            cctx.kernalContext().gateway().readLock();
+        }
+        catch (IllegalStateException e) {
+            throw e;
+        }
+        catch (RuntimeException | Error e) {
+            cctx.kernalContext().gateway().readUnlock();
+
+            throw e;
+        }
+    }
+
+    /**
+     * Leaves a call.
+     */
+    private void leave() {
+        try {
+            CU.unwindEvicts(cctx);
+        }
+        finally {
+            cctx.kernalContext().gateway().readUnlock();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteUuid xid() {
+        return tx.xid();
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID nodeId() {
+        return tx.nodeId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long threadId() {
+        return tx.threadId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long startTime() {
+        return tx.startTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxIsolation isolation() {
+        return tx.isolation();
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxConcurrency concurrency() {
+        return tx.concurrency();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isInvalidate() {
+        return tx.isInvalidate();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean implicit() {
+        return tx.implicit();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long timeout() {
+        return tx.timeout();
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxState state() {
+        return tx.state();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long timeout(long timeout) {
+        return tx.timeout(timeout);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean setRollbackOnly() {
+        enter();
+
+        try {
+            return tx.setRollbackOnly();
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isRollbackOnly() {
+        enter();
+
+        try {
+            return tx.isRollbackOnly();
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void commit() throws IgniteCheckedException {
+        enter();
+
+        try {
+            cctx.commitTxAsync(tx).get();
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void close() throws IgniteCheckedException {
+        enter();
+
+        try {
+            cctx.endTx(tx);
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<IgniteTx> commitAsync() {
+        enter();
+
+        try {
+
+            return cctx.commitTxAsync(tx);
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void rollback() throws IgniteCheckedException {
+        enter();
+
+        try {
+            cctx.rollbackTx(tx);
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void copyMeta(GridMetadataAware from) {
+        tx.copyMeta(from);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void copyMeta(Map<String, ?> data) {
+        tx.copyMeta(data);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 addMeta(String name, V1 val) {
+        return tx.addMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
+        return tx.putMetaIfAbsent(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
+        return tx.putMetaIfAbsent(name, c);
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
+        return tx.addMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable Callable<V1> c) {
+        return tx.addMetaIfAbsent(name, c);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Override public <V1> V1 meta(String name) {
+        return tx.<V1>meta(name);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Override public <V1> V1 removeMeta(String name) {
+        return tx.<V1>removeMeta(name);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> boolean removeMeta(String name, V1 val) {
+        return tx.removeMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> Map<String, V1> allMeta() {
+        return tx.allMeta();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean hasMeta(String name) {
+        return tx.hasMeta(name);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> boolean hasMeta(String name, V1 val) {
+        return tx.hasMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 newVal) {
+        return tx.replaceMeta(name, curVal, newVal);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeObject(tx);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        tx = (GridCacheTxAdapter<K, V>)in.readObject();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteTxProxyImpl.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8365bb3d/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
index d7da1ab..5e0560e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
@@ -20,6 +20,7 @@ import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.communication.tcp.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.lang.*;


[35/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalEx.java
deleted file mode 100644
index 524243c..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalEx.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.cache.dr.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-
-/**
- * Local transaction API.
- */
-public interface GridCacheTxLocalEx<K, V> extends GridCacheTxEx<K, V> {
-    /**
-     * @return Minimum version involved in transaction.
-     */
-    public GridCacheVersion minVersion();
-
-    /**
-     * @return Future for this transaction.
-     */
-    public IgniteFuture<GridCacheTxEx<K, V>> future();
-
-    /**
-     * @return Commit error.
-     */
-    @Nullable public Throwable commitError();
-
-    /**
-     * @param e Commit error.
-     */
-    public void commitError(Throwable e);
-
-    /**
-     * @throws IgniteCheckedException If commit failed.
-     */
-    public void userCommit() throws IgniteCheckedException;
-
-    /**
-     * @throws IgniteCheckedException If rollback failed.
-     */
-    public void userRollback() throws IgniteCheckedException;
-
-    /**
-     * @return Group lock entry if this is a group-lock transaction.
-     */
-    @Nullable public GridCacheTxEntry<K, V> groupLockEntry();
-
-    /**
-     * @param keys Keys to get.
-     * @param cached Cached entry if this method is called from entry wrapper.
-     *      Cached entry is passed if and only if there is only one key in collection of keys.
-     * @param deserializePortable Deserialize portable flag.
-     * @param filter Entry filter.
-     * @return Future for this get.
-     */
-    public IgniteFuture<Map<K, V>> getAllAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Collection<? extends K> keys,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        boolean deserializePortable,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter);
-
-    /**
-     * @param map Map to put.
-     * @param retval Flag indicating whether a value should be returned.
-     * @param cached Cached entry, if any. Will be provided only if map has size 1.
-     * @param filter Filter.
-     * @param ttl Time to live for entry. If negative, leave unchanged.
-     * @return Future for put operation.
-     */
-    public IgniteFuture<GridCacheReturn<V>> putAllAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Map<? extends K, ? extends V> map,
-        boolean retval,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        long ttl,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter);
-
-    /**
-     * @param map Map to put.
-     * @return Transform operation future.
-     */
-    public IgniteFuture<GridCacheReturn<V>> transformAllAsync(
-        GridCacheContext<K, V> cacheCtx,
-        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> map,
-        boolean retval,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        long ttl);
-
-    /**
-     * @param keys Keys to remove.
-     * @param retval Flag indicating whether a value should be returned.
-     * @param cached Cached entry, if any. Will be provided only if size of keys collection is 1.
-     * @param filter Filter.
-     * @return Future for asynchronous remove.
-     */
-    public IgniteFuture<GridCacheReturn<V>> removeAllAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Collection<? extends K> keys,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        boolean retval,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter);
-
-    /**
-     * @param drMap DR map to put.
-     * @return Future for DR put operation.
-     */
-    public IgniteFuture<?> putAllDrAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Map<? extends K, GridCacheDrInfo<V>> drMap);
-
-    /**
-     * @param drMap DR map.
-     * @return Future for asynchronous remove.
-     */
-    public IgniteFuture<?> removeAllDrAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Map<? extends K, GridCacheVersion> drMap);
-
-    /**
-     * Performs keys locking for affinity-based group lock transactions.
-     *
-     * @param keys Keys to lock.
-     * @return Lock future.
-     */
-    public IgniteFuture<?> groupLockAsync(GridCacheContext<K, V> cacheCtx, Collection<K> keys);
-
-    /**
-     * @return {@code True} if keys from the same partition are allowed to be enlisted in group-lock transaction.
-     */
-    public boolean partitionLock();
-
-    /**
-     * Finishes transaction (either commit or rollback).
-     *
-     * @param commit {@code True} if commit, {@code false} if rollback.
-     * @return {@code True} if state has been changed.
-     * @throws IgniteCheckedException If finish failed.
-     */
-    public boolean finish(boolean commit) throws IgniteCheckedException;
-
-    /**
-     * @param async if {@code True}, then loading will happen in a separate thread.
-     * @param keys Keys.
-     * @param c Closure.
-     * @param deserializePortable Deserialize portable flag.
-     * @return Future with {@code True} value if loading took place.
-     */
-    public IgniteFuture<Boolean> loadMissing(
-        GridCacheContext<K, V> cacheCtx,
-        boolean async,
-        Collection<? extends K> keys,
-        boolean deserializePortable,
-        IgniteBiInClosure<K, V> c);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
deleted file mode 100644
index 7645f75..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ /dev/null
@@ -1,2212 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.events.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.kernal.managers.eventstorage.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.grid.kernal.processors.timeout.*;
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.future.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jdk8.backport.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.events.IgniteEventType.*;
-import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
-import static org.apache.ignite.transactions.IgniteTxState.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
-import static org.gridgain.grid.util.GridConcurrentFactory.*;
-
-/**
- * Cache transaction manager.
- */
-public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V> {
-    /** Default maximum number of transactions that have completed. */
-    private static final int DFLT_MAX_COMPLETED_TX_CNT = 262144; // 2^18
-
-    /** Slow tx warn timeout (initialized to 0). */
-    private static final int SLOW_TX_WARN_TIMEOUT = Integer.getInteger(GG_SLOW_TX_WARN_TIMEOUT, 0);
-
-    /** Tx salvage timeout (default 3s). */
-    private static final int TX_SALVAGE_TIMEOUT = Integer.getInteger(GG_TX_SALVAGE_TIMEOUT, 100);
-
-    /** Committing transactions. */
-    private final ThreadLocal<GridCacheTxEx> threadCtx = new GridThreadLocalEx<>();
-
-    /** Per-thread transaction map. */
-    private final ConcurrentMap<Long, GridCacheTxEx<K, V>> threadMap = newMap();
-
-    /** Per-ID map. */
-    private final ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> idMap = newMap();
-
-    /** Per-ID map for near transactions. */
-    private final ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> nearIdMap = newMap();
-
-    /** TX handler. */
-    private GridCacheTxHandler<K, V> txHandler;
-
-    /** All transactions. */
-    private final Queue<GridCacheTxEx<K, V>> committedQ = new ConcurrentLinkedDeque8<>();
-
-    /** Preparing transactions. */
-    private final Queue<GridCacheTxEx<K, V>> prepareQ = new ConcurrentLinkedDeque8<>();
-
-    /** Minimum start version. */
-    private final ConcurrentNavigableMap<GridCacheVersion, AtomicInt> startVerCnts =
-        new ConcurrentSkipListMap<>();
-
-    /** Committed local transactions. */
-    private final GridBoundedConcurrentOrderedSet<GridCacheVersion> committedVers =
-        new GridBoundedConcurrentOrderedSet<>(Integer.getInteger(GG_MAX_COMPLETED_TX_COUNT, DFLT_MAX_COMPLETED_TX_CNT));
-
-    /** Rolled back local transactions. */
-    private final NavigableSet<GridCacheVersion> rolledbackVers =
-        new GridBoundedConcurrentOrderedSet<>(Integer.getInteger(GG_MAX_COMPLETED_TX_COUNT, DFLT_MAX_COMPLETED_TX_CNT));
-
-    /** Pessimistic commit buffer. */
-    private GridCacheTxCommitBuffer<K, V> pessimisticRecoveryBuf;
-
-    /** Transaction synchronizations. */
-    private final Collection<IgniteTxSynchronization> syncs =
-        new GridConcurrentHashSet<>();
-
-    /** Transaction finish synchronizer. */
-    private GridCacheTxFinishSync<K, V> txFinishSync;
-
-    /** For test purposes only. */
-    private boolean finishSyncDisabled;
-
-    /** Slow tx warn timeout. */
-    private int slowTxWarnTimeout = SLOW_TX_WARN_TIMEOUT;
-
-    /**
-     * Near version to DHT version map. Note that we initialize to 5K size from get go,
-     * to avoid future map resizings.
-     */
-    private final ConcurrentMap<GridCacheVersion, GridCacheVersion> mappedVers =
-        new ConcurrentHashMap8<>(5120);
-
-    /** {@inheritDoc} */
-    @Override protected void onKernalStart0() {
-        cctx.gridEvents().addLocalEventListener(
-            new GridLocalEventListener() {
-                @Override public void onEvent(IgniteEvent evt) {
-                    assert evt instanceof IgniteDiscoveryEvent;
-                    assert evt.type() == EVT_NODE_FAILED || evt.type() == EVT_NODE_LEFT;
-
-                    IgniteDiscoveryEvent discoEvt = (IgniteDiscoveryEvent)evt;
-
-                    cctx.time().addTimeoutObject(new NodeFailureTimeoutObject(discoEvt.eventNode().id()));
-
-                    if (txFinishSync != null)
-                        txFinishSync.onNodeLeft(discoEvt.eventNode().id());
-                }
-            },
-            EVT_NODE_FAILED, EVT_NODE_LEFT);
-
-        for (GridCacheTxEx<K, V> tx : idMap.values()) {
-            if ((!tx.local() || tx.dht()) && !cctx.discovery().aliveAll(tx.masterNodeIds())) {
-                if (log.isDebugEnabled())
-                    log.debug("Remaining transaction from left node: " + tx);
-
-                salvageTx(tx, true, USER_FINISH);
-            }
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void start0() throws IgniteCheckedException {
-        pessimisticRecoveryBuf = new GridCachePerThreadTxCommitBuffer<>(cctx);
-
-        txFinishSync = new GridCacheTxFinishSync<>(cctx);
-
-        txHandler = new GridCacheTxHandler<>(cctx);
-    }
-
-    /**
-     * @return TX handler.
-     */
-    public GridCacheTxHandler<K, V> txHandler() {
-        return txHandler;
-    }
-
-    /**
-     * Invalidates transaction.
-     *
-     * @param tx Transaction.
-     * @return {@code True} if transaction was salvaged by this call.
-     */
-    public boolean salvageTx(GridCacheTxEx<K, V> tx) {
-        return salvageTx(tx, false, USER_FINISH);
-    }
-
-    /**
-     * Invalidates transaction.
-     *
-     * @param tx Transaction.
-     * @param warn {@code True} if warning should be logged.
-     * @param status Finalization status.
-     * @return {@code True} if transaction was salvaged by this call.
-     */
-    private boolean salvageTx(GridCacheTxEx<K, V> tx, boolean warn, GridCacheTxEx.FinalizationStatus status) {
-        assert tx != null;
-
-        IgniteTxState state = tx.state();
-
-        if (state == ACTIVE || state == PREPARING || state == PREPARED) {
-            try {
-                if (!tx.markFinalizing(status)) {
-                    if (log.isDebugEnabled())
-                        log.debug("Will not try to commit invalidate transaction (could not mark finalized): " + tx);
-
-                    return false;
-                }
-
-                tx.systemInvalidate(true);
-
-                tx.prepare();
-
-                if (tx.state() == PREPARING) {
-                    if (log.isDebugEnabled())
-                        log.debug("Ignoring transaction in PREPARING state as it is currently handled " +
-                            "by another thread: " + tx);
-
-                    return false;
-                }
-
-                if (tx instanceof GridCacheTxRemoteEx) {
-                    GridCacheTxRemoteEx<K, V> rmtTx = (GridCacheTxRemoteEx<K, V>)tx;
-
-                    rmtTx.doneRemote(tx.xidVersion(), Collections.<GridCacheVersion>emptyList(),
-                        Collections.<GridCacheVersion>emptyList(), Collections.<GridCacheVersion>emptyList());
-                }
-
-                tx.commit();
-
-                if (warn) {
-                    // This print out cannot print any peer-deployed entity either
-                    // directly or indirectly.
-                    U.warn(log, "Invalidated transaction because originating node either " +
-                        "crashed or left grid: " + CU.txString(tx));
-                }
-            }
-            catch (IgniteTxOptimisticException ignore) {
-                if (log.isDebugEnabled())
-                    log.debug("Optimistic failure while invalidating transaction (will rollback): " +
-                        tx.xidVersion());
-
-                try {
-                    tx.rollback();
-                }
-                catch (IgniteCheckedException e) {
-                    U.error(log, "Failed to rollback transaction: " + tx.xidVersion(), e);
-                }
-            }
-            catch (IgniteCheckedException e) {
-                U.error(log, "Failed to invalidate transaction: " + tx, e);
-            }
-        }
-        else if (state == MARKED_ROLLBACK) {
-            try {
-                tx.rollback();
-            }
-            catch (IgniteCheckedException e) {
-                U.error(log, "Failed to rollback transaction: " + tx.xidVersion(), e);
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Prints out memory stats to standard out.
-     * <p>
-     * USE ONLY FOR MEMORY PROFILING DURING TESTS.
-     */
-    @Override public void printMemoryStats() {
-        GridCacheTxEx<K, V> firstTx = committedQ.peek();
-
-        int committedSize = committedQ.size();
-
-        Map.Entry<GridCacheVersion, AtomicInt> startVerEntry = startVerCnts.firstEntry();
-
-        GridCacheVersion minStartVer = null;
-        long dur = 0;
-
-        if (committedSize > 3000) {
-            minStartVer = new GridCacheVersion(Integer.MAX_VALUE, Long.MAX_VALUE, Long.MAX_VALUE, Integer.MAX_VALUE, 0);
-
-            GridCacheTxEx<K, V> stuck = null;
-
-            for (GridCacheTxEx<K, V> tx : txs())
-                if (tx.startVersion().isLess(minStartVer)) {
-                    minStartVer = tx.startVersion();
-                    dur = U.currentTimeMillis() - tx.startTime();
-
-                    stuck = tx;
-                }
-
-            X.println("Stuck transaction: " + stuck);
-        }
-
-        X.println(">>> ");
-        X.println(">>> Transaction manager memory stats [grid=" + cctx.gridName() + ']');
-        X.println(">>>   threadMapSize: " + threadMap.size());
-        X.println(">>>   idMap [size=" + idMap.size() + ", minStartVer=" + minStartVer + ", dur=" + dur + "ms]");
-        X.println(">>>   committedQueue [size=" + committedSize +
-            ", firstStartVersion=" + (firstTx == null ? "null" : firstTx.startVersion()) +
-            ", firstEndVersion=" + (firstTx == null ? "null" : firstTx.endVersion()) + ']');
-        X.println(">>>   prepareQueueSize: " + prepareQ.size());
-        X.println(">>>   startVerCntsSize [size=" + startVerCnts.size() +
-            ", firstVer=" + startVerEntry + ']');
-        X.println(">>>   committedVersSize: " + committedVers.size());
-        X.println(">>>   rolledbackVersSize: " + rolledbackVers.size());
-
-        if (pessimisticRecoveryBuf != null)
-            X.println(">>>   pessimsticCommitBufSize: " + pessimisticRecoveryBuf.size());
-    }
-
-    /**
-     * @return Thread map size.
-     */
-    public int threadMapSize() {
-        return threadMap.size();
-    }
-
-    /**
-     * @return ID map size.
-     */
-    public int idMapSize() {
-        return idMap.size();
-    }
-
-    /**
-     * @return Committed queue size.
-     */
-    public int commitQueueSize() {
-        return committedQ.size();
-    }
-
-    /**
-     * @return Prepare queue size.
-     */
-    public int prepareQueueSize() {
-        return prepareQ.size();
-    }
-
-    /**
-     * @return Start version counts.
-     */
-    public int startVersionCountsSize() {
-        return startVerCnts.size();
-    }
-
-    /**
-     * @return Committed versions size.
-     */
-    public int committedVersionsSize() {
-        return committedVers.size();
-    }
-
-    /**
-     * @return Rolled back versions size.
-     */
-    public int rolledbackVersionsSize() {
-        return rolledbackVers.size();
-    }
-
-    /**
-     *
-     * @param tx Transaction to check.
-     * @return {@code True} if transaction has been committed or rolled back,
-     *      {@code false} otherwise.
-     */
-    public boolean isCompleted(GridCacheTxEx<K, V> tx) {
-        return committedVers.contains(tx.xidVersion()) || rolledbackVers.contains(tx.xidVersion());
-    }
-
-    /**
-     * @param implicit {@code True} if transaction is implicit.
-     * @param implicitSingle Implicit-with-single-key flag.
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @param timeout transaction timeout.
-     * @param txSize Expected transaction size.
-     * @param grpLockKey Group lock key if this is a group-lock transaction.
-     * @param partLock {@code True} if partition is locked.
-     * @return New transaction.
-     */
-    public GridCacheTxLocalAdapter<K, V> newTx(
-        boolean implicit,
-        boolean implicitSingle,
-        boolean sys,
-        IgniteTxConcurrency concurrency,
-        IgniteTxIsolation isolation,
-        long timeout,
-        boolean invalidate,
-        boolean storeEnabled,
-        int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
-        boolean partLock) {
-        UUID subjId = null; // TODO GG-9141 how to get subj ID?
-
-        int taskNameHash = cctx.kernalContext().job().currentTaskNameHash();
-
-        GridNearTxLocal<K, V> tx = new GridNearTxLocal<>(
-            cctx,
-            implicit,
-            implicitSingle,
-            sys,
-            concurrency,
-            isolation,
-            timeout,
-            invalidate,
-            storeEnabled,
-            txSize,
-            grpLockKey,
-            partLock,
-            subjId,
-            taskNameHash);
-
-        return onCreated(tx);
-    }
-
-    /**
-     * @param tx Created transaction.
-     * @return Started transaction.
-     */
-    @Nullable public <T extends GridCacheTxEx<K, V>> T onCreated(T tx) {
-        ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> txIdMap = transactionMap(tx);
-
-        // Start clean.
-        txContextReset();
-
-        if (isCompleted(tx)) {
-            if (log.isDebugEnabled())
-                log.debug("Attempt to create a completed transaction (will ignore): " + tx);
-
-            return null;
-        }
-
-        GridCacheTxEx<K, V> t;
-
-        if ((t = txIdMap.putIfAbsent(tx.xidVersion(), tx)) == null) {
-            // Add both, explicit and implicit transactions.
-            // Do not add remote and dht local transactions as remote node may have the same thread ID
-            // and overwrite local transaction.
-            if (tx.local() && !tx.dht())
-                threadMap.put(tx.threadId(), tx);
-
-            // Handle mapped versions.
-            if (tx instanceof GridCacheMappedVersion) {
-                GridCacheMappedVersion mapped = (GridCacheMappedVersion)tx;
-
-                GridCacheVersion from = mapped.mappedVersion();
-
-                if (from != null)
-                    mappedVers.put(from, tx.xidVersion());
-
-                if (log.isDebugEnabled())
-                    log.debug("Added transaction version mapping [from=" + from + ", to=" + tx.xidVersion() +
-                        ", tx=" + tx + ']');
-            }
-        }
-        else {
-            if (log.isDebugEnabled())
-                log.debug("Attempt to create an existing transaction (will ignore) [newTx=" + tx + ", existingTx=" +
-                    t + ']');
-
-            return null;
-        }
-
-        if (cctx.txConfig().isTxSerializableEnabled()) {
-            AtomicInt next = new AtomicInt(1);
-
-            boolean loop = true;
-
-            while (loop) {
-                AtomicInt prev = startVerCnts.putIfAbsent(tx.startVersion(), next);
-
-                if (prev == null)
-                    break; // Put succeeded - exit.
-
-                // Previous value was 0, which means that it will be deleted
-                // by another thread in "decrementStartVersionCount(..)" method.
-                // In that case, we delete here too, so we can safely try again.
-                for (;;) {
-                    int p = prev.get();
-
-                    assert p >= 0 : p;
-
-                    if (p == 0) {
-                        if (startVerCnts.remove(tx.startVersion(), prev))
-                            if (log.isDebugEnabled())
-                                log.debug("Removed count from onCreated callback: " + tx);
-
-                        break; // Retry outer loop.
-                    }
-
-                    if (prev.compareAndSet(p, p + 1)) {
-                        loop = false; // Increment succeeded - exit outer loop.
-
-                        break;
-                    }
-                }
-            }
-        }
-
-        if (tx.timeout() > 0) {
-            cctx.time().addTimeoutObject(tx);
-
-            if (log.isDebugEnabled())
-                log.debug("Registered transaction with timeout processor: " + tx);
-        }
-
-        if (log.isDebugEnabled())
-            log.debug("Transaction created: " + tx);
-
-        return tx;
-    }
-
-    /**
-     * Creates a future that will wait for all ongoing transactions that maybe affected by topology update
-     * to be finished. This set of transactions include
-     * <ul>
-     *     <li/> All {@link IgniteTxConcurrency#PESSIMISTIC} transactions with topology version
-     *     less or equal to {@code topVer}.
-     *     <li/> {@link IgniteTxConcurrency#OPTIMISTIC} transactions in PREPARING state with topology
-     *     version less or equal to {@code topVer} and having transaction key with entry that belongs to
-     *     one of partitions in {@code parts}.
-     * </ul>
-     *
-     * @param topVer Topology version.
-     * @return Future that will be completed when all ongoing transactions are finished.
-     */
-    public IgniteFuture<Boolean> finishTxs(long topVer) {
-        GridCompoundFuture<IgniteTx, Boolean> res =
-            new GridCompoundFuture<>(context().kernalContext(),
-                new IgniteReducer<IgniteTx, Boolean>() {
-                    @Override public boolean collect(IgniteTx e) {
-                        return true;
-                    }
-
-                    @Override public Boolean reduce() {
-                        return true;
-                    }
-                });
-
-        for (GridCacheTxEx<K, V> tx : txs()) {
-            // Must wait for all transactions, even for DHT local and DHT remote since preloading may acquire
-            // values pending to be overwritten by prepared transaction.
-
-            if (tx.concurrency() == PESSIMISTIC) {
-                if (tx.topologyVersion() > 0 && tx.topologyVersion() < topVer)
-                    // For PESSIMISTIC mode we must wait for all uncompleted txs
-                    // as we do not know in advance which keys will participate in tx.
-                    res.add(tx.finishFuture());
-            }
-            else if (tx.concurrency() == OPTIMISTIC) {
-                // For OPTIMISTIC mode we wait only for txs in PREPARING state that
-                // have keys for given partitions.
-                IgniteTxState state = tx.state();
-                long txTopVer = tx.topologyVersion();
-
-                if ((state == PREPARING || state == PREPARED || state == COMMITTING)
-                    && txTopVer > 0 && txTopVer < topVer) {
-                    res.add(tx.finishFuture());
-                }
-            }
-        }
-
-        res.markInitialized();
-
-        return res;
-    }
-
-    /**
-     * Transaction start callback (has to do with when any operation was
-     * performed on this transaction).
-     *
-     * @param tx Started transaction.
-     * @return {@code True} if transaction is not in completed set.
-     */
-    public boolean onStarted(GridCacheTxEx<K, V> tx) {
-        assert tx.state() == ACTIVE || tx.isRollbackOnly() : "Invalid transaction state [locId=" + cctx.localNodeId() +
-            ", tx=" + tx + ']';
-
-        if (isCompleted(tx)) {
-            if (log.isDebugEnabled())
-                log.debug("Attempt to start a completed transaction (will ignore): " + tx);
-
-            return false;
-        }
-
-        onTxStateChange(null, ACTIVE, tx);
-
-        if (log.isDebugEnabled())
-            log.debug("Transaction started: " + tx);
-
-        return true;
-    }
-
-    /**
-     * Reverse mapped version look up.
-     *
-     * @param dhtVer Dht version.
-     * @return Near version.
-     */
-    @Nullable public GridCacheVersion nearVersion(GridCacheVersion dhtVer) {
-        GridCacheTxEx<K, V> tx = idMap.get(dhtVer);
-
-        if (tx != null)
-            return tx.nearXidVersion();
-
-        return null;
-    }
-
-    /**
-     * @param from Near version.
-     * @return DHT version for a near version.
-     */
-    public GridCacheVersion mappedVersion(GridCacheVersion from) {
-        GridCacheVersion to = mappedVers.get(from);
-
-        if (log.isDebugEnabled())
-            log.debug("Found mapped version [from=" + from + ", to=" + to);
-
-        return to;
-    }
-
-    /**
-     *
-     * @param ver Alternate version.
-     * @param tx Transaction.
-     */
-    public void addAlternateVersion(GridCacheVersion ver, GridCacheTxEx<K, V> tx) {
-        if (idMap.putIfAbsent(ver, tx) == null)
-            if (log.isDebugEnabled())
-                log.debug("Registered alternate transaction version [ver=" + ver + ", tx=" + tx + ']');
-    }
-
-    /**
-     * @return Local transaction.
-     */
-    @SuppressWarnings({"unchecked"})
-    @Nullable public <T> T localTx() {
-        GridCacheTxEx<K, V> tx = tx();
-
-        return tx != null && tx.local() ? (T)tx : null;
-    }
-
-    /**
-     * @return Transaction for current thread.
-     */
-    @SuppressWarnings({"unchecked"})
-    public <T> T threadLocalTx() {
-        GridCacheTxEx<K, V> tx = tx(Thread.currentThread().getId());
-
-        return tx != null && tx.local() && (!tx.dht() || tx.colocated()) && !tx.implicit() ? (T)tx : null;
-    }
-
-    /**
-     * @return Transaction for current thread.
-     */
-    @SuppressWarnings({"unchecked", "RedundantCast"})
-    public <T> T tx() {
-        GridCacheTxEx<K, V> tx = txContext();
-
-        return tx != null ? (T)tx : (T)tx(Thread.currentThread().getId());
-    }
-
-    /**
-     * @return Local transaction.
-     */
-    @Nullable public GridCacheTxEx<K, V> localTxx() {
-        GridCacheTxEx<K, V> tx = txx();
-
-        return tx != null && tx.local() ? tx : null;
-    }
-
-    /**
-     * @return Transaction for current thread.
-     */
-    @SuppressWarnings({"unchecked"})
-    public GridCacheTxEx<K, V> txx() {
-        return tx();
-    }
-
-    /**
-     * @return User transaction for current thread.
-     */
-    @Nullable public IgniteTx userTx() {
-        GridCacheTxEx<K, V> tx = txContext();
-
-        if (tx != null && tx.user() && tx.state() == ACTIVE)
-            return tx;
-
-        tx = tx(Thread.currentThread().getId());
-
-        return tx != null && tx.user() && tx.state() == ACTIVE ? tx : null;
-    }
-
-    /**
-     * @return User transaction.
-     */
-    @SuppressWarnings({"unchecked"})
-    @Nullable public <T extends GridCacheTxLocalEx<K, V>> T userTxx() {
-        return (T)userTx();
-    }
-
-    /**
-     * @param threadId Id of thread for transaction.
-     * @return Transaction for thread with given ID.
-     */
-    @SuppressWarnings({"unchecked"})
-    public <T> T tx(long threadId) {
-        return (T)threadMap.get(threadId);
-    }
-
-    /**
-     * @return {@code True} if current thread is currently within transaction.
-     */
-    public boolean inUserTx() {
-        return userTx() != null;
-    }
-
-    /**
-     * @param txId Transaction ID.
-     * @return Transaction with given ID.
-     */
-    @SuppressWarnings({"unchecked"})
-    @Nullable public <T extends GridCacheTxEx<K, V>> T tx(GridCacheVersion txId) {
-        return (T)idMap.get(txId);
-    }
-
-    /**
-     * @param txId Transaction ID.
-     * @return Transaction with given ID.
-     */
-    @SuppressWarnings({"unchecked"})
-    @Nullable public <T extends GridCacheTxEx<K, V>> T nearTx(GridCacheVersion txId) {
-        return (T)nearIdMap.get(txId);
-    }
-
-    /**
-     * @param txId Transaction ID.
-     * @return Transaction with given ID.
-     */
-    @Nullable public GridCacheTxEx<K, V> txx(GridCacheVersion txId) {
-        return idMap.get(txId);
-    }
-
-    /**
-     * Handles prepare stage of 2PC.
-     *
-     * @param tx Transaction to prepare.
-     * @throws IgniteCheckedException If preparation failed.
-     */
-    public void prepareTx(GridCacheTxEx<K, V> tx) throws IgniteCheckedException {
-        if (tx.state() == MARKED_ROLLBACK) {
-            if (tx.timedOut())
-                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
-
-            throw new IgniteCheckedException("Transaction is marked for rollback: " + tx);
-        }
-
-        if (tx.remainingTime() == 0) {
-            tx.setRollbackOnly();
-
-            throw new IgniteTxTimeoutException("Transaction timed out: " + this);
-        }
-
-        boolean txSerializableEnabled = cctx.txConfig().isTxSerializableEnabled();
-
-        // Clean up committed transactions queue.
-        if (tx.pessimistic()) {
-            if (tx.enforceSerializable() && txSerializableEnabled) {
-                for (Iterator<GridCacheTxEx<K, V>> it = committedQ.iterator(); it.hasNext();) {
-                    GridCacheTxEx<K, V> committedTx = it.next();
-
-                    assert committedTx != tx;
-
-                    // Clean up.
-                    if (isSafeToForget(committedTx))
-                        it.remove();
-                }
-            }
-
-            // Nothing else to do in pessimistic mode.
-            return;
-        }
-
-        if (txSerializableEnabled && tx.optimistic() && tx.enforceSerializable()) {
-            Set<GridCacheTxKey<K>> readSet = tx.readSet();
-            Set<GridCacheTxKey<K>> writeSet = tx.writeSet();
-
-            GridCacheVersion startTn = tx.startVersion();
-
-            GridCacheVersion finishTn = cctx.versions().last();
-
-            // Add future to prepare queue only on first prepare call.
-            if (tx.markPreparing())
-                prepareQ.offer(tx);
-
-            // Check that our read set does not intersect with write set
-            // of all transactions that completed their write phase
-            // while our transaction was in read phase.
-            for (Iterator<GridCacheTxEx<K, V>> it = committedQ.iterator(); it.hasNext();) {
-                GridCacheTxEx<K, V> committedTx = it.next();
-
-                assert committedTx != tx;
-
-                // Clean up.
-                if (isSafeToForget(committedTx)) {
-                    it.remove();
-
-                    continue;
-                }
-
-                GridCacheVersion tn = committedTx.endVersion();
-
-                // We only care about transactions
-                // with tn > startTn and tn <= finishTn
-                if (tn.compareTo(startTn) <= 0 || tn.compareTo(finishTn) > 0)
-                    continue;
-
-                if (tx.serializable()) {
-                    if (GridFunc.intersects(committedTx.writeSet(), readSet)) {
-                        tx.setRollbackOnly();
-
-                        throw new IgniteTxOptimisticException("Failed to prepare transaction " +
-                            "(committed vs. read-set conflict): " + tx);
-                    }
-                }
-            }
-
-            // Check that our read and write sets do not intersect with write
-            // sets of all active transactions.
-            for (Iterator<GridCacheTxEx<K, V>> iter = prepareQ.iterator(); iter.hasNext();) {
-                GridCacheTxEx<K, V> prepareTx = iter.next();
-
-                if (prepareTx == tx)
-                    // Skip yourself.
-                    continue;
-
-                // Optimistically remove completed transactions.
-                if (prepareTx.done()) {
-                    iter.remove();
-
-                    if (log.isDebugEnabled())
-                        log.debug("Removed finished transaction from active queue: " + prepareTx);
-
-                    continue;
-                }
-
-                // Check if originating node left.
-                if (cctx.discovery().node(prepareTx.nodeId()) == null) {
-                    iter.remove();
-
-                    rollbackTx(prepareTx);
-
-                    if (log.isDebugEnabled())
-                        log.debug("Removed and rolled back transaction because sender node left grid: " +
-                            CU.txString(prepareTx));
-
-                    continue;
-                }
-
-                if (tx.serializable() && !prepareTx.isRollbackOnly()) {
-                    Set<GridCacheTxKey<K>> prepareWriteSet = prepareTx.writeSet();
-
-                    if (GridFunc.intersects(prepareWriteSet, readSet, writeSet)) {
-                        // Remove from active set.
-                        iter.remove();
-
-                        tx.setRollbackOnly();
-
-                        throw new IgniteTxOptimisticException(
-                            "Failed to prepare transaction (read-set/write-set conflict): " + tx);
-                    }
-                }
-            }
-        }
-
-        // Optimistic.
-        assert tx.optimistic();
-
-        if (!lockMultiple(tx, tx.optimisticLockEntries())) {
-            tx.setRollbackOnly();
-
-            throw new IgniteTxOptimisticException("Failed to prepare transaction (lock conflict): " + tx);
-        }
-    }
-
-    /**
-     * @param tx Transaction to check.
-     * @return {@code True} if transaction can be discarded.
-     */
-    private boolean isSafeToForget(GridCacheTxEx<K, V> tx) {
-        Map.Entry<GridCacheVersion, AtomicInt> e = startVerCnts.firstEntry();
-
-        if (e == null)
-            return true;
-
-        assert e.getValue().get() >= 0;
-
-        return tx.endVersion().compareTo(e.getKey()) <= 0;
-    }
-
-    /**
-     * Decrement start version count.
-     *
-     * @param tx Cache transaction.
-     */
-    private void decrementStartVersionCount(GridCacheTxEx<K, V> tx) {
-        AtomicInt cnt = startVerCnts.get(tx.startVersion());
-
-        assert cnt != null : "Failed to find start version count for transaction [startVerCnts=" + startVerCnts +
-            ", tx=" + tx + ']';
-
-        assert cnt.get() > 0;
-
-        if (cnt.decrementAndGet() == 0)
-            if (startVerCnts.remove(tx.startVersion(), cnt))
-                if (log.isDebugEnabled())
-                    log.debug("Removed start version for transaction: " + tx);
-    }
-
-    /**
-     * @param tx Transaction.
-     */
-    private void removeObsolete(GridCacheTxEx<K, V> tx) {
-        Collection<GridCacheTxEntry<K, V>> entries = (tx.local() && !tx.dht()) ? tx.allEntries() : tx.writeEntries();
-
-        for (GridCacheTxEntry<K, V> entry : entries) {
-            GridCacheEntryEx<K, V> cached = entry.cached();
-
-            GridCacheContext<K, V> cacheCtx = entry.context();
-
-            if (cached == null)
-                cached = cacheCtx.cache().peekEx(entry.key());
-
-            if (cached.detached())
-                continue;
-
-            try {
-                if (cached.obsolete() || cached.markObsoleteIfEmpty(tx.xidVersion()))
-                    cacheCtx.cache().removeEntry(cached);
-
-                if (!tx.near() && isNearEnabled(cacheCtx)) {
-                    GridNearCacheAdapter<K, V> near = cacheCtx.isNear() ? cacheCtx.near() : cacheCtx.dht().near();
-
-                    GridNearCacheEntry<K, V> e = near.peekExx(entry.key());
-
-                    if (e != null && e.markObsoleteIfEmpty(tx.xidVersion()))
-                        near.removeEntry(e);
-                }
-            }
-            catch (IgniteCheckedException e) {
-                U.error(log, "Failed to remove obsolete entry from cache: " + cached, e);
-            }
-        }
-    }
-
-    /**
-     * @param c Collection to copy.
-     * @return Copy of the collection.
-     */
-    private Collection<GridCacheVersion> copyOf(Iterable<GridCacheVersion> c) {
-        Collection<GridCacheVersion> l = new LinkedList<>();
-
-        for (GridCacheVersion v : c)
-            l.add(v);
-
-        return l;
-    }
-
-    /**
-     * Gets committed transactions starting from the given version (inclusive). // TODO: GG-4011: why inclusive?
-     *
-     * @param min Start (or minimum) version.
-     * @return Committed transactions starting from the given version (non-inclusive).
-     */
-    public Collection<GridCacheVersion> committedVersions(GridCacheVersion min) {
-        Set<GridCacheVersion> set = committedVers.tailSet(min, true);
-
-        return set == null || set.isEmpty() ? Collections.<GridCacheVersion>emptyList() : copyOf(set);
-    }
-
-    /**
-     * Gets rolledback transactions starting from the given version (inclusive). // TODO: GG-4011: why inclusive?
-     *
-     * @param min Start (or minimum) version.
-     * @return Committed transactions starting from the given version (non-inclusive).
-     */
-    public Collection<GridCacheVersion> rolledbackVersions(GridCacheVersion min) {
-        Set<GridCacheVersion> set = rolledbackVers.tailSet(min, true);
-
-        return set == null || set.isEmpty() ? Collections.<GridCacheVersion>emptyList() : copyOf(set);
-    }
-
-    /**
-     * @param tx Tx to remove.
-     */
-    public void removeCommittedTx(GridCacheTxEx<K, V> tx) {
-        committedVers.remove(tx.xidVersion());
-    }
-
-    /**
-     * @param tx Committed transaction.
-     * @return If transaction was not already present in committed set.
-     */
-    public boolean addCommittedTx(GridCacheTxEx<K, V> tx) {
-        return addCommittedTx(tx.xidVersion(), tx.nearXidVersion());
-    }
-
-    /**
-     * @param tx Committed transaction.
-     * @return If transaction was not already present in committed set.
-     */
-    public boolean addRolledbackTx(GridCacheTxEx<K, V> tx) {
-        return addRolledbackTx(tx.xidVersion());
-    }
-
-    /**
-     * @param xidVer Completed transaction version.
-     * @param nearXidVer Optional near transaction ID.
-     * @return If transaction was not already present in completed set.
-     */
-    public boolean addCommittedTx(GridCacheVersion xidVer, @Nullable GridCacheVersion nearXidVer) {
-        assert !rolledbackVers.contains(xidVer) : "Version was rolled back: " + xidVer;
-
-        if (nearXidVer != null)
-            xidVer = new CommittedVersion(xidVer, nearXidVer);
-
-        if (committedVers.add(xidVer)) {
-            if (log.isDebugEnabled())
-                log.debug("Added transaction to committed version set: " + xidVer);
-
-            return true;
-        }
-        else {
-            if (log.isDebugEnabled())
-                log.debug("Transaction is already present in committed version set: " + xidVer);
-
-            return false;
-        }
-    }
-
-    /**
-     * @param xidVer Completed transaction version.
-     * @return If transaction was not already present in completed set.
-     */
-    public boolean addRolledbackTx(GridCacheVersion xidVer) {
-        assert !committedVers.contains(xidVer);
-
-        if (rolledbackVers.add(xidVer)) {
-            if (log.isDebugEnabled())
-                log.debug("Added transaction to rolled back version set: " + xidVer);
-
-            return true;
-        }
-        else {
-            if (log.isDebugEnabled())
-                log.debug("Transaction is already present in rolled back version set: " + xidVer);
-
-            return false;
-        }
-    }
-
-    /**
-     * @param tx Transaction.
-     */
-    private void processCompletedEntries(GridCacheTxEx<K, V> tx) {
-        if (tx.needsCompletedVersions()) {
-            GridCacheVersion min = minVersion(tx.readEntries(), tx.xidVersion(), tx);
-
-            min = minVersion(tx.writeEntries(), min, tx);
-
-            assert min != null;
-
-            tx.completedVersions(min, committedVersions(min), rolledbackVersions(min));
-        }
-    }
-
-    /**
-     * Collects versions for all pending locks for all entries within transaction
-     *
-     * @param dhtTxLoc Transaction being committed.
-     */
-    private void collectPendingVersions(GridDhtTxLocal<K, V> dhtTxLoc) {
-        if (dhtTxLoc.needsCompletedVersions()) {
-            if (log.isDebugEnabled())
-                log.debug("Checking for pending locks with version less then tx version: " + dhtTxLoc);
-
-            Set<GridCacheVersion> vers = new LinkedHashSet<>();
-
-            collectPendingVersions(dhtTxLoc.readEntries(), dhtTxLoc.xidVersion(), vers);
-            collectPendingVersions(dhtTxLoc.writeEntries(), dhtTxLoc.xidVersion(), vers);
-
-            if (!vers.isEmpty())
-                dhtTxLoc.pendingVersions(vers);
-        }
-    }
-
-    /**
-     * Gets versions of all not acquired locks for collection of tx entries that are less then base version.
-     *
-     * @param entries Tx entries to process.
-     * @param baseVer Base version to compare with.
-     * @param vers Collection of versions that will be populated.
-     */
-    @SuppressWarnings("TypeMayBeWeakened")
-    private void collectPendingVersions(Iterable<GridCacheTxEntry<K, V>> entries,
-        GridCacheVersion baseVer, Set<GridCacheVersion> vers) {
-
-        // The locks are not released yet, so we can safely list pending candidates versions.
-        for (GridCacheTxEntry<K, V> txEntry : entries) {
-            GridCacheEntryEx<K, V> cached = txEntry.cached();
-
-            try {
-                // If check should be faster then exception handling.
-                if (!cached.obsolete()) {
-                    for (GridCacheMvccCandidate<K> cand : cached.localCandidates()) {
-                        if (!cand.owner() && cand.version().compareTo(baseVer) < 0) {
-                            if (log.isDebugEnabled())
-                                log.debug("Adding candidate version to pending set: " + cand);
-
-                            vers.add(cand.version());
-                        }
-                    }
-                }
-            }
-            catch (GridCacheEntryRemovedException ignored) {
-                if (log.isDebugEnabled())
-                    log.debug("There are no pending locks for entry (entry was deleted in transaction): " + txEntry);
-            }
-        }
-    }
-
-    /**
-     * Go through all candidates for entries involved in transaction and find their min
-     * version. We know that these candidates will commit after this transaction, and
-     * therefore we can grab the min version so we can send all committed and rolled
-     * back versions from min to current to remote nodes for re-ordering.
-     *
-     * @param entries Entries.
-     * @param min Min version so far.
-     * @param tx Transaction.
-     * @return Minimal available version.
-     */
-    private GridCacheVersion minVersion(Iterable<GridCacheTxEntry<K, V>> entries, GridCacheVersion min,
-        GridCacheTxEx<K, V> tx) {
-        for (GridCacheTxEntry<K, V> txEntry : entries) {
-            GridCacheEntryEx<K, V> cached = txEntry.cached();
-
-            // We are assuming that this method is only called on commit. In that
-            // case, if lock is held, entry can never be removed.
-            assert txEntry.isRead() || !cached.obsolete(tx.xidVersion()) :
-                "Invalid obsolete version for transaction [entry=" + cached + ", tx=" + tx + ']';
-
-            for (GridCacheMvccCandidate<K> cand : cached.remoteMvccSnapshot())
-                if (min == null || cand.version().isLess(min))
-                    min = cand.version();
-        }
-
-        return min;
-    }
-
-    /**
-     * Commits a transaction.
-     *
-     * @param tx Transaction to commit.
-     */
-    public void commitTx(GridCacheTxEx<K, V> tx) {
-        assert tx != null;
-        assert tx.state() == COMMITTING : "Invalid transaction state for commit from tm [state=" + tx.state() +
-            ", expected=COMMITTING, tx=" + tx + ']';
-
-        if (log.isDebugEnabled())
-            log.debug("Committing from TM [locNodeId=" + cctx.localNodeId() + ", tx=" + tx + ']');
-
-        if (tx.timeout() > 0) {
-            cctx.time().removeTimeoutObject(tx);
-
-            if (log.isDebugEnabled())
-                log.debug("Unregistered transaction with timeout processor: " + tx);
-        }
-
-        /*
-         * Note that write phase is handled by transaction adapter itself,
-         * so we don't do it here.
-         */
-
-        // 1. Make sure that committed version has been recorded.
-        if (!(committedVers.contains(tx.xidVersion()) || tx.writeSet().isEmpty() || tx.isSystemInvalidate())) {
-            uncommitTx(tx);
-
-            throw new IgniteException("Missing commit version (consider increasing " +
-                GG_MAX_COMPLETED_TX_COUNT + " system property) [ver=" + tx.xidVersion() + ", firstVer=" +
-                committedVers.firstx() + ", lastVer=" + committedVers.lastx() + ", tx=" + tx.xid() + ']');
-        }
-
-        ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> txIdMap = transactionMap(tx);
-
-        if (txIdMap.remove(tx.xidVersion(), tx)) {
-            // 2. Must process completed entries before unlocking!
-            processCompletedEntries(tx);
-
-            if (tx instanceof GridDhtTxLocal) {
-                GridDhtTxLocal<K, V> dhtTxLoc = (GridDhtTxLocal<K, V>)tx;
-
-                collectPendingVersions(dhtTxLoc);
-            }
-
-            // 3.1 Call dataStructures manager.
-            for (GridCacheContext<K, V> cacheCtx : cctx.cacheContexts())
-                cacheCtx.dataStructures().onTxCommitted(tx);
-
-            // 3.2 Add to pessimistic commit buffer if needed.
-            addPessimisticRecovery(tx);
-
-            // 4. Unlock write resources.
-            if (tx.groupLock())
-                unlockGroupLocks(tx);
-            else
-                unlockMultiple(tx, tx.writeEntries());
-
-            // 5. For pessimistic transaction, unlock read resources if required.
-            if (tx.pessimistic() && !tx.readCommitted() && !tx.groupLock())
-                unlockMultiple(tx, tx.readEntries());
-
-            // 6. Notify evictions.
-            notifyEvitions(tx);
-
-            // 7. Remove obsolete entries from cache.
-            removeObsolete(tx);
-
-            // 8. Assign transaction number at the end of transaction.
-            tx.endVersion(cctx.versions().next(tx.topologyVersion()));
-
-            // 9. Clean start transaction number for this transaction.
-            if (cctx.txConfig().isTxSerializableEnabled())
-                decrementStartVersionCount(tx);
-
-            // 10. Add to committed queue only if it is possible
-            //    that this transaction can affect other ones.
-            if (cctx.txConfig().isTxSerializableEnabled() && tx.enforceSerializable() && !isSafeToForget(tx))
-                committedQ.add(tx);
-
-            // 11. Remove from per-thread storage.
-            if (tx.local() && !tx.dht())
-                threadMap.remove(tx.threadId(), tx);
-
-            // 12. Unregister explicit locks.
-            if (!tx.alternateVersions().isEmpty()) {
-                for (GridCacheVersion ver : tx.alternateVersions())
-                    idMap.remove(ver);
-            }
-
-            // 13. Remove Near-2-DHT mappings.
-            if (tx instanceof GridCacheMappedVersion) {
-                GridCacheVersion mapped = ((GridCacheMappedVersion)tx).mappedVersion();
-
-                if (mapped != null)
-                    mappedVers.remove(mapped);
-            }
-
-            // 14. Clear context.
-            txContextReset();
-
-            // 15. Update metrics.
-            if (!tx.dht() && tx.local()) {
-                cctx.txMetrics().onTxCommit();
-
-                for (int cacheId : tx.activeCacheIds()) {
-                    GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
-
-                    cacheCtx.cache().metrics0().onTxCommit();
-                }
-            }
-
-            if (slowTxWarnTimeout > 0 && tx.local() &&
-                U.currentTimeMillis() - tx.startTime() > slowTxWarnTimeout)
-                U.warn(log, "Slow transaction detected [tx=" + tx +
-                    ", slowTxWarnTimeout=" + slowTxWarnTimeout + ']') ;
-
-            if (log.isDebugEnabled())
-                log.debug("Committed from TM [locNodeId=" + cctx.localNodeId() + ", tx=" + tx + ']');
-        }
-        else if (log.isDebugEnabled())
-            log.debug("Did not commit from TM (was already committed): " + tx);
-    }
-
-    /**
-     * Rolls back a transaction.
-     *
-     * @param tx Transaction to rollback.
-     */
-    public void rollbackTx(GridCacheTxEx<K, V> tx) {
-        assert tx != null;
-
-        if (log.isDebugEnabled())
-            log.debug("Rolling back from TM [locNodeId=" + cctx.localNodeId() + ", tx=" + tx + ']');
-
-        // 1. Record transaction version to avoid duplicates.
-        addRolledbackTx(tx);
-
-        ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> txIdMap = transactionMap(tx);
-
-        if (txIdMap.remove(tx.xidVersion(), tx)) {
-            // 2. Unlock write resources.
-            unlockMultiple(tx, tx.writeEntries());
-
-            // 3. For pessimistic transaction, unlock read resources if required.
-            if (tx.pessimistic() && !tx.readCommitted())
-                unlockMultiple(tx, tx.readEntries());
-
-            // 4. Notify evictions.
-            notifyEvitions(tx);
-
-            // 5. Remove obsolete entries.
-            removeObsolete(tx);
-
-            // 6. Clean start transaction number for this transaction.
-            if (cctx.txConfig().isTxSerializableEnabled())
-                decrementStartVersionCount(tx);
-
-            // 7. Remove from per-thread storage.
-            if (tx.local() && !tx.dht())
-                threadMap.remove(tx.threadId(), tx);
-
-            // 8. Unregister explicit locks.
-            if (!tx.alternateVersions().isEmpty())
-                for (GridCacheVersion ver : tx.alternateVersions())
-                    idMap.remove(ver);
-
-            // 9. Remove Near-2-DHT mappings.
-            if (tx instanceof GridCacheMappedVersion)
-                mappedVers.remove(((GridCacheMappedVersion)tx).mappedVersion());
-
-            // 10. Clear context.
-            txContextReset();
-
-            // 11. Update metrics.
-            if (!tx.dht() && tx.local()) {
-                cctx.txMetrics().onTxRollback();
-
-                for (int cacheId : tx.activeCacheIds()) {
-                    GridCacheContext<K, V> cacheCtx = cctx.cacheContext(cacheId);
-
-                    cacheCtx.cache().metrics0().onTxRollback();
-                }
-            }
-
-            if (log.isDebugEnabled())
-                log.debug("Rolled back from TM: " + tx);
-        }
-        else if (log.isDebugEnabled())
-            log.debug("Did not rollback from TM (was already rolled back): " + tx);
-    }
-
-    /**
-     * Tries to minimize damage from partially-committed transaction.
-     *
-     * @param tx Tx to uncommit.
-     */
-    public void uncommitTx(GridCacheTxEx<K, V> tx) {
-        assert tx != null;
-
-        if (log.isDebugEnabled())
-            log.debug("Uncommiting from TM: " + tx);
-
-        ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> txIdMap = transactionMap(tx);
-
-        if (txIdMap.remove(tx.xidVersion(), tx)) {
-            // 1. Unlock write resources.
-            unlockMultiple(tx, tx.writeEntries());
-
-            // 2. For pessimistic transaction, unlock read resources if required.
-            if (tx.pessimistic() && !tx.readCommitted())
-                unlockMultiple(tx, tx.readEntries());
-
-            // 3. Notify evictions.
-            notifyEvitions(tx);
-
-            // 4. Clean start transaction number for this transaction.
-            if (cctx.txConfig().isTxSerializableEnabled())
-                decrementStartVersionCount(tx);
-
-            // 5. Remove from per-thread storage.
-            if (tx.local() && !tx.dht())
-                threadMap.remove(tx.threadId(), tx);
-
-            // 6. Unregister explicit locks.
-            if (!tx.alternateVersions().isEmpty())
-                for (GridCacheVersion ver : tx.alternateVersions())
-                    idMap.remove(ver);
-
-            // 7. Remove Near-2-DHT mappings.
-            if (tx instanceof GridCacheMappedVersion)
-                mappedVers.remove(((GridCacheMappedVersion)tx).mappedVersion());
-
-            // 8. Clear context.
-            txContextReset();
-
-            if (log.isDebugEnabled())
-                log.debug("Uncommitted from TM: " + tx);
-        }
-        else if (log.isDebugEnabled())
-            log.debug("Did not uncommit from TM (was already committed or rolled back): " + tx);
-    }
-
-    /**
-     * Gets transaction ID map depending on transaction type.
-     *
-     * @param tx Transaction.
-     * @return Transaction map.
-     */
-    private ConcurrentMap<GridCacheVersion, GridCacheTxEx<K, V>> transactionMap(GridCacheTxEx<K, V> tx) {
-        return (tx.near() && !tx.local()) ? nearIdMap : idMap;
-    }
-
-    /**
-     * @param tx Transaction to notify evictions for.
-     */
-    private void notifyEvitions(GridCacheTxEx<K, V> tx) {
-        if (tx.internal() && !tx.groupLock())
-            return;
-
-        for (GridCacheTxEntry<K, V> txEntry : tx.allEntries())
-            txEntry.cached().context().evicts().touch(txEntry, tx.local());
-    }
-
-    /**
-     * Callback invoked whenever a member of a transaction acquires
-     * lock ownership.
-     *
-     * @param entry Cache entry.
-     * @param owner Candidate that won ownership.
-     * @return {@code True} if transaction was notified, {@code false} otherwise.
-     */
-    public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner) {
-        // We only care about acquired locks.
-        if (owner != null) {
-            GridCacheTxAdapter<K, V> tx = tx(owner.version());
-
-            if (tx == null)
-                tx = nearTx(owner.version());
-
-            if (tx != null) {
-                if (!tx.local()) {
-                    if (log.isDebugEnabled())
-                        log.debug("Found transaction for owner changed event [owner=" + owner + ", entry=" + entry +
-                            ", tx=" + tx + ']');
-
-                    tx.onOwnerChanged(entry, owner);
-
-                    return true;
-                }
-                else if (log.isDebugEnabled())
-                    log.debug("Ignoring local transaction for owner change event: " + tx);
-            }
-            else if (log.isDebugEnabled())
-                log.debug("Transaction not found for owner changed event [owner=" + owner + ", entry=" + entry + ']');
-        }
-
-        return false;
-    }
-
-    /**
-     * Callback called by near finish future before sending near finish request to remote node. Will increment
-     * per-thread counter so that further awaitAck call will wait for finish response.
-     *
-     * @param rmtNodeId Remote node ID for which finish request is being sent.
-     * @param threadId Near tx thread ID.
-     */
-    public void beforeFinishRemote(UUID rmtNodeId, long threadId) {
-        if (finishSyncDisabled)
-            return;
-
-        assert txFinishSync != null;
-
-        txFinishSync.onFinishSend(rmtNodeId, threadId);
-    }
-
-    /**
-     * Callback invoked when near finish response is received from remote node.
-     *
-     * @param rmtNodeId Remote node ID from which response is received.
-     * @param threadId Near tx thread ID.
-     */
-    public void onFinishedRemote(UUID rmtNodeId, long threadId) {
-        if (finishSyncDisabled)
-            return;
-
-        assert txFinishSync != null;
-
-        txFinishSync.onAckReceived(rmtNodeId, threadId);
-    }
-
-    /**
-     * Asynchronously waits for last finish request ack.
-     *
-     * @param rmtNodeId Remote node ID.
-     * @param threadId Near tx thread ID.
-     * @return {@code null} if ack was received or future that will be completed when ack is received.
-     */
-    @Nullable public IgniteFuture<?> awaitFinishAckAsync(UUID rmtNodeId, long threadId) {
-        if (finishSyncDisabled)
-            return null;
-
-        assert txFinishSync != null;
-
-        return txFinishSync.awaitAckAsync(rmtNodeId, threadId);
-    }
-
-    /**
-     * For test purposes only.
-     *
-     * @param finishSyncDisabled {@code True} if finish sync should be disabled.
-     */
-    public void finishSyncDisabled(boolean finishSyncDisabled) {
-        this.finishSyncDisabled = finishSyncDisabled;
-    }
-
-    /**
-     * @param tx Transaction.
-     * @param entries Entries to lock.
-     * @return {@code True} if all keys were locked.
-     * @throws IgniteCheckedException If lock has been cancelled.
-     */
-    private boolean lockMultiple(GridCacheTxEx<K, V> tx, Iterable<GridCacheTxEntry<K, V>> entries)
-        throws IgniteCheckedException {
-        assert tx.optimistic();
-
-        long remainingTime = U.currentTimeMillis() - (tx.startTime() + tx.timeout());
-
-        // For serializable transactions, failure to acquire lock means
-        // that there is a serializable conflict. For all other isolation levels,
-        // we wait for the lock.
-        long timeout = tx.timeout() == 0 ? 0 : remainingTime;
-
-        for (GridCacheTxEntry<K, V> txEntry1 : entries) {
-            // Check if this entry was prepared before.
-            if (!txEntry1.markPrepared())
-                continue;
-
-            GridCacheContext<K, V> cacheCtx = txEntry1.context();
-
-            while (true) {
-                try {
-                    GridCacheEntryEx<K, V> entry1 = txEntry1.cached();
-
-                    assert !entry1.detached() : "Expected non-detached entry for near transaction " +
-                        "[locNodeId=" + cctx.localNodeId() + ", entry=" + entry1 + ']';
-
-                    if (!entry1.tmLock(tx, timeout)) {
-                        // Unlock locks locked so far.
-                        for (GridCacheTxEntry<K, V> txEntry2 : entries) {
-                            if (txEntry2 == txEntry1)
-                                break;
-
-                            txEntry2.cached().txUnlock(tx);
-                        }
-
-                        return false;
-                    }
-
-                    entry1.unswap();
-
-                    break;
-                }
-                catch (GridCacheEntryRemovedException ignored) {
-                    if (log.isDebugEnabled())
-                        log.debug("Got removed entry in TM lockMultiple(..) method (will retry): " + txEntry1);
-
-                    try {
-                        // Renew cache entry.
-                        txEntry1.cached(cacheCtx.cache().entryEx(txEntry1.key()), txEntry1.keyBytes());
-                    }
-                    catch (GridDhtInvalidPartitionException e) {
-                        assert tx.dht() : "Received invalid partition for non DHT transaction [tx=" +
-                            tx + ", invalidPart=" + e.partition() + ']';
-
-                        // If partition is invalid, we ignore this entry.
-                        tx.addInvalidPartition(cacheCtx, e.partition());
-
-                        break;
-                    }
-                }
-                catch (GridDistributedLockCancelledException ignore) {
-                    tx.setRollbackOnly();
-
-                    throw new IgniteCheckedException("Entry lock has been cancelled for transaction: " + tx);
-                }
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Unlocks entries locked by group transaction.
-     *
-     * @param txx Transaction.
-     */
-    @SuppressWarnings("unchecked")
-    private void unlockGroupLocks(GridCacheTxEx txx) {
-        GridCacheTxKey grpLockKey = txx.groupLockKey();
-
-        assert grpLockKey != null;
-
-        if (grpLockKey == null)
-            return;
-
-        GridCacheTxEntry txEntry = txx.entry(grpLockKey);
-
-        assert txEntry != null || (txx.near() && !txx.local());
-
-        if (txEntry != null) {
-            GridCacheContext cacheCtx = txEntry.context();
-
-            // Group-locked entries must be locked.
-            while (true) {
-                try {
-                    GridCacheEntryEx<K, V> entry = txEntry.cached();
-
-                    assert entry != null;
-
-                    entry.txUnlock(txx);
-
-                    break;
-                }
-                catch (GridCacheEntryRemovedException ignored) {
-                    if (log.isDebugEnabled())
-                        log.debug("Got removed entry in TM unlockGroupLocks(..) method (will retry): " + txEntry);
-
-                    GridCacheAdapter cache = cacheCtx.cache();
-
-                    // Renew cache entry.
-                    txEntry.cached(cache.entryEx(txEntry.key()), txEntry.keyBytes());
-                }
-            }
-        }
-    }
-
-    /**
-     * @param tx Owning transaction.
-     * @param entries Entries to unlock.
-     */
-    private void unlockMultiple(GridCacheTxEx<K, V> tx, Iterable<GridCacheTxEntry<K, V>> entries) {
-        for (GridCacheTxEntry<K, V> txEntry : entries) {
-            GridCacheContext<K, V> cacheCtx = txEntry.context();
-
-            while (true) {
-                try {
-                    GridCacheEntryEx<K, V> entry = txEntry.cached();
-
-                    if (entry.detached())
-                        break;
-
-                    assert entry != null;
-
-                    entry.txUnlock(tx);
-
-                    break;
-                }
-                catch (GridCacheEntryRemovedException ignored) {
-                    if (log.isDebugEnabled())
-                        log.debug("Got removed entry in TM unlockMultiple(..) method (will retry): " + txEntry);
-
-                    // Renew cache entry.
-                    txEntry.cached(cacheCtx.cache().entryEx(txEntry.key()), txEntry.keyBytes());
-                }
-            }
-        }
-    }
-
-    /**
-     * @param sync Transaction synchronizations to add.
-     */
-    public void addSynchronizations(IgniteTxSynchronization... sync) {
-        if (F.isEmpty(sync))
-            return;
-
-        F.copy(syncs, sync);
-    }
-
-    /**
-     * @param sync Transaction synchronizations to remove.
-     */
-    public void removeSynchronizations(IgniteTxSynchronization... sync) {
-        if (F.isEmpty(sync))
-            return;
-
-        F.lose(syncs, false, Arrays.asList(sync));
-    }
-
-    /**
-     * @return Registered transaction synchronizations
-     */
-    public Collection<IgniteTxSynchronization> synchronizations() {
-        return Collections.unmodifiableList(new LinkedList<>(syncs));
-    }
-
-    /**
-     * @param prevState Previous state.
-     * @param newState New state.
-     * @param tx Cache transaction.
-     */
-    public void onTxStateChange(@Nullable IgniteTxState prevState, IgniteTxState newState, IgniteTx tx) {
-        // Notify synchronizations.
-        for (IgniteTxSynchronization s : syncs)
-            s.onStateChanged(prevState, newState, tx);
-    }
-
-    /**
-     * @param tx Committing transaction.
-     */
-    public void txContext(GridCacheTxEx tx) {
-        threadCtx.set(tx);
-    }
-
-    /**
-     * @return Currently committing transaction.
-     */
-    @SuppressWarnings({"unchecked"})
-    private GridCacheTxEx<K, V> txContext() {
-        return threadCtx.get();
-    }
-
-    /**
-     * Gets version of transaction in tx context or {@code null}
-     * if tx context is empty.
-     * <p>
-     * This is a convenience method provided mostly for debugging.
-     *
-     * @return Transaction version from transaction context.
-     */
-    @Nullable public GridCacheVersion txContextVersion() {
-        GridCacheTxEx<K, V> tx = txContext();
-
-        return tx == null ? null : tx.xidVersion();
-    }
-
-    /**
-     * Commit ended.
-     */
-    public void txContextReset() {
-        threadCtx.set(null);
-    }
-
-    /**
-     * @return All transactions.
-     */
-    public Collection<GridCacheTxEx<K, V>> txs() {
-        return F.concat(false, idMap.values(), nearIdMap.values());
-    }
-
-    /**
-     * @return Slow tx warn timeout.
-     */
-    public int slowTxWarnTimeout() {
-        return slowTxWarnTimeout;
-    }
-
-    /**
-     * @param slowTxWarnTimeout Slow tx warn timeout.
-     */
-    public void slowTxWarnTimeout(int slowTxWarnTimeout) {
-        this.slowTxWarnTimeout = slowTxWarnTimeout;
-    }
-
-    /**
-     * Checks if transactions with given near version ID was prepared or committed.
-     *
-     * @param nearVer Near version ID.
-     * @param txNum Number of transactions.
-     * @return {@code True} if transactions were prepared or committed.
-     */
-    public boolean txsPreparedOrCommitted(GridCacheVersion nearVer, int txNum) {
-        Collection<GridCacheVersion> processedVers = null;
-
-        for (GridCacheTxEx<K, V> tx : txs()) {
-            if (nearVer.equals(tx.nearXidVersion())) {
-                IgniteTxState state = tx.state();
-
-                if (state == PREPARED || state == COMMITTING || state == COMMITTED) {
-                    if (--txNum == 0)
-                        return true;
-                }
-                else {
-                    if (tx.state(MARKED_ROLLBACK) || tx.state() == UNKNOWN) {
-                        tx.rollbackAsync();
-
-                        if (log.isDebugEnabled())
-                            log.debug("Transaction was not prepared (rolled back): " + tx);
-
-                        return false;
-                    }
-                    else {
-                        if (tx.state() == COMMITTED) {
-                            if (--txNum == 0)
-                                return true;
-                        }
-                        else {
-                            if (log.isDebugEnabled())
-                                log.debug("Transaction is not prepared: " + tx);
-
-                            return false;
-                        }
-                    }
-                }
-
-                if (processedVers == null)
-                    processedVers = new HashSet<>(txNum, 1.0f);
-
-                processedVers.add(tx.xidVersion());
-            }
-        }
-
-        // Not all transactions were found. Need to scan committed versions to check
-        // if transaction was already committed.
-        for (GridCacheVersion ver : committedVers) {
-            if (processedVers != null && processedVers.contains(ver))
-                continue;
-
-            if (ver instanceof CommittedVersion) {
-                CommittedVersion commitVer = (CommittedVersion)ver;
-
-                if (commitVer.nearVer.equals(nearVer)) {
-                    if (--txNum == 0)
-                        return true;
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Adds transaction to pessimistic recovery buffer if needed.
-     *
-     * @param tx Committed transaction to add.
-     */
-    private void addPessimisticRecovery(GridCacheTxEx<K, V> tx) {
-        if (pessimisticRecoveryBuf == null)
-            return;
-
-        // Do not store recovery information for optimistic or replicated local transactions.
-        if (tx.optimistic() || (tx.local() && tx.replicated()))
-            return;
-
-        pessimisticRecoveryBuf.addCommittedTx(tx);
-    }
-
-    /**
-     * Checks whether transaction with given near version was committed on this node and returns commit info.
-     *
-     * @param nearTxVer Near tx version.
-     * @param originatingNodeId Originating node ID.
-     * @param originatingThreadId Originating thread ID.
-     * @return Commit info, if present.
-     */
-    @Nullable public GridCacheCommittedTxInfo<K, V> txCommitted(GridCacheVersion nearTxVer,
-        UUID originatingNodeId, long originatingThreadId) {
-        assert pessimisticRecoveryBuf != null : "Should not be called for LOCAL cache.";
-
-        return pessimisticRecoveryBuf.committedTx(nearTxVer, originatingNodeId, originatingThreadId);
-    }
-
-    /**
-     * Gets local transaction for pessimistic tx recovery.
-     *
-     * @param nearXidVer Near tx ID.
-     * @return Near local or colocated local transaction.
-     */
-    @Nullable public GridCacheTxEx<K, V> localTxForRecovery(GridCacheVersion nearXidVer, boolean markFinalizing) {
-        // First check if we have near transaction with this ID.
-        GridCacheTxEx<K, V> tx = idMap.get(nearXidVer);
-
-        if (tx == null) {
-            // Check all local transactions and mark them as waiting for recovery to prevent finish race.
-            for (GridCacheTxEx<K, V> txEx : idMap.values()) {
-                if (nearXidVer.equals(txEx.nearXidVersion())) {
-                    if (!markFinalizing || !txEx.markFinalizing(RECOVERY_WAIT))
-                        tx = txEx;
-                }
-            }
-        }
-
-        // Either we found near transaction or one of transactions is being committed by user.
-        // Wait for it and send reply.
-        if (tx != null && tx.local())
-            return tx;
-
-        return null;
-    }
-
-    /**
-     * Commits or rolls back prepared transaction.
-     *
-     * @param tx Transaction.
-     * @param commit Whether transaction should be committed or rolled back.
-     */
-    public void finishOptimisticTxOnRecovery(final GridCacheTxEx<K, V> tx, boolean commit) {
-        if (log.isDebugEnabled())
-            log.debug("Finishing prepared transaction [tx=" + tx + ", commit=" + commit + ']');
-
-        if (!tx.markFinalizing(RECOVERY_FINISH)) {
-            if (log.isDebugEnabled())
-                log.debug("Will not try to commit prepared transaction (could not mark finalized): " + tx);
-
-            return;
-        }
-
-        if (tx instanceof GridDistributedTxRemoteAdapter) {
-            GridCacheTxRemoteEx<K,V> rmtTx = (GridCacheTxRemoteEx<K, V>)tx;
-
-            rmtTx.doneRemote(tx.xidVersion(), Collections.<GridCacheVersion>emptyList(), Collections.<GridCacheVersion>emptyList(),
-                Collections.<GridCacheVersion>emptyList());
-        }
-
-        if (commit)
-            tx.commitAsync().listenAsync(new CommitListener(tx));
-        else
-            tx.rollbackAsync();
-    }
-
-    /**
-     * Commits or rolls back pessimistic transaction.
-     *
-     * @param tx Transaction to finish.
-     * @param commitInfo Commit information.
-     */
-    public void finishPessimisticTxOnRecovery(final GridCacheTxEx<K, V> tx, GridCacheCommittedTxInfo<K, V> commitInfo) {
-        if (!tx.markFinalizing(RECOVERY_FINISH)) {
-            if (log.isDebugEnabled())
-                log.debug("Will not try to finish pessimistic transaction (could not mark as finalizing): " + tx);
-
-            return;
-        }
-
-        if (tx instanceof GridDistributedTxRemoteAdapter) {
-            GridCacheTxRemoteEx<K,V> rmtTx = (GridCacheTxRemoteEx<K, V>)tx;
-
-            rmtTx.doneRemote(tx.xidVersion(), Collections.<GridCacheVersion>emptyList(), Collections.<GridCacheVersion>emptyList(),
-                Collections.<GridCacheVersion>emptyList());
-        }
-
-        try {
-            tx.prepare();
-
-            if (commitInfo != null) {
-                for (GridCacheTxEntry<K, V> entry : commitInfo.recoveryWrites()) {
-                    GridCacheTxEntry<K, V> write = tx.writeMap().get(entry.txKey());
-
-                    if (write != null) {
-                        GridCacheEntryEx<K, V> cached = write.cached();
-
-                        GridCacheTxEntry<K, V> recovered = entry.cleanCopy(write.context());
-
-                        if (cached == null || cached.detached())
-                            cached = write.context().cache().entryEx(entry.key(), tx.topologyVersion());
-
-                        recovered.cached(cached, cached.keyBytes());
-
-                        tx.writeMap().put(entry.txKey(), recovered);
-
-                        continue;
-                    }
-
-                    ((GridCacheTxAdapter<K, V>)tx).recoveryWrites(commitInfo.recoveryWrites());
-
-                    // If write was not found, check read.
-                    GridCacheTxEntry<K, V> read = tx.readMap().remove(entry.txKey());
-
-                    if (read != null)
-                        tx.writeMap().put(entry.txKey(), entry);
-                }
-
-                tx.commitAsync().listenAsync(new CommitListener(tx));
-            }
-            else
-                tx.rollbackAsync();
-        }
-        catch (IgniteCheckedException e) {
-            U.error(log, "Failed to prepare pessimistic transaction (will invalidate): " + tx, e);
-
-            salvageTx(tx);
-        }
-    }
-
-    /**
-     * @param req Check committed request.
-     * @return Check committed future.
-     */
-    public IgniteFuture<GridCacheCommittedTxInfo<K, V>> checkPessimisticTxCommitted(GridCachePessimisticCheckCommittedTxRequest req) {
-        // First check if we have near transaction with this ID.
-        GridCacheTxEx<K, V> tx = localTxForRecovery(req.nearXidVersion(), !req.nearOnlyCheck());
-
-        // Either we found near transaction or one of transactions is being committed by user.
-        // Wait for it and send reply.
-        if (tx != null) {
-            assert tx.local();
-
-            if (log.isDebugEnabled())
-                log.debug("Found active near transaction, will wait for completion [req=" + req + ", tx=" + tx + ']');
-
-            final GridCacheTxEx<K, V> tx0 = tx;
-
-            return tx.finishFuture().chain(new C1<IgniteFuture<IgniteTx>, GridCacheCommittedTxInfo<K, V>>() {
-                @Override public GridCacheCommittedTxInfo<K, V> apply(IgniteFuture<IgniteTx> txFut) {
-                    GridCacheCommittedTxInfo<K, V> info = null;
-
-                    if (tx0.state() == COMMITTED)
-                        info = new GridCacheCommittedTxInfo<>(tx0);
-
-                    return info;
-                }
-            });
-        }
-
-        GridCacheCommittedTxInfo<K, V> info = txCommitted(req.nearXidVersion(), req.originatingNodeId(),
-            req.originatingThreadId());
-
-        if (info == null)
-            info = txCommitted(req.nearXidVersion(), req.originatingNodeId(), req.originatingThreadId());
-
-        return new GridFinishedFutureEx<>(info);
-    }
-
-    /**
-     * Timeout object for node failure handler.
-     */
-    private final class NodeFailureTimeoutObject extends GridTimeoutObjectAdapter {
-        /** Left or failed node. */
-        private final UUID evtNodeId;
-
-        /**
-         * @param evtNodeId Event node ID.
-         */
-        private NodeFailureTimeoutObject(UUID evtNodeId) {
-            super(IgniteUuid.fromUuid(cctx.localNodeId()), TX_SALVAGE_TIMEOUT);
-
-            this.evtNodeId = evtNodeId;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void onTimeout() {
-            try {
-                cctx.kernalContext().gateway().readLock();
-            }
-            catch (IllegalStateException ignore) {
-                if (log.isDebugEnabled())
-                    log.debug("Failed to acquire kernal gateway (grid is stopping).");
-
-                return;
-            }
-
-            try {
-                if (log.isDebugEnabled())
-                    log.debug("Processing node failed event [locNodeId=" + cctx.localNodeId() +
-                        ", failedNodeId=" + evtNodeId + ']');
-
-                for (GridCacheTxEx<K, V> tx : txs()) {
-                    if ((tx.near() && !tx.local()) || (tx.storeUsed() && tx.masterNodeIds().contains(evtNodeId))) {
-                        // Invalidate transactions.
-                        salvageTx(tx, false, RECOVERY_FINISH);
-                    }
-                    else if (tx.optimistic()) {
-                        // Check prepare only if originating node ID failed. Otherwise parent node will finish this tx.
-                        if (tx.originatingNodeId().equals(evtNodeId)) {
-                            if (tx.state() == PREPARED)
-                                commitIfPrepared(tx);
-                            else {
-                                if (tx.setRollbackOnly())
-                                    tx.rollbackAsync();
-                                // If we could not mark tx as rollback, it means that transaction is being committed.
-                            }
-                        }
-                    }
-                    else {
-                        // Pessimistic.
-                        if (tx.originatingNodeId().equals(evtNodeId)) {
-                            if (tx.state() != COMMITTING && tx.state() != COMMITTED)
-                                commitIfRemotelyCommitted(tx);
-                            else {
-                                if (log.isDebugEnabled())
-                                    log.debug("Skipping pessimistic transaction check (transaction is being committed) " +
-                                        "[tx=" + tx + ", locNodeId=" + cctx.localNodeId() + ']');
-                            }
-                        }
-                        else {
-                            if (log.isDebugEnabled())
-                                log.debug("Skipping pessimistic transaction check [tx=" + tx +
-                                    ", evtNodeId=" + evtNodeId + ", locNodeId=" + cctx.localNodeId() + ']');
-                        }
-                    }
-                }
-            }
-            finally {
-                cctx.kernalContext().gateway().readUnlock();
-            }
-        }
-
-        /**
-         * Commits optimistic transaction in case when node started transaction failed, but all related
-         * transactions were prepared (invalidates transaction if it is not fully prepared).
-         *
-         * @param tx Transaction.
-         */
-        private void commitIfPrepared(GridCacheTxEx<K, V> tx) {
-            assert tx instanceof GridDhtTxLocal || tx instanceof GridDhtTxRemote  : tx;
-            assert !F.isEmpty(tx.transactionNodes());
-            assert tx.nearXidVersion() != null;
-
-
-            GridCacheOptimisticCheckPreparedTxFuture<K, V> fut = new GridCacheOptimisticCheckPreparedTxFuture<>(
-                cctx, tx, evtNodeId, tx.transactionNodes());
-
-            cctx.mvcc().addFuture(fut);
-
-            if (log.isDebugEnabled())
-                log.debug("Checking optimistic transaction state on remote nodes [tx=" + tx + ", fut=" + fut + ']');
-
-            fut.prepare();
-        }
-
-        /**
-         * Commits pessimistic transaction if at least one of remote nodes has committed this transaction.
-         *
-         * @param tx Transaction.
-         */
-        private void commitIfRemotelyCommitted(GridCacheTxEx<K, V> tx) {
-            assert tx instanceof GridDhtTxLocal || tx instanceof GridDhtTxRemote : tx;
-
-            GridCachePessimisticCheckCommittedTxFuture<K, V> fut = new GridCachePessimisticCheckCommittedTxFuture<>(
-                cctx, tx, evtNodeId);
-
-            cctx.mvcc().addFuture(fut);
-
-            if (log.isDebugEnabled())
-                log.debug("Checking pessimistic transaction state on remote nodes [tx=" + tx + ", fut=" + fut + ']');
-
-            fut.prepare();
-        }
-    }
-
-    /**
-     *
-     */
-    private static class CommittedVersion extends GridCacheVersion {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** Corresponding near version. Transient. */
-        private GridCacheVersion nearVer;
-
-        /**
-         * Empty constructor required by {@link Externalizable}.
-         */
-        public CommittedVersion() {
-            // No-op.
-        }
-
-        /**
-         * @param ver Committed version.
-         * @param nearVer Near transaction version.
-         */
-        private CommittedVersion(GridCacheVersion ver, GridCacheVersion nearVer) {
-            super(ver.topologyVersion(), ver.globalTime(), ver.order(), ver.nodeOrder(), ver.dataCenterId());
-
-            assert nearVer != null;
-
-            this.nearVer = nearVer;
-        }
-    }
-
-    /**
-     * Atomic integer that compares only using references, not values.
-     */
-    private static final class AtomicInt extends AtomicInteger {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /**
-         * @param initVal Initial value.
-         */
-        private AtomicInt(int initVal) {
-            super(initVal);
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object obj) {
-            // Reference only.
-            return obj == this;
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            return super.hashCode();
-        }
-    }
-
-    /**
-     * Commit listener. Checks if commit succeeded and rollbacks if case of error.
-     */
-    private class CommitListener implements CI1<IgniteFuture<IgniteTx>> {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** Transaction. */
-        private final GridCacheTxEx<K, V> tx;
-
-        /**
-         * @param tx Transaction.
-         */
-        private CommitListener(GridCacheTxEx<K, V> tx) {
-            this.tx = tx;
-        }
-
-        /** {@inheritDoc} */
-        @Override public void apply(IgniteFuture<IgniteTx> t) {
-            try {
-                t.get();
-            }
-            catch (IgniteTxOptimisticException ignore) {
-                if (log.isDebugEnabled())
-                    log.debug("Optimistic failure while committing prepared transaction (will rollback): " +
-                        tx);
-
-                tx.rollbackAsync();
-            }
-            catch (IgniteCheckedException e) {
-                U.error(log, "Failed to commit transaction during failover: " + tx, e);
-            }
-        }
-    }
-}


[17/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
GG-9141 - Renaming


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3008d2ad
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3008d2ad
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3008d2ad

Branch: refs/heads/ignite-32
Commit: 3008d2ad03155d6ac438c86529220d32a557c88a
Parents: 5ba15f0
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 17:59:40 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 17:59:42 2014 -0800

----------------------------------------------------------------------
 .../datagrid/CacheTransactionExample.java       |   2 +-
 .../datagrid/store/CacheStoreExample.java       |   2 +-
 .../store/dummy/CacheDummyPersonStore.java      |   6 +-
 .../hibernate/CacheHibernatePersonStore.java    |  14 +-
 .../store/jdbc/CacheJdbcPersonStore.java        |  12 +-
 .../org/gridgain/client/GridHashMapStore.java   |   6 +-
 .../integration/GridClientAbstractSelfTest.java |   6 +-
 .../java/org/apache/ignite/IgniteCache.java     |   6 +-
 .../org/apache/ignite/IgniteTransactions.java   |  12 +-
 .../java/org/apache/ignite/cache/CacheFlag.java |   2 +-
 .../TransactionsConfiguration.java              |   4 +-
 .../apache/ignite/transactions/GridCacheTx.java | 244 -----
 .../transactions/GridCacheTxConcurrency.java    |   2 +-
 .../transactions/GridCacheTxIsolation.java      |   2 +-
 .../GridCacheTxSynchronization.java             |   8 +-
 .../apache/ignite/transactions/IgniteTx.java    | 244 +++++
 .../grid/cache/GridCacheAtomicityMode.java      |   2 +-
 .../grid/cache/GridCacheConfiguration.java      |   4 +-
 .../org/gridgain/grid/cache/GridCacheEntry.java |   2 +-
 .../org/gridgain/grid/cache/GridCacheFlag.java  |   2 +-
 .../grid/cache/GridCacheProjection.java         | 108 +--
 .../GridCacheWriteSynchronizationMode.java      |   4 +-
 .../store/GridCacheLoadOnlyStoreAdapter.java    |  14 +-
 .../grid/cache/store/GridCacheStore.java        |  24 +-
 .../grid/cache/store/GridCacheStoreAdapter.java |  16 +-
 .../store/GridCacheStoreBalancingWrapper.java   |  14 +-
 .../store/jdbc/GridCacheJdbcBlobStore.java      |  12 +-
 .../grid/kernal/IgniteTransactionsEx.java       |   2 +-
 .../processors/cache/GridCacheAdapter.java      |  30 +-
 .../processors/cache/GridCacheEventManager.java |   6 +-
 .../cache/GridCacheMultiTxFuture.java           |   4 +-
 .../processors/cache/GridCacheProjectionEx.java |   8 +-
 .../cache/GridCacheProjectionImpl.java          |  12 +-
 .../processors/cache/GridCacheProxyImpl.java    |  12 +-
 .../cache/GridCacheSharedContext.java           |   2 +-
 .../processors/cache/GridCacheStoreManager.java |  14 +-
 .../processors/cache/GridCacheTxAdapter.java    |  16 +-
 .../kernal/processors/cache/GridCacheTxEx.java  |   6 +-
 .../processors/cache/GridCacheTxHandler.java    |  26 +-
 .../cache/GridCacheTxLocalAdapter.java          |  16 +-
 .../processors/cache/GridCacheTxManager.java    |  18 +-
 .../processors/cache/GridCacheTxProxy.java      |  19 -
 .../processors/cache/GridCacheTxProxyImpl.java  | 303 ------
 .../kernal/processors/cache/GridCacheUtils.java |  12 +-
 .../cache/GridCacheWriteBehindStore.java        |  14 +-
 .../kernal/processors/cache/IgniteTxProxy.java  |  19 +
 .../processors/cache/IgniteTxProxyImpl.java     | 303 ++++++
 .../datastructures/GridCacheAtomicLongImpl.java |  16 +-
 .../GridCacheAtomicReferenceImpl.java           |   4 +-
 .../GridCacheAtomicSequenceImpl.java            |   2 +-
 .../GridCacheAtomicStampedImpl.java             |   4 +-
 .../GridCacheCountDownLatchImpl.java            |   4 +-
 .../GridCacheDataStructuresManager.java         |  14 +-
 .../GridTransactionalCacheQueueImpl.java        |   8 +-
 .../GridDistributedTxRemoteAdapter.java         |   8 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   4 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |  12 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   4 +-
 .../near/GridNearTxFinishFuture.java            |  16 +-
 .../cache/distributed/near/GridNearTxLocal.java |  12 +-
 .../processors/cache/local/GridLocalTx.java     |   6 +-
 .../transactions/IgniteTransactionsImpl.java    |  24 +-
 .../dataload/GridDataLoadCacheUpdaters.java     |   2 +-
 .../processors/ggfs/GridGgfsDataManager.java    |   4 +-
 .../processors/ggfs/GridGgfsMetaManager.java    |  26 +-
 .../handlers/cache/GridCacheCommandHandler.java |   2 +-
 .../service/GridServiceProcessor.java           |   2 +-
 .../store/GridCacheBalancingStoreSelfTest.java  |  14 +-
 .../cache/store/GridGeneratingTestStore.java    |  14 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |   2 +-
 .../grid/kernal/GridStartStopSelfTest.java      |   2 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  80 +-
 .../GridCacheAbstractProjectionSelfTest.java    |   4 +-
 .../cache/GridCacheAbstractSelfTest.java        |   8 +-
 .../cache/GridCacheAbstractTtlSelfTest.java     |   2 +-
 .../cache/GridCacheAbstractTxReadTest.java      |   2 +-
 .../cache/GridCacheBasicStoreAbstractTest.java  |   6 +-
 ...acheBasicStoreMultithreadedAbstractTest.java |   6 +-
 .../cache/GridCacheClearAllSelfTest.java        |   2 +-
 ...dCacheColocatedTxStoreExceptionSelfTest.java |   2 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |   2 +-
 ...idCacheConfigurationConsistencySelfTest.java |  14 +-
 .../GridCacheDaemonNodeAbstractSelfTest.java    |   4 +-
 .../cache/GridCacheDeploymentSelfTest.java      |   2 +-
 .../GridCacheExAbstractFullApiSelfTest.java     |   2 +-
 .../GridCacheFinishPartitionsSelfTest.java      |   4 +-
 .../cache/GridCacheGenericTestStore.java        |  30 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |  38 +-
 .../cache/GridCacheGroupLockPutTask.java        |   2 +-
 .../GridCacheInterceptorAbstractSelfTest.java   |   2 +-
 .../cache/GridCacheLifecycleAwareSelfTest.java  |  14 +-
 .../GridCacheLocalTxStoreExceptionSelfTest.java |   2 +-
 .../GridCacheMarshallerTxAbstractTest.java      |   2 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |   2 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |   4 +-
 .../cache/GridCacheMvccManagerSelfTest.java     |   2 +-
 .../GridCacheNearTxStoreExceptionSelfTest.java  |   2 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |   6 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |   2 +-
 ...CacheOffHeapMultiThreadedUpdateSelfTest.java |   8 +-
 .../GridCacheOffHeapTieredAbstractSelfTest.java |  10 +-
 .../cache/GridCacheOffheapUpdateSelfTest.java   |  10 +-
 .../cache/GridCachePartitionedWritesTest.java   |   8 +-
 .../GridCacheReferenceCleanupSelfTest.java      |   4 +-
 .../GridCacheRefreshAheadAbstractSelfTest.java  |   6 +-
 .../cache/GridCacheReloadSelfTest.java          |   6 +-
 ...CacheReplicatedTxStoreExceptionSelfTest.java |   2 +-
 .../cache/GridCacheSlowTxWarnTest.java          |   2 +-
 .../processors/cache/GridCacheStopSelfTest.java |   2 +-
 .../cache/GridCacheStorePutxSelfTest.java       |  16 +-
 .../cache/GridCacheSwapReloadSelfTest.java      |   6 +-
 .../processors/cache/GridCacheTestStore.java    |  32 +-
 ...cheTransactionalAbstractMetricsSelfTest.java |   4 +-
 .../cache/GridCacheTxAbstractTest.java          | 484 ----------
 .../GridCacheTxConcurrentGetAbstractTest.java   | 134 ---
 .../GridCacheTxExceptionAbstractSelfTest.java   | 631 -------------
 .../cache/GridCacheTxMultiNodeAbstractTest.java | 918 -------------------
 .../GridCacheTxMultiThreadedAbstractTest.java   | 275 ------
 .../GridCacheTxReentryAbstractSelfTest.java     | 169 ----
 .../GridCacheTxSingleThreadedAbstractTest.java  | 129 ---
 ...idCacheTxStoreExceptionAbstractSelfTest.java | 631 -------------
 .../GridCacheVariableTopologySelfTest.java      |   2 +-
 .../GridCacheWriteBehindStoreAbstractTest.java  |   4 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |   2 +-
 .../GridCacheWriteBehindStoreSelfTest.java      |   2 +-
 .../processors/cache/IgniteTxAbstractTest.java  | 484 ++++++++++
 .../IgniteTxConcurrentGetAbstractTest.java      | 134 +++
 .../IgniteTxExceptionAbstractSelfTest.java      | 631 +++++++++++++
 .../cache/IgniteTxMultiNodeAbstractTest.java    | 918 +++++++++++++++++++
 .../IgniteTxMultiThreadedAbstractTest.java      | 275 ++++++
 .../cache/IgniteTxReentryAbstractSelfTest.java  | 169 ++++
 .../IgniteTxSingleThreadedAbstractTest.java     | 129 +++
 .../IgniteTxStoreExceptionAbstractSelfTest.java | 631 +++++++++++++
 .../GridCacheAtomicLongApiSelfTest.java         |   2 +-
 .../GridCacheSequenceApiSelfAbstractTest.java   |   2 +-
 ...idCachePartitionedNodeRestartTxSelfTest.java |   8 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |   2 +-
 ...tractDistributedByteArrayValuesSelfTest.java |   2 +-
 .../GridCacheAbstractJobExecutionTest.java      |   4 +-
 .../GridCacheAbstractNodeRestartSelfTest.java   |   4 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |   2 +-
 .../GridCacheBasicOpAbstractTest.java           |   4 +-
 .../GridCacheEntrySetAbstractSelfTest.java      |   2 +-
 .../distributed/GridCacheEventAbstractTest.java |  20 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |   2 +-
 .../GridCacheNodeFailureAbstractTest.java       |   2 +-
 ...chePartitionedReloadAllAbstractSelfTest.java |   6 +-
 ...cheTxConsistencyRestartAbstractSelfTest.java | 194 ----
 ...xOriginatingNodeFailureAbstractSelfTest.java | 294 ------
 ...cOriginatingNodeFailureAbstractSelfTest.java | 488 ----------
 .../GridCacheTxPreloadAbstractTest.java         | 192 ----
 .../GridCacheTxTimeoutAbstractTest.java         | 147 ---
 ...iteTxConsistencyRestartAbstractSelfTest.java | 194 ++++
 ...xOriginatingNodeFailureAbstractSelfTest.java | 294 ++++++
 ...cOriginatingNodeFailureAbstractSelfTest.java | 488 ++++++++++
 .../IgniteTxPreloadAbstractTest.java            | 192 ++++
 .../IgniteTxTimeoutAbstractTest.java            | 147 +++
 ...heAbstractTransformWriteThroughSelfTest.java |   2 +-
 .../dht/GridCacheColocatedDebugTest.java        |  14 +-
 ...eColocatedOptimisticTransactionSelfTest.java |   2 +-
 .../GridCacheColocatedTxExceptionSelfTest.java  |   2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |   2 +-
 ...dCacheColocatedTxSingleThreadedSelfTest.java |   2 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |   2 +-
 .../dht/GridCacheDhtTxPreloadSelfTest.java      |   3 +-
 ...cheGroupLockPartitionedAbstractSelfTest.java |   4 +-
 ...ockPartitionedMultiNodeAbstractSelfTest.java |   4 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   8 +-
 ...itionedTxOriginatingNodeFailureSelfTest.java |   2 +-
 ...heTxConsistencyColocatedRestartSelfTest.java |  28 -
 .../GridCacheTxReentryColocatedSelfTest.java    |  71 --
 ...teTxConsistencyColocatedRestartSelfTest.java |  28 +
 .../dht/IgniteTxReentryColocatedSelfTest.java   |  71 ++
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |   2 +-
 .../near/GridCacheGetStoreErrorSelfTest.java    |   6 +-
 .../near/GridCacheNearMultiGetSelfTest.java     |   4 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |  16 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |  12 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |   4 +-
 .../near/GridCacheNearTxExceptionSelfTest.java  |   2 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |   6 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |   2 +-
 .../near/GridCacheNearTxPreloadSelfTest.java    |   3 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |  18 +-
 .../GridCachePartitionedEvictionSelfTest.java   |   2 +-
 ...GridCachePartitionedFilteredPutSelfTest.java |   4 +-
 .../GridCachePartitionedLoadCacheSelfTest.java  |   6 +-
 ...achePartitionedMultiNodeCounterSelfTest.java |   8 +-
 ...ePartitionedMultiThreadedPutGetSelfTest.java |   2 +-
 .../GridCachePartitionedStorePutSelfTest.java   |   6 +-
 ...GridCachePartitionedTxConcurrentGetTest.java |   2 +-
 ...GridCachePartitionedTxMultiNodeSelfTest.java |   2 +-
 ...CachePartitionedTxMultiThreadedSelfTest.java |   2 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |   2 +-
 ...achePartitionedTxSingleThreadedSelfTest.java |   2 +-
 .../GridCachePartitionedTxTimeoutSelfTest.java  |   2 +-
 .../near/GridCacheTxReentryNearSelfTest.java    |  71 --
 .../near/GridPartitionedBackupLoadSelfTest.java |   6 +-
 .../near/IgniteTxReentryNearSelfTest.java       |  71 ++
 .../GridCacheReplicatedInvalidateSelfTest.java  |   2 +-
 .../GridCacheReplicatedTxConcurrentGetTest.java |   2 +-
 .../GridCacheReplicatedTxExceptionSelfTest.java |   2 +-
 ...GridCacheReplicatedTxMultiNodeBasicTest.java |   2 +-
 ...dCacheReplicatedTxMultiThreadedSelfTest.java |   2 +-
 ...licatedTxOriginatingNodeFailureSelfTest.java |   2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |   2 +-
 ...CacheReplicatedTxSingleThreadedSelfTest.java |   2 +-
 .../GridCacheReplicatedTxTimeoutSelfTest.java   |   2 +-
 .../replicated/GridReplicatedTxPreloadTest.java |   2 +-
 .../GridCacheBatchEvictUnswapSelfTest.java      |   6 +-
 ...heConcurrentEvictionConsistencySelfTest.java |   2 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |   8 +-
 .../eviction/GridCacheEvictionAbstractTest.java |   2 +-
 .../GridCacheEvictionTouchSelfTest.java         |  10 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |   2 +-
 .../local/GridCacheLocalLoadAllSelfTest.java    |   8 +-
 .../GridCacheLocalTxExceptionSelfTest.java      |   2 +-
 .../GridCacheLocalTxMultiThreadedSelfTest.java  |   2 +-
 .../GridCacheLocalTxSingleThreadedSelfTest.java |   2 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |   2 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |   6 +-
 .../processors/ggfs/GridGgfsSizeSelfTest.java   |   4 +-
 .../cache/GridCacheAbstractLoadTest.java        |   4 +-
 ...ridCacheAffinityTransactionsOffHeapTest.java |   2 +-
 .../cache/GridCacheGroupLockComparisonTest.java |   2 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |   6 +-
 .../colocation/GridTestCacheStore.java          |   6 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |   2 +-
 .../gridgain/loadtests/dsi/GridDsiPerfJob.java  |   2 +-
 .../swap/GridSwapEvictAllBenchmark.java         |   6 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |  12 +-
 .../bamboo/GridDataGridTestSuite.java           |   4 +-
 .../GridHibernateReadWriteAccessStrategy.java   |   4 +-
 .../hibernate/GridCacheHibernateBlobStore.java  |  14 +-
 .../cache/GridCacheAbstractQuerySelfTest.java   |   6 +-
 .../cache/GridCacheQueryLoadSelfTest.java       |   6 +-
 .../GridCacheReplicatedQuerySelfTest.java       |   4 +-
 .../cache/jta/GridCacheJtaManager.java          |   2 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |   2 +-
 .../cache/websession/GridWebSessionFilter.java  |   2 +-
 240 files changed, 6149 insertions(+), 6151 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java b/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
index 3986ecb..3edaced 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/CacheTransactionExample.java
@@ -81,7 +81,7 @@ public class CacheTransactionExample {
         // Clone every object we get from cache, so we can freely update it.
         GridCacheProjection<Integer, Account> cache = Ignition.ignite().<Integer, Account>cache(CACHE_NAME).flagsOn(CLONE);
 
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
             Account acct = cache.get(acctId);
 
             assert acct != null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
index 7e434f4..57de2d5 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/CacheStoreExample.java
@@ -46,7 +46,7 @@ public class CacheStoreExample {
             // Clean up caches on all nodes before run.
             cache.globalClearAll(0);
 
-            try (GridCacheTx tx = cache.txStart()) {
+            try (IgniteTx tx = cache.txStart()) {
                 Person val = cache.get(id);
 
                 System.out.println("Read value: " + val);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
index 4a18c2a..0eed43e 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/dummy/CacheDummyPersonStore.java
@@ -37,21 +37,21 @@ public class CacheDummyPersonStore extends GridCacheStoreAdapter<Long, Person> {
     private Map<Long, Person> dummyDB = new ConcurrentHashMap<>();
 
     /** {@inheritDoc} */
-    @Override public Person load(@Nullable GridCacheTx tx, Long key) throws IgniteCheckedException {
+    @Override public Person load(@Nullable IgniteTx tx, Long key) throws IgniteCheckedException {
         System.out.println(">>> Store load [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         return dummyDB.get(key);
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, Long key, Person val) throws IgniteCheckedException {
+    @Override public void put(@Nullable IgniteTx tx, Long key, Person val) throws IgniteCheckedException {
         System.out.println(">>> Store put [key=" + key + ", val=" + val + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         dummyDB.put(key, val);
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, Long key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, Long key) throws IgniteCheckedException {
         System.out.println(">>> Store remove [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         dummyDB.remove(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
index ffd1f1f..5da7f9f 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/hibernate/CacheHibernatePersonStore.java
@@ -42,7 +42,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
     }
 
     /** {@inheritDoc} */
-    @Override public Person load(@Nullable GridCacheTx tx, Long key) throws IgniteCheckedException {
+    @Override public Person load(@Nullable IgniteTx tx, Long key) throws IgniteCheckedException {
         System.out.println(">>> Store load [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         Session ses = session(tx);
@@ -61,7 +61,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, Long key, @Nullable Person val)
+    @Override public void put(@Nullable IgniteTx tx, Long key, @Nullable Person val)
         throws IgniteCheckedException {
         System.out.println(">>> Store put [key=" + key + ", val=" + val + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
@@ -88,7 +88,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
 
     /** {@inheritDoc} */
     @SuppressWarnings({"JpaQueryApiInspection"})
-    @Override public void remove(@Nullable GridCacheTx tx, Long key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, Long key) throws IgniteCheckedException {
         System.out.println(">>> Store remove [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         Session ses = session(tx);
@@ -149,7 +149,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
      * @param ses Hibernate session.
      * @param tx Cache ongoing transaction.
      */
-    private void rollback(Session ses, GridCacheTx tx) {
+    private void rollback(Session ses, IgniteTx tx) {
         // Rollback only if there is no cache transaction,
         // otherwise txEnd() will do all required work.
         if (tx == null) {
@@ -166,7 +166,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
      * @param ses Hibernate session.
      * @param tx Cache ongoing transaction.
      */
-    private void end(Session ses, @Nullable GridCacheTx tx) {
+    private void end(Session ses, @Nullable IgniteTx tx) {
         // Commit only if there is no cache transaction,
         // otherwise txEnd() will do all required work.
         if (tx == null) {
@@ -180,7 +180,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         Session ses = tx.removeMeta(ATTR_SES);
 
         if (ses != null) {
@@ -215,7 +215,7 @@ public class CacheHibernatePersonStore extends GridCacheStoreAdapter<Long, Perso
      * @param tx Cache transaction.
      * @return Session.
      */
-    private Session session(@Nullable GridCacheTx tx) {
+    private Session session(@Nullable IgniteTx tx) {
         Session ses;
 
         if (tx != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java b/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
index 69a9063..43f0f08 100644
--- a/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
+++ b/examples/src/main/java/org/gridgain/examples/datagrid/store/jdbc/CacheJdbcPersonStore.java
@@ -56,7 +56,7 @@ public class CacheJdbcPersonStore extends GridCacheStoreAdapter<Long, Person> {
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         try (Connection conn = tx.removeMeta(ATTR_NAME)) {
             if (conn != null) {
                 if (commit)
@@ -73,7 +73,7 @@ public class CacheJdbcPersonStore extends GridCacheStoreAdapter<Long, Person> {
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public Person load(@Nullable GridCacheTx tx, Long key) throws IgniteCheckedException {
+    @Nullable @Override public Person load(@Nullable IgniteTx tx, Long key) throws IgniteCheckedException {
         System.out.println(">>> Store load [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         Connection conn = null;
@@ -101,7 +101,7 @@ public class CacheJdbcPersonStore extends GridCacheStoreAdapter<Long, Person> {
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, Long key, Person val)
+    @Override public void put(@Nullable IgniteTx tx, Long key, Person val)
         throws IgniteCheckedException {
         System.out.println(">>> Store put [key=" + key + ", val=" + val + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
@@ -142,7 +142,7 @@ public class CacheJdbcPersonStore extends GridCacheStoreAdapter<Long, Person> {
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, Long key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, Long key) throws IgniteCheckedException {
         System.out.println(">>> Store remove [key=" + key + ", xid=" + (tx == null ? null : tx.xid()) + ']');
 
         Connection conn = null;
@@ -205,7 +205,7 @@ public class CacheJdbcPersonStore extends GridCacheStoreAdapter<Long, Person> {
      * @return Connection.
      * @throws SQLException In case of error.
      */
-    private Connection connection(@Nullable GridCacheTx tx) throws SQLException  {
+    private Connection connection(@Nullable IgniteTx tx) throws SQLException  {
         if (tx != null) {
             Connection conn = tx.meta(ATTR_NAME);
 
@@ -230,7 +230,7 @@ public class CacheJdbcPersonStore extends GridCacheStoreAdapter<Long, Person> {
      * @param tx Active transaction, if any.
      * @param conn Allocated connection.
      */
-    private void end(@Nullable GridCacheTx tx, @Nullable Connection conn) {
+    private void end(@Nullable IgniteTx tx, @Nullable Connection conn) {
         if (tx == null && conn != null) {
             // Close connection right away if there is no transaction.
             try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java b/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
index 86f9671..b18c6af 100644
--- a/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
+++ b/modules/clients/src/test/java/org/gridgain/client/GridHashMapStore.java
@@ -32,19 +32,19 @@ public class GridHashMapStore extends GridCacheStoreAdapter {
     }
 
     /** {@inheritDoc} */
-    @Override public Object load(@Nullable GridCacheTx tx, Object key)
+    @Override public Object load(@Nullable IgniteTx tx, Object key)
         throws IgniteCheckedException {
         return map.get(key);
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, Object key,
+    @Override public void put(@Nullable IgniteTx tx, Object key,
         @Nullable Object val) throws IgniteCheckedException {
         map.put(key, val);
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, Object key)
+    @Override public void remove(@Nullable IgniteTx tx, Object key)
         throws IgniteCheckedException {
         map.remove(key);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
index f985c7b..4bd26f7 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractSelfTest.java
@@ -1569,19 +1569,19 @@ public abstract class GridClientAbstractSelfTest extends GridCommonAbstractTest
         }
 
         /** {@inheritDoc} */
-        @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             return map.get(key);
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Object key,
+        @Override public void put(@Nullable IgniteTx tx, Object key,
             @Nullable Object val) throws IgniteCheckedException {
             map.put(key, val);
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Object key)
+        @Override public void remove(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             map.remove(key);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
index 0f7bef7..48a601e 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteCache.java
@@ -118,14 +118,14 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
      * the value will be loaded from the primary node, which in its turn may load the value
      * from the swap storage, and consecutively, if it's not in swap,
      * from the underlying persistent storage. If value has to be loaded from persistent
-     * storage, {@link org.gridgain.grid.cache.store.GridCacheStore#load(GridCacheTx, Object)} method will be used.
+     * storage, {@link org.gridgain.grid.cache.store.GridCacheStore#load(IgniteTx, Object)} method will be used.
      * <p>
      * If the returned value is not needed, method {@link #putIfAbsent(Object, Object)} should
      * always be used instead of this one to avoid the overhead associated with returning of the
      * previous value.
      * <p>
      * If write-through is enabled, the stored value will be persisted to {@link org.gridgain.grid.cache.store.GridCacheStore}
-     * via {@link org.gridgain.grid.cache.store.GridCacheStore#put(GridCacheTx, Object, Object)} method.
+     * via {@link org.gridgain.grid.cache.store.GridCacheStore#put(IgniteTx, Object, Object)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.
@@ -153,7 +153,7 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
      * other concurrent transactional updates.
      * <p>
      * If write-through is enabled, the values will be removed from {@link org.gridgain.grid.cache.store.GridCacheStore}
-     * via {@link org.gridgain.grid.cache.store.GridCacheStore#removeAll(GridCacheTx, java.util.Collection)} method.
+     * via {@link org.gridgain.grid.cache.store.GridCacheStore#removeAll(IgniteTx, java.util.Collection)} method.
      * <h2 class="header">Transactions</h2>
      * This method is transactional and will enlist the entry into ongoing transaction
      * if there is one.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
index 837255d..e759308 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteTransactions.java
@@ -26,7 +26,7 @@ public interface IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStart() throws IllegalStateException;
+    public IgniteTx txStart() throws IllegalStateException;
 
     /**
      * Starts new transaction with the specified concurrency and isolation.
@@ -37,7 +37,7 @@ public interface IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation);
+    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation);
 
     /**
      * Starts transaction with specified isolation, concurrency, timeout, invalidation flag,
@@ -51,7 +51,7 @@ public interface IgniteTransactions {
      * @throws IllegalStateException If transaction is already started by this thread.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
+    public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, long timeout,
         int txSize);
 
     /**
@@ -87,7 +87,7 @@ public interface IgniteTransactions {
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
+    public IgniteTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
@@ -123,7 +123,7 @@ public interface IgniteTransactions {
      * @throws IgniteCheckedException If local node is not primary for any of provided keys.
      * @throws UnsupportedOperationException If cache is {@link GridCacheAtomicityMode#ATOMIC}.
      */
-    public GridCacheTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
+    public IgniteTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException;
 
     /**
@@ -133,7 +133,7 @@ public interface IgniteTransactions {
      * @return Transaction started by this thread or {@code null} if this thread
      *      does not have a transaction.
      */
-    @Nullable public GridCacheTx tx();
+    @Nullable public IgniteTx tx();
 
     /**
      * @return Transaction metrics.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
index 4ddbceb..cd5b58c 100644
--- a/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
+++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheFlag.java
@@ -36,7 +36,7 @@ public enum CacheFlag {
      * Instead of updating remote entries with new values, small invalidation
      * messages will be sent to set the values to {@code null}.
      *
-     * @see GridCacheTx#isInvalidate()
+     * @see IgniteTx#isInvalidate()
      * @see org.gridgain.grid.cache.GridCacheConfiguration#isInvalidate()
      */
     INVALIDATE,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
index 0ae9250..fea4ffa 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
@@ -92,7 +92,7 @@ public class TransactionsConfiguration {
      * specified. Default value is defined by {@link #DFLT_TX_CONCURRENCY}.
      *
      * @return Default cache transaction concurrency.
-     * @see GridCacheTx
+     * @see IgniteTx
      */
     public GridCacheTxConcurrency getDefaultTxConcurrency() {
         return dfltConcurrency;
@@ -112,7 +112,7 @@ public class TransactionsConfiguration {
      * specified. Default value is defined by {@link #DFLT_TX_ISOLATION}.
      *
      * @return Default cache transaction isolation.
-     * @see GridCacheTx
+     * @see IgniteTx
      */
     public GridCacheTxIsolation getDefaultTxIsolation() {
         return dfltIsolation;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java
deleted file mode 100644
index 9a8341f..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTx.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
-
-import java.util.*;
-
-/**
- * Grid cache transaction. Cache transactions have a default 2PC (two-phase-commit) behavior and
- * can be plugged into ongoing {@code JTA} transaction by properly implementing
- * {@gglink org.gridgain.grid.cache.jta.GridCacheTmLookup}
- * interface. Cache transactions can also be started explicitly directly from {@link GridCacheProjection} API
- * via any of the {@code 'GridCacheProjection.txStart(..)'} methods.
- * <p>
- * Cache transactions support the following isolation levels:
- * <ul>
- * <li>
- *  {@link GridCacheTxIsolation#READ_COMMITTED} isolation level means that always a committed value
- *  will be provided for read operations. With this isolation level values are always read
- *  from cache global memory or persistent store every time a value is accessed. In other words,
- *  if the same key is accessed more than once within the same transaction, it may have different
- *  value every time since global cache memory may be updated concurrently by other threads.
- * </li>
- * <li>
- *  {@link GridCacheTxIsolation#REPEATABLE_READ} isolation level means that if a value was read once
- *  within transaction, then all consecutive reads will provide the same in-transaction value. With
- *  this isolation level accessed values are stored within in-transaction memory, so consecutive access
- *  to the same key within the same transaction will always return the value that was previously read or
- *  updated within this transaction. If concurrency is {@link GridCacheTxConcurrency#PESSIMISTIC}, then a lock
- *  on the key will be acquired prior to accessing the value.
- * </li>
- * <li>
- *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level means that all transactions occur in a completely
- *  isolated fashion, as if all transactions in the system had executed serially, one after the other.
- *  Read access with this level happens the same way as with {@link GridCacheTxIsolation#REPEATABLE_READ} level.
- *  However, in {@link GridCacheTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
- *  from each other, then one winner will be picked and the other transactions in conflict will result in
- * {@link GridCacheTxOptimisticException} being thrown.
- * </li>
- * </ul>
- * <p>
- * Cache transactions support the following concurrency models:
- * <ul>
- * <li>
- *  {@link GridCacheTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
- *  nodes until {@link #commit()} or {@link #commitAsync()} are called. In this mode one {@code 'PREPARE'}
- *  message will be sent to participating cache nodes to start acquiring per-transaction locks, and once
- *  all nodes reply {@code 'OK'} (i.e. {@code Phase 1} completes successfully), a one-way' {@code 'COMMIT'}
- *  message is sent without waiting for reply. If it is necessary to know whenever remote nodes have committed
- *  as well, synchronous commit or synchronous rollback should be enabled via
- *  {@link GridCacheConfiguration#setWriteSynchronizationMode}
- *  or by setting proper flags on cache projection, such as {@link GridCacheFlag#SYNC_COMMIT}.
- *  <p>
- *  Note that in this mode, optimistic failures are only possible in conjunction with
- *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level. In all other cases, optimistic
- *  transactions will never fail optimistically and will always be identically ordered on all participating
- *  grid nodes.
- * </li>
- * <li>
- *  {@link GridCacheTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
- *  with exception of read operations in {@link GridCacheTxIsolation#READ_COMMITTED} mode. All optional filters
- *  passed into cache operations will be evaluated after successful lock acquisition. Whenever
- *  {@link #commit()} or {@link #commitAsync()} is called, a single one-way {@code 'COMMIT'} message
- *  is sent to participating cache nodes without waiting for reply. Note that there is no reason for
- *  distributed 'PREPARE' step, as all locks have been already acquired. Just like with optimistic mode,
- *  it is possible to configure synchronous commit or rollback and wait till transaction commits on
- *  all participating remote nodes.
- * </li>
- * </ul>
- * <p>
- * <h1 class="header">Cache Atomicity Mode</h1>
- * In addition to standard {@link GridCacheAtomicityMode#TRANSACTIONAL} behavior, GridGain also supports
- * a lighter {@link GridCacheAtomicityMode#ATOMIC} mode as well. In this mode distributed transactions
- * and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher
- * performance and throughput ratios. It is recommended that {@link GridCacheAtomicityMode#ATOMIC} mode
- * is used whenever full {@code ACID}-compliant transactions are not needed.
- * <p>
- * <h1 class="header">Usage</h1>
- * You can use cache transactions as follows:
- * <pre name="code" class="java">
- * GridCache&lt;String, Integer&gt; cache = GridGain.grid().cache();
- *
- * try (GridCacheTx tx = cache.txStart()) {
- *     // Perform transactional operations.
- *     Integer v1 = cache.get("k1");
- *
- *     // Check if v1 satisfies some condition before doing a put.
- *     if (v1 != null && v1 > 0)
- *         cache.putx("k1", 2);
- *
- *     cache.removex("k2");
- *
- *     // Commit the transaction.
- *     tx.commit();
- * }
- * </pre>
- */
-public interface GridCacheTx extends GridMetadataAware, AutoCloseable {
-    /**
-     * Gets unique identifier for this transaction.
-     *
-     * @return Transaction UID.
-     */
-    public IgniteUuid xid();
-
-    /**
-     * ID of the node on which this transaction started.
-     *
-     * @return Originating node ID.
-     */
-    public UUID nodeId();
-
-    /**
-     * ID of the thread in which this transaction started.
-     *
-     * @return Thread ID.
-     */
-    public long threadId();
-
-    /**
-     * Start time of this transaction.
-     *
-     * @return Start time of this transaction on this node.
-     */
-    public long startTime();
-
-    /**
-     * Cache transaction isolation level.
-     *
-     * @return Isolation level.
-     */
-    public GridCacheTxIsolation isolation();
-
-    /**
-     * Cache transaction concurrency mode.
-     *
-     * @return Concurrency mode.
-     */
-    public GridCacheTxConcurrency concurrency();
-
-    /**
-     * Flag indicating whether transaction was started automatically by the
-     * system or not. System will start transactions implicitly whenever
-     * any cache {@code put(..)} or {@code remove(..)} operation is invoked
-     * outside of transaction.
-     *
-     * @return {@code True} if transaction was started implicitly.
-     */
-    public boolean implicit();
-
-    /**
-     * Get invalidation flag for this transaction. If set to {@code true}, then
-     * remote values will be {@code invalidated} (set to {@code null}) instead
-     * of updated.
-     * <p>
-     * Invalidation messages don't carry new values, so they are a lot lighter
-     * than update messages. However, when a value is accessed on a node after
-     * it's been invalidated, it must be loaded from persistent store.
-     *
-     * @return Invalidation flag.
-     */
-    public boolean isInvalidate();
-
-    /**
-     * Gets current transaction state value.
-     *
-     * @return Current transaction state.
-     */
-    public GridCacheTxState state();
-
-    /**
-     * Gets timeout value in milliseconds for this transaction. If transaction times
-     * out prior to it's completion, {@link GridCacheTxTimeoutException} will be thrown.
-     *
-     * @return Transaction timeout value.
-     */
-    public long timeout();
-
-    /**
-     * Sets transaction timeout value. This value can be set only before a first operation
-     * on transaction has been performed.
-     *
-     * @param timeout Transaction timeout value.
-     * @return Previous timeout.
-     */
-    public long timeout(long timeout);
-
-    /**
-     * Modify the transaction associated with the current thread such that the
-     * only possible outcome of the transaction is to roll back the
-     * transaction.
-     *
-     * @return {@code True} if rollback-only flag was set as a result of this operation,
-     *      {@code false} if it was already set prior to this call or could not be set
-     *      because transaction is already finishing up committing or rolling back.
-     */
-    public boolean setRollbackOnly();
-
-    /**
-     * If transaction was marked as rollback-only.
-     *
-     * @return {@code True} if transaction can only be rolled back.
-     */
-    public boolean isRollbackOnly();
-
-    /**
-     * Commits this transaction by initiating {@code two-phase-commit} process.
-     *
-     * @throws IgniteCheckedException If commit failed.
-     */
-    public void commit() throws IgniteCheckedException;
-
-    /**
-     * Ends the transaction. Transaction will be rolled back if it has not been committed.
-     *
-     * @throws IgniteCheckedException If transaction could not be gracefully ended.
-     */
-    @Override public void close() throws IgniteCheckedException;
-
-    /**
-     * Asynchronously commits this transaction by initiating {@code two-phase-commit} process.
-     *
-     * @return Future for commit operation.
-     */
-    public IgniteFuture<GridCacheTx> commitAsync();
-
-    /**
-     * Rolls back this transaction.
-     *
-     * @throws IgniteCheckedException If rollback failed.
-     */
-    public void rollback() throws IgniteCheckedException;
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
index 4f723d9..7d0ad4c 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxConcurrency.java
@@ -12,7 +12,7 @@ package org.apache.ignite.transactions;
 import org.jetbrains.annotations.Nullable;
 
 /**
- * Transaction concurrency control. See {@link GridCacheTx} for more information
+ * Transaction concurrency control. See {@link IgniteTx} for more information
  * on transaction concurrency controls.
  */
 public enum GridCacheTxConcurrency {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
index 3894a63..1644178 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxIsolation.java
@@ -12,7 +12,7 @@ package org.apache.ignite.transactions;
 import org.jetbrains.annotations.*;
 
 /**
- * Defines different cache transaction isolation levels. See {@link GridCacheTx}
+ * Defines different cache transaction isolation levels. See {@link IgniteTx}
  * documentation for more information about cache transaction isolation levels.
  */
 public enum GridCacheTxIsolation {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
index d88714c..5e72f2c 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/GridCacheTxSynchronization.java
@@ -21,18 +21,18 @@ public interface GridCacheTxSynchronization {
     /**
      * State change callback for transaction. Note that unless transaction has been
      * completed, it is possible to mark it for <tt>rollbackOnly</tt> by calling
-     * {@link GridCacheTx#setRollbackOnly()} on the passed in transaction.
-     * You can check the return value of {@link GridCacheTx#setRollbackOnly() setRollbackOnly()}
+     * {@link IgniteTx#setRollbackOnly()} on the passed in transaction.
+     * You can check the return value of {@link IgniteTx#setRollbackOnly() setRollbackOnly()}
      * method to see if transaction was indeed marked for rollback or not.
      *
      * @param prevState Previous state of the transaction. If transaction has just been
      *      started, then previous state is {@code null}.
      * @param newState New state of the transaction. In majority of the cases this will be the
-     *      same as {@link GridCacheTx#state() tx.state()}, but it is also possible
+     *      same as {@link IgniteTx#state() tx.state()}, but it is also possible
      *      that transaction may be marked for rollback concurrently with this method
      *      invocation, and in that case <tt>newState</tt> reflects the actual state of the
      *      transition this callback is associated with.
      * @param tx Transaction whose state has changed.
      */
-    public void onStateChanged(@Nullable GridCacheTxState prevState, GridCacheTxState newState, GridCacheTx tx);
+    public void onStateChanged(@Nullable GridCacheTxState prevState, GridCacheTxState newState, IgniteTx tx);
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
new file mode 100644
index 0000000..ec6cbbb
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
@@ -0,0 +1,244 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.cache.*;
+
+import java.util.*;
+
+/**
+ * Grid cache transaction. Cache transactions have a default 2PC (two-phase-commit) behavior and
+ * can be plugged into ongoing {@code JTA} transaction by properly implementing
+ * {@gglink org.gridgain.grid.cache.jta.GridCacheTmLookup}
+ * interface. Cache transactions can also be started explicitly directly from {@link GridCacheProjection} API
+ * via any of the {@code 'GridCacheProjection.txStart(..)'} methods.
+ * <p>
+ * Cache transactions support the following isolation levels:
+ * <ul>
+ * <li>
+ *  {@link GridCacheTxIsolation#READ_COMMITTED} isolation level means that always a committed value
+ *  will be provided for read operations. With this isolation level values are always read
+ *  from cache global memory or persistent store every time a value is accessed. In other words,
+ *  if the same key is accessed more than once within the same transaction, it may have different
+ *  value every time since global cache memory may be updated concurrently by other threads.
+ * </li>
+ * <li>
+ *  {@link GridCacheTxIsolation#REPEATABLE_READ} isolation level means that if a value was read once
+ *  within transaction, then all consecutive reads will provide the same in-transaction value. With
+ *  this isolation level accessed values are stored within in-transaction memory, so consecutive access
+ *  to the same key within the same transaction will always return the value that was previously read or
+ *  updated within this transaction. If concurrency is {@link GridCacheTxConcurrency#PESSIMISTIC}, then a lock
+ *  on the key will be acquired prior to accessing the value.
+ * </li>
+ * <li>
+ *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level means that all transactions occur in a completely
+ *  isolated fashion, as if all transactions in the system had executed serially, one after the other.
+ *  Read access with this level happens the same way as with {@link GridCacheTxIsolation#REPEATABLE_READ} level.
+ *  However, in {@link GridCacheTxConcurrency#OPTIMISTIC} mode, if some transactions cannot be serially isolated
+ *  from each other, then one winner will be picked and the other transactions in conflict will result in
+ * {@link GridCacheTxOptimisticException} being thrown.
+ * </li>
+ * </ul>
+ * <p>
+ * Cache transactions support the following concurrency models:
+ * <ul>
+ * <li>
+ *  {@link GridCacheTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
+ *  nodes until {@link #commit()} or {@link #commitAsync()} are called. In this mode one {@code 'PREPARE'}
+ *  message will be sent to participating cache nodes to start acquiring per-transaction locks, and once
+ *  all nodes reply {@code 'OK'} (i.e. {@code Phase 1} completes successfully), a one-way' {@code 'COMMIT'}
+ *  message is sent without waiting for reply. If it is necessary to know whenever remote nodes have committed
+ *  as well, synchronous commit or synchronous rollback should be enabled via
+ *  {@link GridCacheConfiguration#setWriteSynchronizationMode}
+ *  or by setting proper flags on cache projection, such as {@link GridCacheFlag#SYNC_COMMIT}.
+ *  <p>
+ *  Note that in this mode, optimistic failures are only possible in conjunction with
+ *  {@link GridCacheTxIsolation#SERIALIZABLE} isolation level. In all other cases, optimistic
+ *  transactions will never fail optimistically and will always be identically ordered on all participating
+ *  grid nodes.
+ * </li>
+ * <li>
+ *  {@link GridCacheTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
+ *  with exception of read operations in {@link GridCacheTxIsolation#READ_COMMITTED} mode. All optional filters
+ *  passed into cache operations will be evaluated after successful lock acquisition. Whenever
+ *  {@link #commit()} or {@link #commitAsync()} is called, a single one-way {@code 'COMMIT'} message
+ *  is sent to participating cache nodes without waiting for reply. Note that there is no reason for
+ *  distributed 'PREPARE' step, as all locks have been already acquired. Just like with optimistic mode,
+ *  it is possible to configure synchronous commit or rollback and wait till transaction commits on
+ *  all participating remote nodes.
+ * </li>
+ * </ul>
+ * <p>
+ * <h1 class="header">Cache Atomicity Mode</h1>
+ * In addition to standard {@link GridCacheAtomicityMode#TRANSACTIONAL} behavior, GridGain also supports
+ * a lighter {@link GridCacheAtomicityMode#ATOMIC} mode as well. In this mode distributed transactions
+ * and distributed locking are not supported. Disabling transactions and locking allows to achieve much higher
+ * performance and throughput ratios. It is recommended that {@link GridCacheAtomicityMode#ATOMIC} mode
+ * is used whenever full {@code ACID}-compliant transactions are not needed.
+ * <p>
+ * <h1 class="header">Usage</h1>
+ * You can use cache transactions as follows:
+ * <pre name="code" class="java">
+ * GridCache&lt;String, Integer&gt; cache = GridGain.grid().cache();
+ *
+ * try (GridCacheTx tx = cache.txStart()) {
+ *     // Perform transactional operations.
+ *     Integer v1 = cache.get("k1");
+ *
+ *     // Check if v1 satisfies some condition before doing a put.
+ *     if (v1 != null && v1 > 0)
+ *         cache.putx("k1", 2);
+ *
+ *     cache.removex("k2");
+ *
+ *     // Commit the transaction.
+ *     tx.commit();
+ * }
+ * </pre>
+ */
+public interface IgniteTx extends GridMetadataAware, AutoCloseable {
+    /**
+     * Gets unique identifier for this transaction.
+     *
+     * @return Transaction UID.
+     */
+    public IgniteUuid xid();
+
+    /**
+     * ID of the node on which this transaction started.
+     *
+     * @return Originating node ID.
+     */
+    public UUID nodeId();
+
+    /**
+     * ID of the thread in which this transaction started.
+     *
+     * @return Thread ID.
+     */
+    public long threadId();
+
+    /**
+     * Start time of this transaction.
+     *
+     * @return Start time of this transaction on this node.
+     */
+    public long startTime();
+
+    /**
+     * Cache transaction isolation level.
+     *
+     * @return Isolation level.
+     */
+    public GridCacheTxIsolation isolation();
+
+    /**
+     * Cache transaction concurrency mode.
+     *
+     * @return Concurrency mode.
+     */
+    public GridCacheTxConcurrency concurrency();
+
+    /**
+     * Flag indicating whether transaction was started automatically by the
+     * system or not. System will start transactions implicitly whenever
+     * any cache {@code put(..)} or {@code remove(..)} operation is invoked
+     * outside of transaction.
+     *
+     * @return {@code True} if transaction was started implicitly.
+     */
+    public boolean implicit();
+
+    /**
+     * Get invalidation flag for this transaction. If set to {@code true}, then
+     * remote values will be {@code invalidated} (set to {@code null}) instead
+     * of updated.
+     * <p>
+     * Invalidation messages don't carry new values, so they are a lot lighter
+     * than update messages. However, when a value is accessed on a node after
+     * it's been invalidated, it must be loaded from persistent store.
+     *
+     * @return Invalidation flag.
+     */
+    public boolean isInvalidate();
+
+    /**
+     * Gets current transaction state value.
+     *
+     * @return Current transaction state.
+     */
+    public GridCacheTxState state();
+
+    /**
+     * Gets timeout value in milliseconds for this transaction. If transaction times
+     * out prior to it's completion, {@link GridCacheTxTimeoutException} will be thrown.
+     *
+     * @return Transaction timeout value.
+     */
+    public long timeout();
+
+    /**
+     * Sets transaction timeout value. This value can be set only before a first operation
+     * on transaction has been performed.
+     *
+     * @param timeout Transaction timeout value.
+     * @return Previous timeout.
+     */
+    public long timeout(long timeout);
+
+    /**
+     * Modify the transaction associated with the current thread such that the
+     * only possible outcome of the transaction is to roll back the
+     * transaction.
+     *
+     * @return {@code True} if rollback-only flag was set as a result of this operation,
+     *      {@code false} if it was already set prior to this call or could not be set
+     *      because transaction is already finishing up committing or rolling back.
+     */
+    public boolean setRollbackOnly();
+
+    /**
+     * If transaction was marked as rollback-only.
+     *
+     * @return {@code True} if transaction can only be rolled back.
+     */
+    public boolean isRollbackOnly();
+
+    /**
+     * Commits this transaction by initiating {@code two-phase-commit} process.
+     *
+     * @throws IgniteCheckedException If commit failed.
+     */
+    public void commit() throws IgniteCheckedException;
+
+    /**
+     * Ends the transaction. Transaction will be rolled back if it has not been committed.
+     *
+     * @throws IgniteCheckedException If transaction could not be gracefully ended.
+     */
+    @Override public void close() throws IgniteCheckedException;
+
+    /**
+     * Asynchronously commits this transaction by initiating {@code two-phase-commit} process.
+     *
+     * @return Future for commit operation.
+     */
+    public IgniteFuture<IgniteTx> commitAsync();
+
+    /**
+     * Rolls back this transaction.
+     *
+     * @throws IgniteCheckedException If rollback failed.
+     */
+    public void rollback() throws IgniteCheckedException;
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
index 2156adb..f599a14 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheAtomicityMode.java
@@ -24,7 +24,7 @@ import org.jetbrains.annotations.*;
 public enum GridCacheAtomicityMode {
     /**
      * Specified fully {@code ACID}-compliant transactional cache behavior. See
-     * {@link GridCacheTx} for more information about transactions.
+     * {@link IgniteTx} for more information about transactions.
      * <p>
      * This mode is currently the default cache atomicity mode. However, cache
      * atomicity mode will be changed to {@link #ATOMIC} starting from version {@code 5.2},

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
index eda8846..78b7635 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheConfiguration.java
@@ -1252,8 +1252,8 @@ public class GridCacheConfiguration extends MutableConfiguration {
     /**
      * Maximum batch size for write-behind cache store operations. Store operations (get or remove)
      * are combined in a batch of this size to be passed to
-     * {@link GridCacheStore#putAll(GridCacheTx, Map)} or
-     * {@link GridCacheStore#removeAll(GridCacheTx, Collection)} methods.
+     * {@link GridCacheStore#putAll(IgniteTx, Map)} or
+     * {@link GridCacheStore#removeAll(IgniteTx, Collection)} methods.
      * <p/>
      * If not provided, default value is {@link #DFLT_WRITE_BEHIND_BATCH_SIZE}.
      *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
index bd23d53..6949dba 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
@@ -74,7 +74,7 @@ import java.util.Map.*;
  * Cache API supports distributed transactions. All {@code 'get(..)'}, {@code 'put(..)'}, {@code 'replace(..)'},
  * and {@code 'remove(..)'} operations are transactional and will participate in an ongoing transaction.
  * Other methods like {@code 'peek(..)'} may be transaction-aware, i.e. check in-transaction entries first, but
- * will not affect the current state of transaction. See {@link GridCacheTx} documentation for more information
+ * will not affect the current state of transaction. See {@link IgniteTx} documentation for more information
  * about transactions.
  * @param <K> Key type.
  * @param <V> Value type.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
index 77f38e5..d57d7f7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheFlag.java
@@ -70,7 +70,7 @@ public enum GridCacheFlag {
      * Instead of updating remote entries with new values, small invalidation
      * messages will be sent to set the values to {@code null}.
      *
-     * @see GridCacheTx#isInvalidate()
+     * @see IgniteTx#isInvalidate()
      * @see GridCacheConfiguration#isInvalidate()
      */
     INVALIDATE,


[47/50] [abbrv] incubator-ignite git commit: GG-9422 - Merged to Ignite.

Posted by sb...@apache.org.
GG-9422 - Merged to Ignite.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e1bfb8f1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e1bfb8f1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e1bfb8f1

Branch: refs/heads/ignite-32
Commit: e1bfb8f1560d1989a77bb1cfe359713f0cbbfa87
Parents: 92b73ff
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 22 18:03:46 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 22 18:03:46 2014 -0800

----------------------------------------------------------------------
 .../distributed/dht/preloader/GridDhtPartitionDemandPool.java   | 5 ++++-
 .../distributed/dht/preloader/GridDhtPartitionSupplyPool.java   | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e1bfb8f1/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
index 17291aa..ac7baad 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
@@ -412,11 +412,14 @@ public class GridDhtPartitionDemandPool<K, V> {
         /** Counter. */
         private long cntr;
 
+        /** Hide worker logger and use cache logger instead. */
+        private IgniteLogger log = GridDhtPartitionDemandPool.this.log;
+
         /**
          * @param id Worker ID.
          */
         private DemandWorker(int id) {
-            super(cctx.gridName(), "preloader-demand-worker", log);
+            super(cctx.gridName(), "preloader-demand-worker", GridDhtPartitionDemandPool.this.log);
 
             assert id >= 0;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e1bfb8f1/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
index 963ad4c..5521013 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplyPool.java
@@ -190,11 +190,14 @@ class GridDhtPartitionSupplyPool<K, V> {
      * Supply work.
      */
     private class SupplyWorker extends GridWorker {
+        /** Hide worker logger and use cache logger. */
+        private IgniteLogger log = GridDhtPartitionSupplyPool.this.log;
+
         /**
          * Default constructor.
          */
         private SupplyWorker() {
-            super(cctx.gridName(), "preloader-supply-worker", log);
+            super(cctx.gridName(), "preloader-supply-worker", GridDhtPartitionSupplyPool.this.log);
         }
 
         /** {@inheritDoc} */


[32/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index 8b6a693..5dfcf2a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -17,6 +17,7 @@ import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.tostring.*;
@@ -36,8 +37,8 @@ import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 /**
  *
  */
-public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFuture<GridCacheTxEx<K, V>>
-    implements GridCacheMvccFuture<K, V, GridCacheTxEx<K, V>> {
+public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFuture<IgniteTxEx<K, V>>
+    implements GridCacheMvccFuture<K, V, IgniteTxEx<K, V>> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -79,12 +80,12 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
      * @param tx Transaction.
      */
     public GridNearTxPrepareFuture(GridCacheSharedContext<K, V> cctx, final GridNearTxLocal<K, V> tx) {
-        super(cctx.kernalContext(), new IgniteReducer<GridCacheTxEx<K, V>, GridCacheTxEx<K, V>>() {
-            @Override public boolean collect(GridCacheTxEx<K, V> e) {
+        super(cctx.kernalContext(), new IgniteReducer<IgniteTxEx<K, V>, IgniteTxEx<K, V>>() {
+            @Override public boolean collect(IgniteTxEx<K, V> e) {
                 return true;
             }
 
-            @Override public GridCacheTxEx<K, V> reduce() {
+            @Override public IgniteTxEx<K, V> reduce() {
                 // Nothing to aggregate.
                 return tx;
             }
@@ -202,11 +203,11 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
      * @return {@code True} if all locks are owned.
      */
     private boolean checkLocks() {
-        Collection<GridCacheTxEntry<K, V>> checkEntries = tx.groupLock() ?
+        Collection<IgniteTxEntry<K, V>> checkEntries = tx.groupLock() ?
             Collections.singletonList(tx.groupLockEntry()) :
             tx.writeEntries();
 
-        for (GridCacheTxEntry<K, V> txEntry : checkEntries) {
+        for (IgniteTxEntry<K, V> txEntry : checkEntries) {
             // Wait for near locks only.
             if (!txEntry.context().isNear())
                 continue;
@@ -251,7 +252,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
      */
     public void onResult(UUID nodeId, GridNearTxPrepareResponse<K, V> res) {
         if (!isDone()) {
-            for (IgniteFuture<GridCacheTxEx<K, V>> fut : pending()) {
+            for (IgniteFuture<IgniteTxEx<K, V>> fut : pending()) {
                 if (isMini(fut)) {
                     MiniFuture f = (MiniFuture)fut;
 
@@ -266,7 +267,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
     }
 
     /** {@inheritDoc} */
-    @Override public boolean onDone(GridCacheTxEx<K, V> t, Throwable err) {
+    @Override public boolean onDone(IgniteTxEx<K, V> t, Throwable err) {
         // If locks were not acquired yet, delay completion.
         if (isDone() || (err == null && !checkLocks()))
             return false;
@@ -434,7 +435,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
 
         try {
             prepare(
-                tx.optimistic() && tx.serializable() ? tx.readEntries() : Collections.<GridCacheTxEntry<K, V>>emptyList(),
+                tx.optimistic() && tx.serializable() ? tx.readEntries() : Collections.<IgniteTxEntry<K, V>>emptyList(),
                 tx.writeEntries());
 
             markInitialized();
@@ -450,8 +451,8 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
      * @throws IgniteCheckedException If transaction is group-lock and some key was mapped to to the local node.
      */
     private void prepare(
-        Iterable<GridCacheTxEntry<K, V>> reads,
-        Iterable<GridCacheTxEntry<K, V>> writes
+        Iterable<IgniteTxEntry<K, V>> reads,
+        Iterable<IgniteTxEntry<K, V>> writes
     ) throws IgniteCheckedException {
         assert tx.optimistic();
 
@@ -482,7 +483,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
         // Assign keys to primary nodes.
         GridDistributedTxMapping<K, V> cur = null;
 
-        for (GridCacheTxEntry<K, V> read : reads) {
+        for (IgniteTxEntry<K, V> read : reads) {
             GridDistributedTxMapping<K, V> updated = map(read, topVer, cur);
 
             if (cur != updated) {
@@ -499,7 +500,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
             }
         }
 
-        for (GridCacheTxEntry<K, V> write : writes) {
+        for (IgniteTxEntry<K, V> write : writes) {
             GridDistributedTxMapping<K, V> updated = map(write, topVer, cur);
 
             if (cur != updated) {
@@ -565,7 +566,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
             tx.subjectId(),
             tx.taskNameHash());
 
-        for (GridCacheTxEntry<K, V> txEntry : m.writes()) {
+        for (IgniteTxEntry<K, V> txEntry : m.writes()) {
             if (txEntry.op() == TRANSFORM)
                 req.addDhtVersion(txEntry.txKey(), null);
         }
@@ -589,21 +590,21 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
             // At this point, if any new node joined, then it is
             // waiting for this transaction to complete, so
             // partition reassignments are not possible here.
-            IgniteFuture<GridCacheTxEx<K, V>> fut = cctx.tm().txHandler().prepareTx(n.id(), tx, req);
+            IgniteFuture<IgniteTxEx<K, V>> fut = cctx.tm().txHandler().prepareTx(n.id(), tx, req);
 
             // Add new future.
             add(new GridEmbeddedFuture<>(
                 cctx.kernalContext(),
                 fut,
-                new C2<GridCacheTxEx<K, V>, Exception, GridCacheTxEx<K, V>>() {
-                    @Override public GridCacheTxEx<K, V> apply(GridCacheTxEx<K, V> t, Exception ex) {
+                new C2<IgniteTxEx<K, V>, Exception, IgniteTxEx<K, V>>() {
+                    @Override public IgniteTxEx<K, V> apply(IgniteTxEx<K, V> t, Exception ex) {
                         if (ex != null) {
                             onError(n.id(), mappings, ex);
 
                             return t;
                         }
 
-                        GridCacheTxLocalEx<K, V> dhtTx = (GridCacheTxLocalEx<K, V>)t;
+                        IgniteTxLocalEx<K, V> dhtTx = (IgniteTxLocalEx<K, V>)t;
 
                         Collection<Integer> invalidParts = dhtTx.invalidPartitions();
 
@@ -616,7 +617,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
 
                             GridCacheVersion min = dhtTx.minVersion();
 
-                            GridCacheTxManager<K, V> tm = cctx.tm();
+                            IgniteTxManager<K, V> tm = cctx.tm();
 
                             tx.readyNearLocks(m, Collections.<GridCacheVersion>emptyList(),
                                 tm.committedVersions(min), tm.rolledbackVersions(min));
@@ -657,7 +658,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
      * @throws IgniteCheckedException If transaction is group-lock and local node is not primary for key.
      * @return Mapping.
      */
-    private GridDistributedTxMapping<K, V> map(GridCacheTxEntry<K, V> entry, long topVer,
+    private GridDistributedTxMapping<K, V> map(IgniteTxEntry<K, V> entry, long topVer,
         GridDistributedTxMapping<K, V> cur) throws IgniteCheckedException {
         GridCacheContext<K, V> cacheCtx = entry.context();
 
@@ -725,7 +726,7 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
      * Mini-future for get operations. Mini-futures are only waiting on a single
      * node as opposed to multiple nodes.
      */
-    private class MiniFuture extends GridFutureAdapter<GridCacheTxEx<K, V>> {
+    private class MiniFuture extends GridFutureAdapter<IgniteTxEx<K, V>> {
         /** */
         private static final long serialVersionUID = 0L;
 
@@ -831,8 +832,8 @@ public final class GridNearTxPrepareFuture<K, V> extends GridCompoundIdentityFut
                 else {
                     assert F.isEmpty(res.invalidPartitions());
 
-                    for (Map.Entry<GridCacheTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> entry : res.ownedValues().entrySet()) {
-                        GridCacheTxEntry<K, V> txEntry = tx.entry(entry.getKey());
+                    for (Map.Entry<IgniteTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> entry : res.ownedValues().entrySet()) {
+                        IgniteTxEntry<K, V> txEntry = tx.entry(entry.getKey());
 
                         assert txEntry != null;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
index 431e134..46e1b8a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareRequest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -79,10 +80,10 @@ public class GridNearTxPrepareRequest<K, V> extends GridDistributedTxPrepareRequ
     public GridNearTxPrepareRequest(
         IgniteUuid futId,
         long topVer,
-        GridCacheTxEx<K, V> tx,
-        Collection<GridCacheTxEntry<K, V>> reads,
-        Collection<GridCacheTxEntry<K, V>> writes,
-        GridCacheTxKey grpLockKey,
+        IgniteTxEx<K, V> tx,
+        Collection<IgniteTxEntry<K, V>> reads,
+        Collection<IgniteTxEntry<K, V>> writes,
+        IgniteTxKey grpLockKey,
         boolean partLock,
         boolean near,
         Map<UUID, Collection<UUID>> txNodes,
@@ -182,13 +183,13 @@ public class GridNearTxPrepareRequest<K, V> extends GridDistributedTxPrepareRequ
      * @param c Collection of entries to clone.
      * @return Cloned collection.
      */
-    private Collection<GridCacheTxEntry<K, V>> cloneEntries(Collection<GridCacheTxEntry<K, V>> c) {
+    private Collection<IgniteTxEntry<K, V>> cloneEntries(Collection<IgniteTxEntry<K, V>> c) {
         if (F.isEmpty(c))
             return c;
 
-        Collection<GridCacheTxEntry<K, V>> cp = new ArrayList<>(c.size());
+        Collection<IgniteTxEntry<K, V>> cp = new ArrayList<>(c.size());
 
-        for (GridCacheTxEntry<K, V> e : c) {
+        for (IgniteTxEntry<K, V> e : c) {
             GridCacheContext<K, V> cacheCtx = e.context();
 
             // Clone only if it is a near cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareResponse.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
index 08d7967..e453388 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareResponse.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.tostring.*;
@@ -53,7 +54,7 @@ public class GridNearTxPrepareResponse<K, V> extends GridDistributedTxPrepareRes
     /** Map of owned values to set on near node. */
     @GridToStringInclude
     @GridDirectTransient
-    private Map<GridCacheTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> ownedVals;
+    private Map<IgniteTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> ownedVals;
 
     /** Marshalled owned bytes. */
     @GridToStringExclude
@@ -136,7 +137,7 @@ public class GridNearTxPrepareResponse<K, V> extends GridDistributedTxPrepareRes
      * @param val Value.
      * @param valBytes Value bytes.
      */
-    public void addOwnedValue(GridCacheTxKey<K> key, GridCacheVersion ver, V val, byte[] valBytes) {
+    public void addOwnedValue(IgniteTxKey<K> key, GridCacheVersion ver, V val, byte[] valBytes) {
         if (ownedVals == null)
             ownedVals = new HashMap<>();
 
@@ -146,8 +147,8 @@ public class GridNearTxPrepareResponse<K, V> extends GridDistributedTxPrepareRes
     /**
      * @return Owned values map.
      */
-    public Map<GridCacheTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> ownedValues() {
-        return ownedVals == null ? Collections.<GridCacheTxKey<K>, GridTuple3<GridCacheVersion,V,byte[]>>emptyMap() :
+    public Map<IgniteTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> ownedValues() {
+        return ownedVals == null ? Collections.<IgniteTxKey<K>, GridTuple3<GridCacheVersion,V,byte[]>>emptyMap() :
             Collections.unmodifiableMap(ownedVals);
     }
 
@@ -155,7 +156,7 @@ public class GridNearTxPrepareResponse<K, V> extends GridDistributedTxPrepareRes
      * @param key Key.
      * @return {@code True} if response has owned value for given key.
      */
-    public boolean hasOwnedValue(GridCacheTxKey<K> key) {
+    public boolean hasOwnedValue(IgniteTxKey<K> key) {
         return ownedVals != null && ownedVals.containsKey(key);
     }
 
@@ -174,7 +175,7 @@ public class GridNearTxPrepareResponse<K, V> extends GridDistributedTxPrepareRes
         if (ownedVals != null && ownedValsBytes == null) {
             ownedValsBytes = new ArrayList<>(ownedVals.size());
 
-            for (Map.Entry<GridCacheTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> entry : ownedVals.entrySet()) {
+            for (Map.Entry<IgniteTxKey<K>, GridTuple3<GridCacheVersion, V, byte[]>> entry : ownedVals.entrySet()) {
                 GridTuple3<GridCacheVersion, V, byte[]> tup = entry.getValue();
 
                 boolean rawBytes = false;
@@ -204,7 +205,7 @@ public class GridNearTxPrepareResponse<K, V> extends GridDistributedTxPrepareRes
             ownedVals = new HashMap<>();
 
             for (byte[] bytes : ownedValsBytes) {
-                GridTuple4<GridCacheTxKey<K>, GridCacheVersion, byte[], Boolean> tup = ctx.marshaller().unmarshal(bytes, ldr);
+                GridTuple4<IgniteTxKey<K>, GridCacheVersion, byte[], Boolean> tup = ctx.marshaller().unmarshal(bytes, ldr);
 
                 V val = tup.get4() ? (V)tup.get3() : ctx.marshaller().<V>unmarshal(tup.get3(), ldr);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
index 99d17eb..fbec6dd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
@@ -32,7 +33,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
     private static final long serialVersionUID = 0L;
 
     /** Evicted keys. */
-    private Collection<GridCacheTxKey<K>> evicted = new LinkedList<>();
+    private Collection<IgniteTxKey<K>> evicted = new LinkedList<>();
 
     /** Near node ID. */
     private UUID nearNodeId;
@@ -41,7 +42,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
     private GridCacheVersion nearXidVer;
 
     /** Owned versions. */
-    private Map<GridCacheTxKey<K>, GridCacheVersion> owned;
+    private Map<IgniteTxKey<K>, GridCacheVersion> owned;
 
     /** Group lock flag. */
     private boolean grpLock;
@@ -86,9 +87,9 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         IgniteTxIsolation isolation,
         boolean invalidate,
         long timeout,
-        Collection<GridCacheTxEntry<K, V>> writeEntries,
+        Collection<IgniteTxEntry<K, V>> writeEntries,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         @Nullable UUID subjId,
         int taskNameHash
     ) throws IgniteCheckedException {
@@ -105,7 +106,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
             writeEntries != null ? Math.max(txSize, writeEntries.size()) : txSize, 1.0f);
 
         if (writeEntries != null)
-            for (GridCacheTxEntry<K, V> entry : writeEntries) {
+            for (IgniteTxEntry<K, V> entry : writeEntries) {
                 entry.unmarshal(ctx, true, ldr);
 
                 addEntry(entry);
@@ -144,7 +145,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         boolean invalidate,
         long timeout,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         @Nullable UUID subjId,
         int taskNameHash
     ) {
@@ -176,7 +177,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheVersion ownedVersion(GridCacheTxKey<K> key) {
+    @Override public GridCacheVersion ownedVersion(IgniteTxKey<K> key) {
         return owned == null ? null : owned.get(key);
     }
 
@@ -205,7 +206,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      *
      * @param vers Map of owned versions.
      */
-    public void ownedVersions(Map<GridCacheTxKey<K>, GridCacheVersion> vers) {
+    public void ownedVersions(Map<IgniteTxKey<K>, GridCacheVersion> vers) {
         if (F.isEmpty(vers))
             return;
 
@@ -230,7 +231,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
     /**
      * @return Evicted keys.
      */
-    public Collection<GridCacheTxKey<K>> evicted() {
+    public Collection<IgniteTxKey<K>> evicted() {
         return evicted;
     }
 
@@ -239,7 +240,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      *
      * @param key Evicted key.
      */
-    public void addEvicted(GridCacheTxKey<K> key) {
+    public void addEvicted(IgniteTxKey<K> key) {
         evicted.add(key);
     }
 
@@ -250,8 +251,8 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      * @param entries Entries to add.
      * @throws IgniteCheckedException If failed.
      */
-    public void addEntries(ClassLoader ldr, Iterable<GridCacheTxEntry<K, V>> entries) throws IgniteCheckedException {
-        for (GridCacheTxEntry<K, V> entry : entries) {
+    public void addEntries(ClassLoader ldr, Iterable<IgniteTxEntry<K, V>> entries) throws IgniteCheckedException {
+        for (IgniteTxEntry<K, V> entry : entries) {
             entry.unmarshal(cctx, true, ldr);
 
             addEntry(entry);
@@ -263,7 +264,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      * @throws IgniteCheckedException If failed.
      * @return {@code True} if entry was enlisted.
      */
-    private boolean addEntry(GridCacheTxEntry<K, V> entry) throws IgniteCheckedException {
+    private boolean addEntry(IgniteTxEntry<K, V> entry) throws IgniteCheckedException {
         checkInternal(entry.txKey());
 
         GridCacheContext<K, V> cacheCtx = entry.context();
@@ -320,7 +321,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      */
     public boolean addEntry(
         GridCacheContext<K, V> cacheCtx,
-        GridCacheTxKey<K> key,
+        IgniteTxKey<K> key,
         byte[] keyBytes,
         GridCacheOperation op,
         V val,
@@ -348,7 +349,7 @@ public class GridNearTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
                     return false;
                 }
                 else {
-                    GridCacheTxEntry<K, V> txEntry = new GridCacheTxEntry<>(cacheCtx, this, op, val, 0L, -1L, cached,
+                    IgniteTxEntry<K, V> txEntry = new IgniteTxEntry<>(cacheCtx, this, op, val, 0L, -1L, cached,
                         drVer);
 
                     txEntry.keyBytes(keyBytes);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/GridCacheDrManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/GridCacheDrManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/GridCacheDrManager.java
index 439a575..8915fc1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/GridCacheDrManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/GridCacheDrManager.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.dr;
 
 import org.apache.ignite.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.jetbrains.annotations.*;
 
@@ -64,7 +65,7 @@ public interface GridCacheDrManager<K, V> extends GridCacheManager<K, V> {
      */
     public GridDrResolveResult<V> resolveTx(
         GridCacheEntryEx<K, V> e,
-        GridCacheTxEntry<K, V> txEntry,
+        IgniteTxEntry<K, V> txEntry,
         GridCacheVersion newVer,
         GridCacheOperation op,
         V newVal,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/os/GridOsCacheDrManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/os/GridOsCacheDrManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/os/GridOsCacheDrManager.java
index cb3f407..702dd33 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/os/GridOsCacheDrManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/dr/os/GridOsCacheDrManager.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.dr.os;
 import org.apache.ignite.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.jetbrains.annotations.*;
 
@@ -80,7 +81,7 @@ public class GridOsCacheDrManager<K, V> implements GridCacheDrManager<K, V> {
 
     /** {@inheritDoc} */
     @Override public GridDrResolveResult<V> resolveTx(GridCacheEntryEx<K, V> e,
-        GridCacheTxEntry<K, V> txEntry,
+        IgniteTxEntry<K, V> txEntry,
         GridCacheVersion newVer,
         GridCacheOperation op,
         V newVal,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
index 66fffae..9ea91b9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;
 import org.jetbrains.annotations.*;
@@ -86,7 +87,7 @@ public class GridLocalCache<K, V> extends GridCacheAdapter<K, V> {
 
     /** {@inheritDoc} */
     @Override public IgniteFuture<Boolean> txLockAsync(Collection<? extends K> keys, long timeout,
-        GridCacheTxLocalEx<K, V> tx, boolean isRead,
+        IgniteTxLocalEx<K, V> tx, boolean isRead,
         boolean retval, IgniteTxIsolation isolation, boolean invalidate,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         return lockAllAsync(keys, timeout, tx, filter);
@@ -95,7 +96,7 @@ public class GridLocalCache<K, V> extends GridCacheAdapter<K, V> {
     /** {@inheritDoc} */
     @Override public IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
-        GridCacheTxLocalEx<K, V> tx = ctx.tm().localTx();
+        IgniteTxLocalEx<K, V> tx = ctx.tm().localTx();
 
         return lockAllAsync(keys, timeout, tx, filter);
     }
@@ -108,7 +109,7 @@ public class GridLocalCache<K, V> extends GridCacheAdapter<K, V> {
      * @return Future.
      */
     public IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
-        @Nullable GridCacheTxLocalEx<K, V> tx, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
+        @Nullable IgniteTxLocalEx<K, V> tx, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         if (F.isEmpty(keys))
             return new GridFinishedFuture<>(ctx.kernalContext(), true);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCacheEntry.java
index f5ff9aa..58b4cf0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCacheEntry.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.local;
 
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.jetbrains.annotations.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
@@ -170,7 +171,7 @@ public class GridLocalCacheEntry<K, V> extends GridCacheMapEntry<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public boolean tmLock(GridCacheTxEx<K, V> tx, long timeout) throws GridCacheEntryRemovedException {
+    @Override public boolean tmLock(IgniteTxEx<K, V> tx, long timeout) throws GridCacheEntryRemovedException {
         GridCacheMvccCandidate<K> cand = addLocal(
             tx.threadId(),
             tx.xidVersion(),
@@ -266,7 +267,7 @@ public class GridLocalCacheEntry<K, V> extends GridCacheMapEntry<K, V> {
      *
      * @param tx Transaction to unlock.
      */
-    @Override public void txUnlock(GridCacheTxEx<K, V> tx) throws GridCacheEntryRemovedException {
+    @Override public void txUnlock(IgniteTxEx<K, V> tx) throws GridCacheEntryRemovedException {
         removeLock(tx.xidVersion());
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalLockFuture.java
index 09bb220..25a13c5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalLockFuture.java
@@ -12,9 +12,9 @@ package org.gridgain.grid.kernal.processors.cache.local;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.future.*;
@@ -76,7 +76,7 @@ public final class GridLocalLockFuture<K, V> extends GridFutureAdapter<Boolean>
     private IgnitePredicate<GridCacheEntry<K, V>>[] filter;
 
     /** Transaction. */
-    private GridCacheTxLocalEx<K, V> tx;
+    private IgniteTxLocalEx<K, V> tx;
 
     /** Trackable flag. */
     private boolean trackable = true;
@@ -99,7 +99,7 @@ public final class GridLocalLockFuture<K, V> extends GridFutureAdapter<Boolean>
     GridLocalLockFuture(
         GridCacheContext<K, V> cctx,
         Collection<? extends K> keys,
-        GridCacheTxLocalEx<K, V> tx,
+        IgniteTxLocalEx<K, V> tx,
         GridLocalCache<K, V> cache,
         long timeout,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
index 8ceb402..0226ff2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;
 import org.jetbrains.annotations.*;
@@ -26,7 +27,7 @@ import static org.apache.ignite.transactions.IgniteTxState.*;
 /**
  * Local cache transaction.
  */
-class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
+class GridLocalTx<K, V> extends IgniteTxLocalAdapter<K, V> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -65,7 +66,7 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> future() {
+    @Override public IgniteFuture<IgniteTxEx<K, V>> future() {
         return fut.get();
     }
 
@@ -103,11 +104,11 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> prepareAsync() {
+    @Override public IgniteFuture<IgniteTxEx<K, V>> prepareAsync() {
         try {
             prepare();
 
-            return new GridFinishedFuture<GridCacheTxEx<K, V>>(cctx.kernalContext(), this);
+            return new GridFinishedFuture<IgniteTxEx<K, V>>(cctx.kernalContext(), this);
         }
         catch (IgniteCheckedException e) {
             return new GridFinishedFuture<>(cctx.kernalContext(), e);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
index e588cba..ff1682d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;
@@ -27,8 +28,8 @@ import static org.apache.ignite.transactions.IgniteTxState.*;
 /**
  * Replicated cache transaction future.
  */
-final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V>>
-    implements GridCacheMvccFuture<K, V, GridCacheTxEx<K, V>> {
+final class GridLocalTxFuture<K, V> extends GridFutureAdapter<IgniteTxEx<K, V>>
+    implements GridCacheMvccFuture<K, V, IgniteTxEx<K, V>> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -177,7 +178,7 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
      */
     @SuppressWarnings({"ThrowableInstanceNeverThrown"})
     void checkLocks() {
-        for (GridCacheTxEntry<K, V> txEntry : tx.writeMap().values()) {
+        for (IgniteTxEntry<K, V> txEntry : tx.writeMap().values()) {
             while (true) {
                 try {
                     GridCacheEntryEx<K, V> entry = txEntry.cached();
@@ -226,7 +227,7 @@ final class GridLocalTxFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V
         if (log.isDebugEnabled())
             log.debug("Transaction future received owner changed callback [owner=" + owner + ", entry=" + entry + ']');
 
-        for (GridCacheTxEntry<K, V> txEntry : tx.writeMap().values()) {
+        for (IgniteTxEntry<K, V> txEntry : tx.writeMap().values()) {
             while (true) {
                 try {
                     GridCacheEntryEx<K,V> cached = txEntry.cached();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
index 3a63fa1..be53cb3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@ -16,6 +16,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.local.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;
@@ -1248,7 +1249,7 @@ public class GridLocalAtomicCache<K, V> extends GridCacheAdapter<K, V> {
     /** {@inheritDoc} */
     @Override public IgniteFuture<Boolean> txLockAsync(Collection<? extends K> keys,
         long timeout,
-        GridCacheTxLocalEx<K, V> tx,
+        IgniteTxLocalEx<K, V> tx,
         boolean isRead,
         boolean retval,
         IgniteTxIsolation isolation,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index 7e132a4..2f36aa8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -116,7 +116,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
             throw new IllegalArgumentException("SERIALIZABLE isolation level is disabled (to enable change " +
                 "'txSerializableEnabled' configuration property)");
 
-        GridCacheTxEx<K, V> tx = (GridCacheTxEx<K, V>)cctx.tm().userTx();
+        IgniteTxEx<K, V> tx = (IgniteTxEx<K, V>)cctx.tm().userTx();
 
         if (tx != null)
             throw new IllegalStateException("Failed to start new transaction " +
@@ -194,7 +194,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
             throw new IllegalStateException("Failed to start new transaction " +
                 "(current thread already has a transaction): " + tx);
 
-        GridCacheTxLocalAdapter<K, V> tx0 = cctx.tm().newTx(
+        IgniteTxLocalAdapter<K, V> tx0 = cctx.tm().newTx(
             false,
             false,
             sys,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
new file mode 100644
index 0000000..a9d28f4
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
@@ -0,0 +1,1523 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.util.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.gridgain.grid.util.future.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.grid.util.tostring.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.atomic.*;
+import java.util.concurrent.locks.*;
+
+import static org.apache.ignite.events.IgniteEventType.*;
+import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
+import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
+
+/**
+ * Managed transaction adapter.
+ */
+public abstract class IgniteTxAdapter<K, V> extends GridMetadataAwareAdapter
+    implements IgniteTxEx<K, V>, Externalizable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Static logger to avoid re-creation. */
+    private static final AtomicReference<IgniteLogger> logRef = new AtomicReference<>();
+
+    /** Logger. */
+    protected static IgniteLogger log;
+
+    /** Transaction ID. */
+    @GridToStringInclude
+    protected GridCacheVersion xidVer;
+
+    /** Entries write version. */
+    @GridToStringInclude
+    protected GridCacheVersion writeVer;
+
+    /** Implicit flag. */
+    @GridToStringInclude
+    protected boolean implicit;
+
+    /** Implicit with one key flag. */
+    @GridToStringInclude
+    protected boolean implicitSingle;
+
+    /** Local flag. */
+    @GridToStringInclude
+    protected boolean loc;
+
+    /** Thread ID. */
+    @GridToStringInclude
+    protected long threadId;
+
+    /** Transaction start time. */
+    @GridToStringInclude
+    protected long startTime = U.currentTimeMillis();
+
+    /** Node ID. */
+    @GridToStringInclude
+    protected UUID nodeId;
+
+    /** Transaction counter value at the start of transaction. */
+    @GridToStringInclude
+    protected GridCacheVersion startVer;
+
+    /** Cache registry. */
+    @GridToStringExclude
+    protected GridCacheSharedContext<K, V> cctx;
+
+    /**
+     * End version (a.k.a. <tt>'tnc'</tt> or <tt>'transaction number counter'</tt>)
+     * assigned to this transaction at the end of write phase.
+     */
+    @GridToStringInclude
+    protected GridCacheVersion endVer;
+
+    /** Isolation. */
+    @GridToStringInclude
+    protected IgniteTxIsolation isolation = READ_COMMITTED;
+
+    /** Concurrency. */
+    @GridToStringInclude
+    protected IgniteTxConcurrency concurrency = PESSIMISTIC;
+
+    /** Transaction timeout. */
+    @GridToStringInclude
+    protected long timeout;
+
+    /** Invalidate flag. */
+    protected volatile boolean invalidate;
+
+    /** Invalidation flag for system invalidations (not user-based ones). */
+    private boolean sysInvalidate;
+
+    /** Internal flag. */
+    protected boolean internal;
+
+    /** System transaction flag. */
+    private boolean sys;
+
+    /** */
+    protected boolean onePhaseCommit;
+
+    /** */
+    protected boolean syncCommit;
+
+    /** */
+    protected boolean syncRollback;
+
+    /** If this transaction contains transform entries. */
+    protected boolean transform;
+
+    /** Commit version. */
+    private AtomicReference<GridCacheVersion> commitVer = new AtomicReference<>(null);
+
+    /** Done marker. */
+    protected final AtomicBoolean isDone = new AtomicBoolean(false);
+
+    /** */
+    private AtomicReference<FinalizationStatus> finalizing = new AtomicReference<>(FinalizationStatus.NONE);
+
+    /** Preparing flag. */
+    private AtomicBoolean preparing = new AtomicBoolean();
+
+    /** */
+    private Set<Integer> invalidParts = new GridLeanSet<>();
+
+    /** Recover writes. */
+    private Collection<IgniteTxEntry<K, V>> recoveryWrites;
+
+    /**
+     * Transaction state. Note that state is not protected, as we want to
+     * always use {@link #state()} and {@link #state(IgniteTxState)}
+     * methods.
+     */
+    @GridToStringInclude
+    private volatile IgniteTxState state = ACTIVE;
+
+    /** Timed out flag. */
+    private volatile boolean timedOut;
+
+    /** */
+    protected int txSize;
+
+    /** Group lock key, if any. */
+    protected IgniteTxKey grpLockKey;
+
+    /** */
+    @GridToStringExclude
+    private AtomicReference<GridFutureAdapter<IgniteTx>> finFut = new AtomicReference<>();
+
+    /** Topology version. */
+    private AtomicLong topVer = new AtomicLong(-1);
+
+    /** Mutex. */
+    private final Lock lock = new ReentrantLock();
+
+    /** Lock condition. */
+    private final Condition cond = lock.newCondition();
+
+    /** Subject ID initiated this transaction. */
+    protected UUID subjId;
+
+    /** Task name hash code. */
+    protected int taskNameHash;
+
+    /** Task name. */
+    protected String taskName;
+
+    /** Store used flag. */
+    protected boolean storeEnabled = true;
+
+    /**
+     * Empty constructor required for {@link Externalizable}.
+     */
+    protected IgniteTxAdapter() {
+        // No-op.
+    }
+
+    /**
+     * @param cctx Cache registry.
+     * @param xidVer Transaction ID.
+     * @param implicit Implicit flag.
+     * @param implicitSingle Implicit with one key flag.
+     * @param loc Local flag.
+     * @param sys System transaction flag.
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @param timeout Timeout.
+     * @param txSize Transaction size.
+     * @param grpLockKey Group lock key if this is group-lock transaction.
+     */
+    protected IgniteTxAdapter(
+        GridCacheSharedContext<K, V> cctx,
+        GridCacheVersion xidVer,
+        boolean implicit,
+        boolean implicitSingle,
+        boolean loc,
+        boolean sys,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
+        long timeout,
+        boolean invalidate,
+        boolean storeEnabled,
+        int txSize,
+        @Nullable IgniteTxKey grpLockKey,
+        @Nullable UUID subjId,
+        int taskNameHash
+    ) {
+        assert xidVer != null;
+        assert cctx != null;
+
+        this.cctx = cctx;
+        this.xidVer = xidVer;
+        this.implicit = implicit;
+        this.implicitSingle = implicitSingle;
+        this.loc = loc;
+        this.sys = sys;
+        this.concurrency = concurrency;
+        this.isolation = isolation;
+        this.timeout = timeout;
+        this.invalidate = invalidate;
+        this.storeEnabled = storeEnabled;
+        this.txSize = txSize;
+        this.grpLockKey = grpLockKey;
+        this.subjId = subjId;
+        this.taskNameHash = taskNameHash;
+
+        startVer = cctx.versions().last();
+
+        nodeId = cctx.discovery().localNode().id();
+
+        threadId = Thread.currentThread().getId();
+
+        log = U.logger(cctx.kernalContext(), logRef, this);
+    }
+
+    /**
+     * @param cctx Cache registry.
+     * @param nodeId Node ID.
+     * @param xidVer Transaction ID.
+     * @param startVer Start version mark.
+     * @param threadId Thread ID.
+     * @param sys System transaction flag.
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @param timeout Timeout.
+     * @param txSize Transaction size.
+     * @param grpLockKey Group lock key if this is group-lock transaction.
+     */
+    protected IgniteTxAdapter(
+        GridCacheSharedContext<K, V> cctx,
+        UUID nodeId,
+        GridCacheVersion xidVer,
+        GridCacheVersion startVer,
+        long threadId,
+        boolean sys,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
+        long timeout,
+        int txSize,
+        @Nullable IgniteTxKey grpLockKey,
+        @Nullable UUID subjId,
+        int taskNameHash
+    ) {
+        this.cctx = cctx;
+        this.nodeId = nodeId;
+        this.threadId = threadId;
+        this.xidVer = xidVer;
+        this.startVer = startVer;
+        this.sys = sys;
+        this.concurrency = concurrency;
+        this.isolation = isolation;
+        this.timeout = timeout;
+        this.txSize = txSize;
+        this.grpLockKey = grpLockKey;
+        this.subjId = subjId;
+        this.taskNameHash = taskNameHash;
+
+        implicit = false;
+        implicitSingle = false;
+        loc = false;
+
+        log = U.logger(cctx.kernalContext(), logRef, this);
+    }
+
+    /**
+     * Acquires lock.
+     */
+    @SuppressWarnings({"LockAcquiredButNotSafelyReleased"})
+    protected final void lock() {
+        lock.lock();
+    }
+
+    /**
+     * Releases lock.
+     */
+    protected final void unlock() {
+        lock.unlock();
+    }
+
+    /**
+     * Signals all waiters.
+     */
+    protected final void signalAll() {
+        cond.signalAll();
+    }
+
+    /**
+     * Waits for signal.
+     *
+     * @throws InterruptedException If interrupted.
+     */
+    protected final void awaitSignal() throws InterruptedException {
+        cond.await();
+    }
+
+    /**
+     * Checks whether near cache should be updated.
+     *
+     * @return Flag indicating whether near cache should be updated.
+     */
+    protected boolean updateNearCache(GridCacheContext<K, V> cacheCtx, K key, long topVer) {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Collection<IgniteTxEntry<K, V>> optimisticLockEntries() {
+        assert optimistic();
+
+        if (!groupLock())
+            return writeEntries();
+        else {
+            if (!F.isEmpty(invalidParts)) {
+                assert invalidParts.size() == 1 : "Only one partition expected for group lock transaction " +
+                    "[tx=" + this + ", invalidParts=" + invalidParts + ']';
+                assert groupLockEntry() == null : "Group lock key should be rejected " +
+                    "[tx=" + this + ", groupLockEntry=" + groupLockEntry() + ']';
+                assert F.isEmpty(writeMap()) : "All entries should be rejected for group lock transaction " +
+                    "[tx=" + this + ", writes=" + writeMap() + ']';
+
+                return Collections.emptyList();
+            }
+
+            IgniteTxEntry<K, V> grpLockEntry = groupLockEntry();
+
+            assert grpLockEntry != null || (near() && !local()):
+                "Group lock entry was not enlisted into transaction [tx=" + this +
+                ", grpLockKey=" + groupLockKey() + ']';
+
+            return grpLockEntry == null ?
+                Collections.<IgniteTxEntry<K,V>>emptyList() :
+                Collections.singletonList(grpLockEntry);
+        }
+    }
+
+    /**
+     * @param recoveryWrites Recover write entries.
+     */
+    public void recoveryWrites(Collection<IgniteTxEntry<K, V>> recoveryWrites) {
+        this.recoveryWrites = recoveryWrites;
+    }
+
+    /**
+     * @return Recover write entries.
+     */
+    @Override public Collection<IgniteTxEntry<K, V>> recoveryWrites() {
+        return recoveryWrites;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean storeEnabled() {
+        return storeEnabled;
+    }
+
+    /**
+     * @param storeEnabled Store enabled flag.
+     */
+    public void storeEnabled(boolean storeEnabled) {
+        this.storeEnabled = storeEnabled;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean system() {
+        return sys;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean storeUsed() {
+        return storeEnabled() && store() != null;
+    }
+
+    /**
+     * Store manager for current transaction.
+     *
+     * @return Store manager.
+     */
+    protected GridCacheStoreManager<K, V> store() {
+        if (!activeCacheIds().isEmpty()) {
+            int cacheId = F.first(activeCacheIds());
+
+            GridCacheStoreManager<K, V> store = cctx.cacheContext(cacheId).store();
+
+            return store.configured() ? store : null;
+        }
+
+        return null;
+    }
+
+    /**
+     * This method uses unchecked assignment to cast group lock key entry to transaction generic signature.
+     *
+     * @return Group lock tx entry.
+     */
+    @SuppressWarnings("unchecked")
+    public IgniteTxEntry<K, V> groupLockEntry() {
+        return ((IgniteTxAdapter)this).entry(groupLockKey());
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID otherNodeId() {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID subjectId() {
+        if (subjId != null)
+            return subjId;
+
+        return originatingNodeId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int taskNameHash() {
+        return taskNameHash;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long topologyVersion() {
+        long res = topVer.get();
+
+        if (res == -1)
+            return cctx.exchange().topologyVersion();
+
+        return res;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long topologyVersion(long topVer) {
+        this.topVer.compareAndSet(-1, topVer);
+
+        return this.topVer.get();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean hasTransforms() {
+        return transform;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean markPreparing() {
+        return preparing.compareAndSet(false, true);
+    }
+
+    /**
+     * @return {@code True} if marked.
+     */
+    @Override public boolean markFinalizing(FinalizationStatus status) {
+        boolean res;
+
+        switch (status) {
+            case USER_FINISH:
+                res = finalizing.compareAndSet(FinalizationStatus.NONE, FinalizationStatus.USER_FINISH);
+
+                break;
+
+            case RECOVERY_WAIT:
+                finalizing.compareAndSet(FinalizationStatus.NONE, FinalizationStatus.RECOVERY_WAIT);
+
+                FinalizationStatus cur = finalizing.get();
+
+                res = cur == FinalizationStatus.RECOVERY_WAIT || cur == FinalizationStatus.RECOVERY_FINISH;
+
+                break;
+
+            case RECOVERY_FINISH:
+                FinalizationStatus old = finalizing.get();
+
+                res = old != FinalizationStatus.USER_FINISH && finalizing.compareAndSet(old, status);
+
+                break;
+
+            default:
+                throw new IllegalArgumentException("Cannot set finalization status: " + status);
+
+        }
+
+        if (res) {
+            if (log.isDebugEnabled())
+                log.debug("Marked transaction as finalized: " + this);
+        }
+        else {
+            if (log.isDebugEnabled())
+                log.debug("Transaction was not marked finalized: " + this);
+        }
+
+        return res;
+    }
+
+    /**
+     * @return Finalization status.
+     */
+    protected FinalizationStatus finalizationStatus() {
+        return finalizing.get();
+    }
+
+    /**
+     * @return {@code True} if transaction has at least one key enlisted.
+     */
+    public abstract boolean isStarted();
+
+    /** {@inheritDoc} */
+    @Override public boolean groupLock() {
+        return grpLockKey != null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxKey groupLockKey() {
+        return grpLockKey;
+    }
+
+    /** {@inheritDoc} */
+    @Override public int size() {
+        return txSize;
+    }
+
+    /**
+     * @return Logger.
+     */
+    protected IgniteLogger log() {
+        return log;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean near() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean implicit() {
+        return implicit;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean implicitSingle() {
+        return implicitSingle;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean local() {
+        return loc;
+    }
+
+    /** {@inheritDoc} */
+    @Override public final boolean user() {
+        return !implicit() && local() && !dht() && !internal();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean dht() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean colocated() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean replicated() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean enforceSerializable() {
+        return true;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean syncCommit() {
+        return syncCommit;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean syncRollback() {
+        return syncRollback;
+    }
+
+    /**
+     * @param syncCommit Synchronous commit flag.
+     */
+    public void syncCommit(boolean syncCommit) {
+        this.syncCommit = syncCommit;
+    }
+
+    /**
+     * @param syncRollback Synchronous rollback flag.
+     */
+    public void syncRollback(boolean syncRollback) {
+        this.syncRollback = syncRollback;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteUuid xid() {
+        return xidVer.asGridUuid();
+    }
+
+    /** {@inheritDoc} */
+    @Override public Set<Integer> invalidPartitions() {
+        return invalidParts;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void addInvalidPartition(GridCacheContext<K, V> cacheCtx, int part) {
+        invalidParts.add(part);
+
+        if (log.isDebugEnabled())
+            log.debug("Added invalid partition for transaction [part=" + part + ", tx=" + this + ']');
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheVersion ownedVersion(IgniteTxKey<K> key) {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long startTime() {
+        return startTime;
+    }
+
+    /**
+     * Gets remaining allowed transaction time.
+     *
+     * @return Remaining transaction time.
+     */
+    @Override public long remainingTime() {
+        if (timeout() <= 0)
+            return -1;
+
+        long timeLeft = timeout() - (U.currentTimeMillis() - startTime());
+
+        if (timeLeft < 0)
+            return 0;
+
+        return timeLeft;
+    }
+
+    /**
+     * @return Lock timeout.
+     */
+    protected long lockTimeout() {
+        long timeout = remainingTime();
+
+        return timeout < 0 ? 0 : timeout == 0 ? -1 : timeout;
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheVersion xidVersion() {
+        return xidVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long threadId() {
+        return threadId;
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID nodeId() {
+        return nodeId;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxIsolation isolation() {
+        return isolation;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxConcurrency concurrency() {
+        return concurrency;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long timeout() {
+        return timeout;
+    }
+
+    /** {@inheritDoc} */
+    @Override public long timeout(long timeout) {
+        if (isStarted())
+            throw new IllegalStateException("Cannot change timeout after transaction has started: " + this);
+
+        long old = this.timeout;
+
+        this.timeout = timeout;
+
+        return old;
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("SimplifiableIfStatement")
+    @Override public boolean ownsLock(GridCacheEntryEx<K, V> entry) throws GridCacheEntryRemovedException {
+        GridCacheContext<K, V> cacheCtx = entry.context();
+
+        IgniteTxEntry<K, V> txEntry = entry(entry.txKey());
+
+        GridCacheVersion explicit = txEntry == null ? null : txEntry.explicitVersion();
+
+        assert !txEntry.groupLockEntry() || groupLock() : "Can not have group-locked tx entries in " +
+            "non-group-lock transactions [txEntry=" + txEntry + ", tx=" + this + ']';
+
+        return local() && !cacheCtx.isDht() ?
+            entry.lockedByThread(threadId()) || (explicit != null && entry.lockedBy(explicit)) :
+            // If candidate is not there, then lock was explicit.
+            // Otherwise, check if entry is owned by version.
+            !entry.hasLockCandidate(xidVersion()) || entry.lockedBy(xidVersion());
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("SimplifiableIfStatement")
+    @Override public boolean ownsLockUnsafe(GridCacheEntryEx<K, V> entry) {
+        GridCacheContext<K, V> cacheCtx = entry.context();
+
+        IgniteTxEntry<K, V> txEntry = entry(entry.txKey());
+
+        GridCacheVersion explicit = txEntry == null ? null : txEntry.explicitVersion();
+
+        assert !txEntry.groupLockEntry() || groupLock() : "Can not have group-locked tx entries in " +
+            "non-group-lock transactions [txEntry=" + txEntry + ", tx=" + this + ']';
+
+        return local() && !cacheCtx.isDht() ?
+            entry.lockedByThreadUnsafe(threadId()) || (explicit != null && entry.lockedByUnsafe(explicit)) :
+            // If candidate is not there, then lock was explicit.
+            // Otherwise, check if entry is owned by version.
+            !entry.hasLockCandidateUnsafe(xidVersion()) || entry.lockedByUnsafe(xidVersion());
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxState state() {
+        return state;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean setRollbackOnly() {
+        return state(MARKED_ROLLBACK);
+    }
+
+    /**
+     * @return {@code True} if rollback only flag is set.
+     */
+    @Override public boolean isRollbackOnly() {
+        return state == MARKED_ROLLBACK || state == ROLLING_BACK || state == ROLLED_BACK;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean done() {
+        return isDone.get();
+    }
+
+    /**
+     * @return Commit version.
+     */
+    @Override public GridCacheVersion commitVersion() {
+        initCommitVersion();
+
+        return commitVer.get();
+    }
+
+    /**
+     * @param commitVer Commit version.
+     * @return {@code True} if set to not null value.
+     */
+    @Override public boolean commitVersion(GridCacheVersion commitVer) {
+        return commitVer != null && this.commitVer.compareAndSet(null, commitVer);
+    }
+
+    /**
+     *
+     */
+    public void initCommitVersion() {
+        if (commitVer.get() == null)
+            commitVer.compareAndSet(null, xidVer);
+    }
+
+    /**
+     *
+     */
+    @Override public void close() throws IgniteCheckedException {
+        IgniteTxState state = state();
+
+        if (state != ROLLING_BACK && state != ROLLED_BACK && state != COMMITTING && state != COMMITTED)
+            rollback();
+
+        awaitCompletion();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean needsCompletedVersions() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void completedVersions(GridCacheVersion base, Collection<GridCacheVersion> committed,
+        Collection<GridCacheVersion> txs) {
+        /* No-op. */
+    }
+
+    /**
+     * Awaits transaction completion.
+     *
+     * @throws IgniteCheckedException If waiting failed.
+     */
+    protected void awaitCompletion() throws IgniteCheckedException {
+        lock();
+
+        try {
+            while (!done())
+                awaitSignal();
+        }
+        catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
+
+            if (!done())
+                throw new IgniteCheckedException("Got interrupted while waiting for transaction to complete: " + this, e);
+        }
+        finally {
+            unlock();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean internal() {
+        return internal;
+    }
+
+    /**
+     * @param key Key.
+     * @return {@code True} if key is internal.
+     */
+    protected boolean checkInternal(IgniteTxKey<K> key) {
+        if (key.key() instanceof GridCacheInternal) {
+            internal = true;
+
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * @param onePhaseCommit {@code True} if transaction commit should be performed in short-path way.
+     */
+    public void onePhaseCommit(boolean onePhaseCommit) {
+        this.onePhaseCommit = onePhaseCommit;
+    }
+
+    /**
+     * @return Fast commit flag.
+     */
+    @Override public boolean onePhaseCommit() {
+        return onePhaseCommit;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean optimistic() {
+        return concurrency == OPTIMISTIC;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean pessimistic() {
+        return concurrency == PESSIMISTIC;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean serializable() {
+        return isolation == SERIALIZABLE;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean repeatableRead() {
+        return isolation == REPEATABLE_READ;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean readCommitted() {
+        return isolation == READ_COMMITTED;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean state(IgniteTxState state) {
+        return state(state, false);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor")
+    @Override public IgniteFuture<IgniteTx> finishFuture() {
+        GridFutureAdapter<IgniteTx> fut = finFut.get();
+
+        if (fut == null) {
+            fut = new GridFutureAdapter<IgniteTx>(cctx.kernalContext()) {
+                @Override public String toString() {
+                    return S.toString(GridFutureAdapter.class, this, "tx", IgniteTxAdapter.this);
+                }
+            };
+
+            if (!finFut.compareAndSet(null, fut))
+                fut = finFut.get();
+        }
+
+        assert fut != null;
+
+        if (isDone.get())
+            fut.onDone(this);
+
+        return fut;
+    }
+
+    /**
+     *
+     * @param state State to set.
+     * @param timedOut Timeout flag.
+     * @return {@code True} if state changed.
+     */
+    @SuppressWarnings({"TooBroadScope"})
+    private boolean state(IgniteTxState state, boolean timedOut) {
+        boolean valid = false;
+
+        IgniteTxState prev;
+
+        boolean notify = false;
+
+        lock();
+
+        try {
+            prev = this.state;
+
+            switch (state) {
+                case ACTIVE: {
+                    valid = false;
+
+                    break;
+                } // Active is initial state and cannot be transitioned to.
+                case PREPARING: {
+                    valid = prev == ACTIVE;
+
+                    break;
+                }
+                case PREPARED: {
+                    valid = prev == PREPARING;
+
+                    break;
+                }
+                case COMMITTING: {
+                    valid = prev == PREPARED;
+
+                    break;
+                }
+
+                case UNKNOWN: {
+                    if (isDone.compareAndSet(false, true))
+                        notify = true;
+
+                    valid = prev == ROLLING_BACK || prev == COMMITTING;
+
+                    break;
+                }
+
+                case COMMITTED: {
+                    if (isDone.compareAndSet(false, true))
+                        notify = true;
+
+                    valid = prev == COMMITTING;
+
+                    break;
+                }
+
+                case ROLLED_BACK: {
+                    if (isDone.compareAndSet(false, true))
+                        notify = true;
+
+                    valid = prev == ROLLING_BACK;
+
+                    break;
+                }
+
+                case MARKED_ROLLBACK: {
+                    valid = prev == ACTIVE || prev == PREPARING || prev == PREPARED || prev == COMMITTING;
+
+                    break;
+                }
+
+                case ROLLING_BACK: {
+                    valid =
+                        prev == ACTIVE || prev == MARKED_ROLLBACK || prev == PREPARING ||
+                            prev == PREPARED || (prev == COMMITTING && local() && !dht());
+
+                    break;
+                }
+            }
+
+            if (valid) {
+                this.state = state;
+                this.timedOut = timedOut;
+
+                if (log.isDebugEnabled())
+                    log.debug("Changed transaction state [prev=" + prev + ", new=" + this.state + ", tx=" + this + ']');
+
+                // Notify of state change.
+                signalAll();
+            }
+            else {
+                if (log.isDebugEnabled())
+                    log.debug("Invalid transaction state transition [invalid=" + state + ", cur=" + this.state +
+                        ", tx=" + this + ']');
+            }
+        }
+        finally {
+            unlock();
+        }
+
+        if (notify) {
+            GridFutureAdapter<IgniteTx> fut = finFut.get();
+
+            if (fut != null)
+                fut.onDone(this);
+        }
+
+        if (valid) {
+            // Seal transactions maps.
+            if (state != ACTIVE)
+                seal();
+
+            cctx.tm().onTxStateChange(prev, state, this);
+        }
+
+        return valid;
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheVersion startVersion() {
+        return startVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheVersion endVersion() {
+        return endVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void endVersion(GridCacheVersion endVer) {
+        this.endVer = endVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheVersion writeVersion() {
+        return writeVer == null ? commitVersion() : writeVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeVersion(GridCacheVersion writeVer) {
+        this.writeVer = writeVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteUuid timeoutId() {
+        return xidVer.asGridUuid();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long endTime() {
+        long endTime = timeout == 0 ? Long.MAX_VALUE : startTime + timeout;
+
+        return endTime > 0 ? endTime : endTime < 0 ? Long.MAX_VALUE : endTime;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void onTimeout() {
+        state(MARKED_ROLLBACK, true);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean timedOut() {
+        return timedOut;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void invalidate(boolean invalidate) {
+        if (isStarted() && !dht())
+            throw new IllegalStateException("Cannot change invalidation flag after transaction has started: " + this);
+
+        this.invalidate = invalidate;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isInvalidate() {
+        return invalidate;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isSystemInvalidate() {
+        return sysInvalidate;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void systemInvalidate(boolean sysInvalidate) {
+        this.sysInvalidate = sysInvalidate;
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public Map<UUID, Collection<UUID>> transactionNodes() {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public GridCacheVersion nearXidVersion() {
+        return null;
+    }
+
+    /**
+     * @param txEntry Entry to process.
+     * @param metrics {@code True} if metrics should be updated.
+     * @return Tuple containing transformation results.
+     * @throws IgniteCheckedException If failed to get previous value for transform.
+     * @throws GridCacheEntryRemovedException If entry was concurrently deleted.
+     */
+    protected GridTuple3<GridCacheOperation, V, byte[]> applyTransformClosures(IgniteTxEntry<K, V> txEntry,
+        boolean metrics) throws GridCacheEntryRemovedException, IgniteCheckedException {
+        GridCacheContext cacheCtx = txEntry.context();
+
+        assert cacheCtx != null;
+
+        if (isSystemInvalidate())
+            return F.t(cacheCtx.isStoreEnabled() ? RELOAD : DELETE, null, null);
+        if (F.isEmpty(txEntry.transformClosures()))
+            return F.t(txEntry.op(), txEntry.value(), txEntry.valueBytes());
+        else {
+            try {
+                boolean recordEvt = cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ);
+
+                V val = txEntry.hasValue() ? txEntry.value() :
+                    txEntry.cached().innerGet(this,
+                        /*swap*/false,
+                        /*read through*/false,
+                        /*fail fast*/true,
+                        /*unmarshal*/true,
+                        /*metrics*/metrics,
+                        /*event*/recordEvt,
+                        /*temporary*/true,
+                        /*subjId*/subjId,
+                        /**closure name */recordEvt ? F.first(txEntry.transformClosures()) : null,
+                        resolveTaskName(),
+                        CU.<K, V>empty());
+
+                try {
+                    for (IgniteClosure<V, V> clos : txEntry.transformClosures())
+                        val = clos.apply(val);
+                }
+                catch (Throwable e) {
+                    throw new IgniteException("Transform closure must not throw any exceptions " +
+                        "(transaction will be invalidated)", e);
+                }
+
+                GridCacheOperation op = val == null ? DELETE : UPDATE;
+
+                return F.t(op, (V)cacheCtx.<V>unwrapTemporary(val), null);
+            }
+            catch (GridCacheFilterFailedException e) {
+                assert false : "Empty filter failed for innerGet: " + e;
+
+                return null;
+            }
+        }
+    }
+
+    /**
+     * @return Resolves task name.
+     */
+    public String resolveTaskName() {
+        if (taskName != null)
+            return taskName;
+
+        return (taskName = cctx.kernalContext().task().resolveTaskName(taskNameHash));
+    }
+
+    /**
+     * @param e Transaction entry.
+     * @param primaryOnly Flag to include backups into check or not.
+     * @return {@code True} if entry is locally mapped as a primary or back up node.
+     */
+    protected boolean isNearLocallyMapped(IgniteTxEntry<K, V> e, boolean primaryOnly) {
+        GridCacheContext<K, V> cacheCtx = e.context();
+
+        if (!cacheCtx.isNear())
+            return false;
+
+        // Try to take either entry-recorded primary node ID,
+        // or transaction node ID from near-local transactions.
+        UUID nodeId = e.nodeId() == null ? local() ? this.nodeId :  null : e.nodeId();
+
+        if (nodeId != null && nodeId.equals(cctx.localNodeId()))
+            return true;
+
+        GridCacheEntryEx<K, V> cached = e.cached();
+
+        int part = cached != null ? cached.partition() : cacheCtx.affinity().partition(e.key());
+
+        List<ClusterNode> affNodes = cacheCtx.affinity().nodes(part, topologyVersion());
+
+        e.locallyMapped(F.contains(affNodes, cctx.localNode()));
+
+        if (primaryOnly) {
+            ClusterNode primary = F.first(affNodes);
+
+            if (primary == null && !isAffinityNode(cacheCtx.config()))
+                return false;
+
+            assert primary != null : "Primary node is null for affinity nodes: " + affNodes;
+
+            return primary.isLocal();
+        }
+        else
+            return e.locallyMapped();
+    }
+
+    /**
+     * @param e Entry to evict if it qualifies for eviction.
+     * @param primaryOnly Flag to try to evict only on primary node.
+     * @return {@code True} if attempt was made to evict the entry.
+     * @throws IgniteCheckedException If failed.
+     */
+    protected boolean evictNearEntry(IgniteTxEntry<K, V> e, boolean primaryOnly) throws IgniteCheckedException {
+        assert e != null;
+
+        if (isNearLocallyMapped(e, primaryOnly)) {
+            GridCacheEntryEx<K, V> cached = e.cached();
+
+            assert cached instanceof GridNearCacheEntry : "Invalid cache entry: " + e;
+
+            if (log.isDebugEnabled())
+                log.debug("Evicting dht-local entry from near cache [entry=" + cached + ", tx=" + this + ']');
+
+            if (cached != null && cached.markObsolete(xidVer))
+                return true;
+        }
+
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        writeExternalMeta(out);
+
+        out.writeObject(xidVer);
+        out.writeBoolean(invalidate);
+        out.writeLong(timeout);
+        out.writeLong(threadId);
+        out.writeLong(startTime);
+
+        U.writeUuid(out, nodeId);
+
+        out.write(isolation.ordinal());
+        out.write(concurrency.ordinal());
+        out.write(state().ordinal());
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        readExternalMeta(in);
+
+        xidVer = (GridCacheVersion)in.readObject();
+        invalidate = in.readBoolean();
+        timeout = in.readLong();
+        threadId = in.readLong();
+        startTime = in.readLong();
+
+        nodeId = U.readUuid(in);
+
+        isolation = IgniteTxIsolation.fromOrdinal(in.read());
+        concurrency = IgniteTxConcurrency.fromOrdinal(in.read());
+
+        state = IgniteTxState.fromOrdinal(in.read());
+    }
+
+    /**
+     * Reconstructs object on unmarshalling.
+     *
+     * @return Reconstructed object.
+     * @throws ObjectStreamException Thrown in case of unmarshalling error.
+     */
+    protected Object readResolve() throws ObjectStreamException {
+        return new TxShadow(
+            xidVer.asGridUuid(),
+            nodeId,
+            threadId,
+            startTime,
+            isolation,
+            concurrency,
+            invalidate,
+            implicit,
+            timeout,
+            state(),
+            isRollbackOnly()
+        );
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean equals(Object o) {
+        return o == this || (o instanceof IgniteTxAdapter && xidVer.equals(((IgniteTxAdapter)o).xidVer));
+    }
+
+    /** {@inheritDoc} */
+    @Override public int hashCode() {
+        return xidVer.hashCode();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return GridToStringBuilder.toString(IgniteTxAdapter.class, this,
+            "duration", (U.currentTimeMillis() - startTime) + "ms", "grpLock", groupLock(),
+            "onePhaseCommit", onePhaseCommit);
+    }
+
+    /**
+     * Transaction shadow class to be used for deserialization.
+     */
+    private static class TxShadow extends GridMetadataAwareAdapter implements IgniteTx {
+        /** */
+        private static final long serialVersionUID = 0L;
+
+        /** Xid. */
+        private final IgniteUuid xid;
+
+        /** Node ID. */
+        private final UUID nodeId;
+
+        /** Thread ID. */
+        private final long threadId;
+
+        /** Start time. */
+        private final long startTime;
+
+        /** Transaction isolation. */
+        private final IgniteTxIsolation isolation;
+
+        /** Concurrency. */
+        private final IgniteTxConcurrency concurrency;
+
+        /** Invalidate flag. */
+        private final boolean invalidate;
+
+        /** Timeout. */
+        private final long timeout;
+
+        /** State. */
+        private final IgniteTxState state;
+
+        /** Rollback only flag. */
+        private final boolean rollbackOnly;
+
+        /** Implicit flag. */
+        private final boolean implicit;
+
+        /**
+         * @param xid Xid.
+         * @param nodeId Node ID.
+         * @param threadId Thread ID.
+         * @param startTime Start time.
+         * @param isolation Isolation.
+         * @param concurrency Concurrency.
+         * @param invalidate Invalidate flag.
+         * @param implicit Implicit flag.
+         * @param timeout Transaction timeout.
+         * @param state Transaction state.
+         * @param rollbackOnly Rollback-only flag.
+         */
+        TxShadow(IgniteUuid xid, UUID nodeId, long threadId, long startTime, IgniteTxIsolation isolation,
+            IgniteTxConcurrency concurrency, boolean invalidate, boolean implicit, long timeout,
+            IgniteTxState state, boolean rollbackOnly) {
+            this.xid = xid;
+            this.nodeId = nodeId;
+            this.threadId = threadId;
+            this.startTime = startTime;
+            this.isolation = isolation;
+            this.concurrency = concurrency;
+            this.invalidate = invalidate;
+            this.implicit = implicit;
+            this.timeout = timeout;
+            this.state = state;
+            this.rollbackOnly = rollbackOnly;
+        }
+
+        /** {@inheritDoc} */
+        @Override public IgniteUuid xid() {
+            return xid;
+        }
+
+        /** {@inheritDoc} */
+        @Override public UUID nodeId() {
+            return nodeId;
+        }
+
+        /** {@inheritDoc} */
+        @Override public long threadId() {
+            return threadId;
+        }
+
+        /** {@inheritDoc} */
+        @Override public long startTime() {
+            return startTime;
+        }
+
+        /** {@inheritDoc} */
+        @Override public IgniteTxIsolation isolation() {
+            return isolation;
+        }
+
+        /** {@inheritDoc} */
+        @Override public IgniteTxConcurrency concurrency() {
+            return concurrency;
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean isInvalidate() {
+            return invalidate;
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean implicit() {
+            return implicit;
+        }
+
+        /** {@inheritDoc} */
+        @Override public long timeout() {
+            return timeout;
+        }
+
+        /** {@inheritDoc} */
+        @Override public IgniteTxState state() {
+            return state;
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean isRollbackOnly() {
+            return rollbackOnly;
+        }
+
+        /** {@inheritDoc} */
+        @Override public long timeout(long timeout) {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean setRollbackOnly() {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public void commit() {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public void close() {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public IgniteFuture<IgniteTx> commitAsync() {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public void rollback() {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean equals(Object o) {
+            return this == o || o instanceof IgniteTx && xid.equals(((IgniteTx)o).xid());
+        }
+
+        /** {@inheritDoc} */
+        @Override public int hashCode() {
+            return xid.hashCode();
+        }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return S.toString(TxShadow.class, this);
+        }
+    }
+}


[50/50] [abbrv] incubator-ignite git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-32

Posted by sb...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-ignite into ignite-32


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/61b81e75
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/61b81e75
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/61b81e75

Branch: refs/heads/ignite-32
Commit: 61b81e75e9cd5b71f280c5c209429901841f45c6
Parents: 0dafc25 3f25425
Author: AKuznetsov <ak...@gridgain.com>
Authored: Tue Dec 23 10:12:45 2014 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Tue Dec 23 10:12:45 2014 +0700

----------------------------------------------------------------------
 .../datagrid/CacheTransactionExample.java       |    8 +-
 .../datagrid/store/CacheStoreExample.java       |    4 +-
 .../store/dummy/CacheDummyPersonStore.java      |    8 +-
 .../hibernate/CacheHibernatePersonStore.java    |   16 +-
 .../store/jdbc/CacheJdbcPersonStore.java        |   14 +-
 .../org/gridgain/client/GridHashMapStore.java   |    8 +-
 .../GridClientAbstractMultiNodeSelfTest.java    |   14 +-
 .../integration/GridClientAbstractSelfTest.java |    7 +-
 .../client/suite/GridClientTestSuite.java       |    4 -
 .../java/META-INF/native/linux64/libggshmem.so  |  Bin 161925 -> 138023 bytes
 .../java/org/apache/ignite/IgniteCache.java     |   14 +-
 .../java/org/apache/ignite/IgniteCompute.java   |   91 +-
 .../java/org/apache/ignite/IgniteManaged.java   |   47 +-
 .../org/apache/ignite/IgniteTransactions.java   |   33 +-
 .../java/org/apache/ignite/cache/CacheFlag.java |    3 +-
 .../configuration/IgniteConfiguration.java      |    6 +-
 .../TransactionsConfiguration.java              |  194 ++
 .../processors/cache/IgniteCacheProxy.java      |  601 ++++
 .../ignite/lang/IgniteAsyncSupported.java       |   29 +
 .../org/apache/ignite/lang/IgniteFuture.java    |   10 +-
 .../communication/tcp/TcpCommunicationSpi.java  |    2 +-
 .../tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java |    7 +-
 .../apache/ignite/transactions/IgniteTx.java    |  239 ++
 .../transactions/IgniteTxConcurrency.java       |   37 +
 .../IgniteTxHeuristicException.java             |   43 +
 .../ignite/transactions/IgniteTxIsolation.java  |   41 +
 .../ignite/transactions/IgniteTxMetrics.java    |   45 +
 .../IgniteTxOptimisticException.java            |   39 +
 .../transactions/IgniteTxRollbackException.java |   39 +
 .../ignite/transactions/IgniteTxState.java      |   57 +
 .../transactions/IgniteTxSynchronization.java   |   38 +
 .../transactions/IgniteTxTimeoutException.java  |   39 +
 .../java/org/gridgain/grid/cache/GridCache.java |   11 +-
 .../grid/cache/GridCacheAtomicityMode.java      |    3 +-
 .../grid/cache/GridCacheConfiguration.java      |  123 +-
 .../org/gridgain/grid/cache/GridCacheEntry.java |    9 +-
 .../org/gridgain/grid/cache/GridCacheFlag.java  |    3 +-
 .../grid/cache/GridCacheProjection.java         |  129 +-
 .../org/gridgain/grid/cache/GridCacheTx.java    |  243 --
 .../grid/cache/GridCacheTxConcurrency.java      |   37 -
 .../cache/GridCacheTxHeuristicException.java    |   43 -
 .../grid/cache/GridCacheTxIsolation.java        |   41 -
 .../gridgain/grid/cache/GridCacheTxMetrics.java |   45 -
 .../grid/cache/GridCacheTxMetricsAdapter.java   |  108 -
 .../cache/GridCacheTxOptimisticException.java   |   39 -
 .../cache/GridCacheTxRollbackException.java     |   39 -
 .../gridgain/grid/cache/GridCacheTxState.java   |   57 -
 .../grid/cache/GridCacheTxSynchronization.java  |   37 -
 .../grid/cache/GridCacheTxTimeoutException.java |   39 -
 .../GridCacheWriteSynchronizationMode.java      |    5 +-
 .../cache/GridTransactionsConfiguration.java    |  190 --
 .../store/GridCacheLoadOnlyStoreAdapter.java    |   16 +-
 .../grid/cache/store/GridCacheStore.java        |   27 +-
 .../grid/cache/store/GridCacheStoreAdapter.java |   17 +-
 .../store/GridCacheStoreBalancingWrapper.java   |   16 +-
 .../store/jdbc/GridCacheJdbcBlobStore.java      |   15 +-
 .../org/gridgain/grid/kernal/GridGainEx.java    |    2 +-
 .../org/gridgain/grid/kernal/GridKernal.java    |   15 +-
 .../gridgain/grid/kernal/GridKernalContext.java |    2 +-
 .../grid/kernal/GridNodeAttributes.java         |    3 +
 .../grid/kernal/IgniteTransactionsEx.java       |   34 +
 .../affinity/GridAffinityAssignmentCache.java   |    1 -
 .../processors/cache/GridCacheAdapter.java      |  296 +-
 .../processors/cache/GridCacheAttributes.java   |   40 -
 .../processors/cache/GridCacheContext.java      |   34 +-
 .../processors/cache/GridCacheEntryEx.java      |   15 +-
 .../processors/cache/GridCacheEntryImpl.java    |   11 +-
 .../processors/cache/GridCacheEventManager.java |    8 +-
 .../cache/GridCacheEvictionEntry.java           |    9 +-
 .../cache/GridCacheEvictionManager.java         |   73 +-
 .../processors/cache/GridCacheIoManager.java    |   32 +-
 .../processors/cache/GridCacheMapEntry.java     |   56 +-
 .../processors/cache/GridCacheMessage.java      |    9 +-
 .../cache/GridCacheMultiTxFuture.java           |   19 +-
 .../kernal/processors/cache/GridCacheMvcc.java  |    3 +-
 .../processors/cache/GridCacheMvccManager.java  |   19 +-
 .../GridCachePartitionExchangeManager.java      |   35 +-
 .../processors/cache/GridCacheProcessor.java    |  124 +-
 .../processors/cache/GridCacheProjectionEx.java |    9 +-
 .../cache/GridCacheProjectionImpl.java          |   29 +-
 .../processors/cache/GridCacheProxyImpl.java    |   23 +-
 .../cache/GridCacheSharedContext.java           |   61 +-
 .../processors/cache/GridCacheStoreManager.java |   27 +-
 .../processors/cache/GridCacheTxAdapter.java    | 1479 --------
 .../processors/cache/GridCacheTxEntry.java      | 1059 ------
 .../kernal/processors/cache/GridCacheTxEx.java  |  503 ---
 .../processors/cache/GridCacheTxHandler.java    | 1478 --------
 .../kernal/processors/cache/GridCacheTxKey.java |   97 -
 .../cache/GridCacheTxLocalAdapter.java          | 3183 ------------------
 .../processors/cache/GridCacheTxLocalEx.java    |  166 -
 .../processors/cache/GridCacheTxManager.java    | 2194 ------------
 .../kernal/processors/cache/GridCacheTxMap.java |  179 -
 .../processors/cache/GridCacheTxProxy.java      |   19 -
 .../processors/cache/GridCacheTxProxyImpl.java  |  303 --
 .../processors/cache/GridCacheTxRemoteEx.java   |   37 -
 .../kernal/processors/cache/GridCacheUtils.java |   89 +-
 .../cache/GridCacheVersionManager.java          |    2 +-
 .../cache/GridCacheWriteBehindStore.java        |   15 +-
 .../datastructures/GridCacheAtomicLongImpl.java |   21 +-
 .../GridCacheAtomicReferenceImpl.java           |   10 +-
 .../GridCacheAtomicSequenceImpl.java            |    8 +-
 .../GridCacheAtomicStampedImpl.java             |   10 +-
 .../GridCacheCountDownLatchImpl.java            |   10 +-
 .../GridCacheDataStructuresManager.java         |   29 +-
 .../GridTransactionalCacheQueueImpl.java        |   14 +-
 .../distributed/GridCacheCommittedTxInfo.java   |    9 +-
 ...ridCacheOptimisticCheckPreparedTxFuture.java |    6 +-
 ...idCacheOptimisticCheckPreparedTxRequest.java |    3 +-
 .../GridCachePerThreadTxCommitBuffer.java       |    3 +-
 ...dCachePessimisticCheckCommittedTxFuture.java |    9 +-
 ...CachePessimisticCheckCommittedTxRequest.java |    3 +-
 .../distributed/GridCacheTxCommitBuffer.java    |    3 +-
 .../GridDistributedCacheAdapter.java            |   12 +-
 .../distributed/GridDistributedCacheEntry.java  |   47 +-
 .../distributed/GridDistributedLockRequest.java |   23 +-
 .../GridDistributedTxFinishRequest.java         |   57 +-
 .../distributed/GridDistributedTxMapping.java   |   31 +-
 .../GridDistributedTxPrepareRequest.java        |   91 +-
 .../GridDistributedTxRemoteAdapter.java         |   87 +-
 .../distributed/dht/GridDhtCacheEntry.java      |   65 +-
 .../distributed/dht/GridDhtCacheEntryImpl.java  |    2 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |    5 +-
 .../distributed/dht/GridDhtLockFuture.java      |   12 +-
 .../distributed/dht/GridDhtLockRequest.java     |    9 +-
 .../distributed/dht/GridDhtLockResponse.java    |    7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   53 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |   28 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   79 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   91 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   79 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |   84 +-
 .../dht/GridDhtTxPrepareRequest.java            |   73 +-
 .../dht/GridDhtTxPrepareResponse.java           |    7 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   37 +-
 .../dht/atomic/GridDhtAtomicCache.java          |   69 +-
 .../dht/colocated/GridDhtColocatedCache.java    |   12 +-
 .../colocated/GridDhtColocatedLockFuture.java   |   19 +-
 .../preloader/GridDhtPartitionDemandPool.java   |    7 +-
 .../preloader/GridDhtPartitionSupplyPool.java   |    5 +-
 .../GridDhtPartitionsExchangeFuture.java        |   11 +-
 .../distributed/near/GridNearAtomicCache.java   |    6 +-
 .../distributed/near/GridNearCacheAdapter.java  |    7 +-
 .../distributed/near/GridNearCacheEntry.java    |   16 +-
 .../distributed/near/GridNearGetFuture.java     |    8 +-
 .../distributed/near/GridNearLockFuture.java    |   17 +-
 .../distributed/near/GridNearLockRequest.java   |   33 +-
 .../near/GridNearTransactionalCache.java        |   23 +-
 .../near/GridNearTxFinishFuture.java            |   33 +-
 .../near/GridNearTxFinishRequest.java           |   55 +-
 .../cache/distributed/near/GridNearTxLocal.java |  160 +-
 .../near/GridNearTxPrepareFuture.java           |  110 +-
 .../near/GridNearTxPrepareRequest.java          |   47 +-
 .../near/GridNearTxPrepareResponse.java         |   15 +-
 .../distributed/near/GridNearTxRemote.java      |   53 +-
 .../processors/cache/dr/GridCacheDrManager.java |    3 +-
 .../cache/dr/os/GridOsCacheDrManager.java       |    3 +-
 .../processors/cache/local/GridLocalCache.java  |   10 +-
 .../cache/local/GridLocalCacheEntry.java        |    5 +-
 .../cache/local/GridLocalLockFuture.java        |    6 +-
 .../processors/cache/local/GridLocalTx.java     |   32 +-
 .../cache/local/GridLocalTxFuture.java          |   28 +-
 .../local/atomic/GridLocalAtomicCache.java      |    6 +-
 .../cache/query/GridCacheQueryAdapter.java      |   46 +-
 .../GridCacheContinuousQueryManager.java        |   11 +-
 .../transactions/IgniteTransactionsImpl.java    |  165 +-
 .../cache/transactions/IgniteTxAdapter.java     | 1548 +++++++++
 .../cache/transactions/IgniteTxEntry.java       | 1060 ++++++
 .../cache/transactions/IgniteTxEx.java          |  526 +++
 .../cache/transactions/IgniteTxHandler.java     | 1493 ++++++++
 .../cache/transactions/IgniteTxKey.java         |   97 +
 .../transactions/IgniteTxLocalAdapter.java      | 3179 +++++++++++++++++
 .../cache/transactions/IgniteTxLocalEx.java     |  162 +
 .../cache/transactions/IgniteTxManager.java     | 2213 ++++++++++++
 .../cache/transactions/IgniteTxMap.java         |  179 +
 .../transactions/IgniteTxMetricsAdapter.java    |  108 +
 .../cache/transactions/IgniteTxProxy.java       |   19 +
 .../cache/transactions/IgniteTxProxyImpl.java   |  364 ++
 .../cache/transactions/IgniteTxRemoteEx.java    |   39 +
 .../dataload/GridDataLoadCacheUpdaters.java     |    7 +-
 .../processors/ggfs/GridGgfsDataManager.java    |    9 +-
 .../processors/ggfs/GridGgfsMetaManager.java    |   31 +-
 .../handlers/cache/GridCacheCommandHandler.java |    8 +-
 .../service/GridServiceProcessor.java           |    7 +-
 .../cache/VisorCacheDefaultConfiguration.java   |   13 +-
 .../visor/cache/VisorCacheDgcConfiguration.java |    4 -
 .../kernal/visor/cache/VisorCacheMetrics.java   |   13 +-
 .../java/org/gridgain/grid/util/GridUtils.java  |   19 +
 .../grid/util/future/GridCompoundFuture.java    |    4 +-
 .../ipc/shmem/GridIpcSharedMemorySpace.java     |    1 -
 .../core/src/test/config/spring-multicache.xml  |   16 -
 .../processors/cache/IgniteCacheTest.java       |  113 +
 .../tcp/GridCacheDhtLockBackupSelfTest.java     |    7 -
 .../store/GridCacheBalancingStoreSelfTest.java  |   16 +-
 .../cache/store/GridGeneratingTestStore.java    |   16 +-
 ...CacheJdbcBlobStoreMultithreadedSelfTest.java |    3 +-
 .../grid/kernal/GridStartStopSelfTest.java      |    7 +-
 .../GridDeploymentMessageCountSelfTest.java     |    2 +-
 .../GridCacheAbstractFailoverSelfTest.java      |   19 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |  238 +-
 .../cache/GridCacheAbstractMetricsSelfTest.java |    9 +-
 .../GridCacheAbstractProjectionSelfTest.java    |   12 +-
 .../GridCacheAbstractRemoveFailureTest.java     |    9 -
 .../cache/GridCacheAbstractSelfTest.java        |    9 +-
 .../cache/GridCacheAbstractTtlSelfTest.java     |    3 +-
 .../cache/GridCacheAbstractTxReadTest.java      |   17 +-
 .../cache/GridCacheBasicStoreAbstractTest.java  |   11 +-
 ...acheBasicStoreMultithreadedAbstractTest.java |    7 +-
 .../cache/GridCacheClearAllSelfTest.java        |    3 +-
 ...dCacheColocatedTxStoreExceptionSelfTest.java |    2 +-
 .../GridCacheConcurrentTxMultiNodeTest.java     |    8 +-
 ...idCacheConfigurationConsistencySelfTest.java |   16 +-
 .../GridCacheDaemonNodeAbstractSelfTest.java    |    9 +-
 .../cache/GridCacheDeploymentSelfTest.java      |    7 +-
 .../GridCacheExAbstractFullApiSelfTest.java     |    7 +-
 .../GridCacheFinishPartitionsSelfTest.java      |    9 +-
 .../cache/GridCacheGenericTestStore.java        |   32 +-
 .../GridCacheGroupLockAbstractSelfTest.java     |  118 +-
 .../GridCacheGroupLockFailoverSelfTest.java     |    3 -
 .../cache/GridCacheGroupLockPutTask.java        |    8 +-
 .../GridCacheInterceptorAbstractSelfTest.java   |   13 +-
 .../GridCacheInterceptorSelfTestSuite.java      |    6 +-
 .../cache/GridCacheLifecycleAwareSelfTest.java  |   18 +-
 .../GridCacheLocalTxStoreExceptionSelfTest.java |    2 +-
 .../GridCacheMarshallerTxAbstractTest.java      |    8 +-
 ...GridCacheMixedPartitionExchangeSelfTest.java |    7 +-
 .../cache/GridCacheMultiUpdateLockSelfTest.java |    9 +-
 .../cache/GridCacheMvccManagerSelfTest.java     |    3 +-
 .../GridCacheNearTxStoreExceptionSelfTest.java  |    2 +-
 .../cache/GridCacheNestedTxAbstractTest.java    |   11 +-
 .../cache/GridCacheObjectToStringSelfTest.java  |    7 +-
 ...HeapMultiThreadedUpdateAbstractSelfTest.java |    2 +-
 ...CacheOffHeapMultiThreadedUpdateSelfTest.java |   21 +-
 .../GridCacheOffHeapTieredAbstractSelfTest.java |   23 +-
 .../cache/GridCacheOffheapUpdateSelfTest.java   |   15 +-
 .../cache/GridCachePartitionedWritesTest.java   |    9 +-
 .../cache/GridCachePutAllFailoverSelfTest.java  |    3 -
 .../GridCacheReferenceCleanupSelfTest.java      |   12 +-
 .../GridCacheRefreshAheadAbstractSelfTest.java  |    7 +-
 .../cache/GridCacheReloadSelfTest.java          |    7 +-
 ...CacheReplicatedTxStoreExceptionSelfTest.java |    2 +-
 .../cache/GridCacheSlowTxWarnTest.java          |    3 +-
 .../processors/cache/GridCacheStopSelfTest.java |    3 +-
 .../cache/GridCacheStorePutxSelfTest.java       |   17 +-
 .../cache/GridCacheSwapReloadSelfTest.java      |    7 +-
 .../processors/cache/GridCacheTestEntryEx.java  |   17 +-
 .../processors/cache/GridCacheTestStore.java    |   37 +-
 ...cheTransactionalAbstractMetricsSelfTest.java |   43 +-
 .../cache/GridCacheTxAbstractTest.java          |  484 ---
 .../GridCacheTxConcurrentGetAbstractTest.java   |  134 -
 .../GridCacheTxExceptionAbstractSelfTest.java   |  630 ----
 .../cache/GridCacheTxMultiNodeAbstractTest.java |  918 -----
 .../GridCacheTxMultiThreadedAbstractTest.java   |  275 --
 .../GridCacheTxReentryAbstractSelfTest.java     |  168 -
 .../GridCacheTxSingleThreadedAbstractTest.java  |  129 -
 ...idCacheTxStoreExceptionAbstractSelfTest.java |  630 ----
 .../GridCacheVariableTopologySelfTest.java      |    5 +-
 .../GridCacheWriteBehindStoreAbstractTest.java  |    9 +-
 ...BehindStorePartitionedMultiNodeSelfTest.java |    9 +-
 .../GridCacheWriteBehindStoreSelfTest.java      |    4 +-
 .../processors/cache/IgniteTxAbstractTest.java  |  484 +++
 .../IgniteTxConcurrentGetAbstractTest.java      |  134 +
 .../IgniteTxExceptionAbstractSelfTest.java      |  631 ++++
 .../cache/IgniteTxMultiNodeAbstractTest.java    |  918 +++++
 .../IgniteTxMultiThreadedAbstractTest.java      |  275 ++
 .../cache/IgniteTxReentryAbstractSelfTest.java  |  169 +
 .../IgniteTxSingleThreadedAbstractTest.java     |  129 +
 .../IgniteTxStoreExceptionAbstractSelfTest.java |  631 ++++
 .../GridCacheAtomicLongApiSelfTest.java         |    3 +-
 ...dCacheQueueMultiNodeConsistencySelfTest.java |    1 -
 .../GridCacheSequenceApiSelfAbstractTest.java   |    8 +-
 ...idCachePartitionedNodeRestartTxSelfTest.java |   13 +-
 ...PartitionedQueueCreateMultiNodeSelfTest.java |    7 +-
 ...dCachePartitionedQueueMultiNodeSelfTest.java |    1 -
 ...tractDistributedByteArrayValuesSelfTest.java |   11 +-
 .../GridCacheAbstractJobExecutionTest.java      |   12 +-
 .../GridCacheAbstractNodeRestartSelfTest.java   |   13 +-
 ...tractPartitionedByteArrayValuesSelfTest.java |    2 +-
 .../GridCacheAbstractPrimarySyncSelfTest.java   |    7 +-
 .../GridCacheBasicOpAbstractTest.java           |   10 +-
 .../GridCacheEntrySetAbstractSelfTest.java      |    7 +-
 .../distributed/GridCacheEventAbstractTest.java |   25 +-
 ...dCacheMultithreadedFailoverAbstractTest.java |    8 +-
 .../GridCacheNodeFailureAbstractTest.java       |   12 +-
 ...chePartitionedReloadAllAbstractSelfTest.java |    7 +-
 .../GridCacheTransformEventSelfTest.java        |   20 +-
 ...cheTxConsistencyRestartAbstractSelfTest.java |  193 --
 ...xOriginatingNodeFailureAbstractSelfTest.java |  294 --
 ...cOriginatingNodeFailureAbstractSelfTest.java |  488 ---
 .../GridCacheTxPreloadAbstractTest.java         |  191 --
 .../GridCacheTxTimeoutAbstractTest.java         |  147 -
 ...iteTxConsistencyRestartAbstractSelfTest.java |  194 ++
 ...xOriginatingNodeFailureAbstractSelfTest.java |  295 ++
 ...cOriginatingNodeFailureAbstractSelfTest.java |  493 +++
 .../IgniteTxPreloadAbstractTest.java            |  192 ++
 .../IgniteTxTimeoutAbstractTest.java            |  147 +
 ...heAbstractTransformWriteThroughSelfTest.java |    9 +-
 .../dht/GridCacheColocatedDebugTest.java        |   34 +-
 ...eColocatedOptimisticTransactionSelfTest.java |    7 +-
 .../GridCacheColocatedTxExceptionSelfTest.java  |    2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 ...dCacheColocatedTxSingleThreadedSelfTest.java |    2 +-
 .../dht/GridCacheDhtEntrySelfTest.java          |    3 +-
 .../dht/GridCacheDhtPreloadDelayedSelfTest.java |    2 +-
 ...ridCacheDhtPreloadMultiThreadedSelfTest.java |   17 +-
 .../dht/GridCacheDhtTxPreloadSelfTest.java      |    3 +-
 ...cheGroupLockPartitionedAbstractSelfTest.java |   11 +-
 ...ockPartitionedMultiNodeAbstractSelfTest.java |   14 +-
 ...dCachePartitionedTopologyChangeSelfTest.java |   14 +-
 ...itionedTxOriginatingNodeFailureSelfTest.java |    2 +-
 ...heTxConsistencyColocatedRestartSelfTest.java |   28 -
 .../GridCacheTxReentryColocatedSelfTest.java    |   71 -
 ...teTxConsistencyColocatedRestartSelfTest.java |   28 +
 .../dht/IgniteTxReentryColocatedSelfTest.java   |   71 +
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |   13 +-
 .../near/GridCacheGetStoreErrorSelfTest.java    |    7 +-
 .../near/GridCacheNearMultiGetSelfTest.java     |   14 +-
 .../near/GridCacheNearMultiNodeSelfTest.java    |   30 +-
 .../near/GridCacheNearOneNodeSelfTest.java      |   38 +-
 .../near/GridCacheNearOnlyTopologySelfTest.java |    9 +-
 .../GridCacheNearPartitionedClearSelfTest.java  |  142 +
 .../near/GridCacheNearTxExceptionSelfTest.java  |    2 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |   21 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 .../near/GridCacheNearTxPreloadSelfTest.java    |    3 +-
 ...ePartitionedBasicStoreMultiNodeSelfTest.java |   23 +-
 .../GridCachePartitionedEvictionSelfTest.java   |    9 +-
 ...titionedExplicitLockNodeFailureSelfTest.java |    1 -
 ...GridCachePartitionedFilteredPutSelfTest.java |    5 +-
 .../GridCachePartitionedLoadCacheSelfTest.java  |    7 +-
 ...achePartitionedMultiNodeCounterSelfTest.java |   14 +-
 ...idCachePartitionedMultiNodeLockSelfTest.java |    1 -
 ...ePartitionedMultiThreadedPutGetSelfTest.java |    9 +-
 ...GridCachePartitionedNodeFailureSelfTest.java |    1 -
 .../GridCachePartitionedNodeRestartTest.java    |    3 +-
 ...ePartitionedOptimisticTxNodeRestartTest.java |    6 +-
 ...achePartitionedPreloadLifecycleSelfTest.java |    6 +-
 .../GridCachePartitionedStorePutSelfTest.java   |    7 +-
 ...GridCachePartitionedTxConcurrentGetTest.java |    2 +-
 ...GridCachePartitionedTxMultiNodeSelfTest.java |    2 +-
 ...CachePartitionedTxMultiThreadedSelfTest.java |    2 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |   24 +-
 ...achePartitionedTxSingleThreadedSelfTest.java |    2 +-
 .../GridCachePartitionedTxTimeoutSelfTest.java  |    4 +-
 .../near/GridCachePutArrayValueSelfTest.java    |    2 -
 .../near/GridCacheTxReentryNearSelfTest.java    |   71 -
 .../near/GridPartitionedBackupLoadSelfTest.java |    7 +-
 .../near/IgniteTxReentryNearSelfTest.java       |   71 +
 .../GridCacheReplicatedEvictionSelfTest.java    |    8 +-
 .../GridCacheReplicatedInvalidateSelfTest.java  |   14 +-
 .../GridCacheReplicatedTxConcurrentGetTest.java |    2 +-
 .../GridCacheReplicatedTxExceptionSelfTest.java |    2 +-
 ...GridCacheReplicatedTxMultiNodeBasicTest.java |    2 +-
 ...dCacheReplicatedTxMultiThreadedSelfTest.java |    4 +-
 ...licatedTxOriginatingNodeFailureSelfTest.java |    2 +-
 ...ssimisticOriginatingNodeFailureSelfTest.java |    2 +-
 ...CacheReplicatedTxSingleThreadedSelfTest.java |    2 +-
 .../GridCacheReplicatedTxTimeoutSelfTest.java   |    2 +-
 .../replicated/GridReplicatedTxPreloadTest.java |    2 +-
 ...CacheReplicatedPreloadLifecycleSelfTest.java |    5 +-
 .../GridCacheReplicatedPreloadSelfTest.java     |    5 +-
 .../GridCacheBatchEvictUnswapSelfTest.java      |    8 +-
 ...heConcurrentEvictionConsistencySelfTest.java |    7 +-
 .../GridCacheConcurrentEvictionsSelfTest.java   |    4 +-
 .../GridCacheDistributedEvictionsSelfTest.java  |    7 +-
 .../GridCacheEmptyEntriesAbstractSelfTest.java  |   21 +-
 .../eviction/GridCacheEvictionAbstractTest.java |    9 +-
 .../GridCacheEvictionFilterSelfTest.java        |    2 +-
 .../GridCacheEvictionTouchSelfTest.java         |   21 +-
 .../GridCacheLruNearEvictionPolicySelfTest.java |    2 +-
 .../GridCacheRandomEvictionPolicySelfTest.java  |    2 +-
 .../GridCacheLocalByteArrayValuesSelfTest.java  |   11 +-
 .../local/GridCacheLocalLoadAllSelfTest.java    |   10 +-
 .../GridCacheLocalTxExceptionSelfTest.java      |    2 +-
 .../GridCacheLocalTxMultiThreadedSelfTest.java  |    4 +-
 .../GridCacheLocalTxSingleThreadedSelfTest.java |    2 +-
 .../local/GridCacheLocalTxTimeoutSelfTest.java  |   16 +-
 ...ridCacheContinuousQueryAbstractSelfTest.java |    8 +-
 .../GridDataLoaderProcessorSelfTest.java        |   12 +-
 .../ggfs/GridGgfsDataManagerSelfTest.java       |    7 +-
 .../processors/ggfs/GridGgfsSizeSelfTest.java   |    9 +-
 .../cache/GridCacheCommandHandlerSelfTest.java  |    2 +-
 .../cache/GridCacheAbstractLoadTest.java        |   14 +-
 ...ridCacheAffinityTransactionsOffHeapTest.java |    8 +-
 .../cache/GridCacheGroupLockComparisonTest.java |    7 +-
 .../GridCacheWriteBehindStoreLoadTest.java      |    7 +-
 .../colocation/GridTestCacheStore.java          |    8 +-
 .../GridCachePartitionedAtomicLongLoadTest.java |    7 +-
 .../gridgain/loadtests/dsi/GridDsiPerfJob.java  |    4 +-
 .../loadtests/hashmap/GridCacheTestContext.java |    4 +-
 .../loadtests/hashmap/GridHashMapLoadTest.java  |    5 +-
 .../swap/GridSwapEvictAllBenchmark.java         |    8 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   |   30 +-
 .../GridCacheDataStructuresSelfTestSuite.java   |   15 +-
 .../GridCacheEvictionSelfTestSuite.java         |    6 +-
 .../GridCacheFullApiSelfTestSuite.java          |    6 +-
 .../GridCacheMetricsSelfTestSuite.java          |    4 +-
 .../GridCacheWriteBehindTestSuite.java          |    4 +-
 .../bamboo/GridCacheFailoverTestSuite.java      |    4 -
 .../bamboo/GridDataGridRestartTestSuite.java    |    4 -
 .../bamboo/GridDataGridTestSuite.java           |   48 +-
 .../GridHibernateReadWriteAccessStrategy.java   |   10 +-
 .../hibernate/GridHibernateRegionFactory.java   |   15 +-
 .../hibernate/GridCacheHibernateBlobStore.java  |   17 +-
 .../cache/GridCacheAbstractQuerySelfTest.java   |   10 +-
 .../cache/GridCacheQueryLoadSelfTest.java       |    7 +-
 .../GridCacheQueryMultiThreadedSelfTest.java    |    9 +-
 ...idCachePartitionedHitsAndMissesSelfTest.java |    8 +-
 .../GridCacheReplicatedQuerySelfTest.java       |   44 +-
 .../testsuites/GridCacheQuerySelfTestSuite.java |   10 +-
 .../cache/jta/GridCacheJtaManager.java          |   24 +-
 .../cache/jta/GridCacheXAResource.java          |   12 +-
 .../processors/cache/GridCacheJtaSelfTest.java  |    5 +-
 .../java/org/gridgain/grid/GridSpringBean.java  |    4 +-
 .../cache/spring/GridSpringCacheManager.java    |    5 +-
 .../cache/websession/GridWebSessionFilter.java  |    8 +-
 415 files changed, 20906 insertions(+), 19252 deletions(-)
----------------------------------------------------------------------



[33/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
index bf4e90a..ec091d3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -40,7 +41,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
     /** Near writes. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxEntry<K, V>> nearWrites;
+    private Collection<IgniteTxEntry<K, V>> nearWrites;
 
     /** Serialized near writes. */
     @GridDirectCollection(byte[].class)
@@ -125,11 +126,11 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
         Collection<GridCacheVersion> rolledbackVers,
         Collection<GridCacheVersion> pendingVers,
         int txSize,
-        Collection<GridCacheTxEntry<K, V>> writes,
-        Collection<GridCacheTxEntry<K, V>> nearWrites,
-        Collection<GridCacheTxEntry<K, V>> recoverWrites,
+        Collection<IgniteTxEntry<K, V>> writes,
+        Collection<IgniteTxEntry<K, V>> nearWrites,
+        Collection<IgniteTxEntry<K, V>> recoverWrites,
         boolean onePhaseCommit,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         @Nullable UUID subjId,
         int taskNameHash
     ) {
@@ -160,8 +161,8 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
     /**
      * @return Near writes.
      */
-    public Collection<GridCacheTxEntry<K, V>> nearWrites() {
-        return nearWrites == null ? Collections.<GridCacheTxEntry<K, V>>emptyList() : nearWrites;
+    public Collection<IgniteTxEntry<K, V>> nearWrites() {
+        return nearWrites == null ? Collections.<IgniteTxEntry<K, V>>emptyList() : nearWrites;
     }
 
     /**
@@ -254,7 +255,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
 
             nearWritesBytes = new ArrayList<>(nearWrites.size());
 
-            for (GridCacheTxEntry<K, V> e : nearWrites)
+            for (IgniteTxEntry<K, V> e : nearWrites)
                 nearWritesBytes.add(ctx.marshaller().marshal(e));
         }
     }
@@ -267,7 +268,7 @@ public class GridDhtTxFinishRequest<K, V> extends GridDistributedTxFinishRequest
             nearWrites = new ArrayList<>(nearWritesBytes.size());
 
             for (byte[] arr : nearWritesBytes)
-                nearWrites.add(ctx.marshaller().<GridCacheTxEntry<K, V>>unmarshal(arr, ldr));
+                nearWrites.add(ctx.marshaller().<IgniteTxEntry<K, V>>unmarshal(arr, ldr));
 
             unmarshalTx(nearWrites, true, ctx, ldr);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
index 19b9ccc..7bb56c1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -16,6 +16,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -103,7 +104,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
         boolean invalidate,
         boolean storeEnabled,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         boolean partLock,
         Map<UUID, Collection<UUID>> txNodes,
         UUID subjId,
@@ -229,7 +230,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> future() {
+    @Override public IgniteFuture<IgniteTxEx<K, V>> future() {
         return prepFut.get();
     }
 
@@ -242,7 +243,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
 
     /** {@inheritDoc} */
     @Override @Nullable protected IgniteFuture<Boolean> addReader(long msgId, GridDhtCacheEntry<K, V> cached,
-        GridCacheTxEntry<K, V> entry, long topVer) {
+        IgniteTxEntry<K, V> entry, long topVer) {
         // Don't add local node as reader.
         if (!cctx.localNodeId().equals(nearNodeId)) {
             GridCacheContext<K, V> cacheCtx = cached.context();
@@ -264,18 +265,18 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
     }
 
     /** {@inheritDoc} */
-    @Override protected void updateExplicitVersion(GridCacheTxEntry<K, V> txEntry, GridCacheEntryEx<K, V> entry)
+    @Override protected void updateExplicitVersion(IgniteTxEntry<K, V> txEntry, GridCacheEntryEx<K, V> entry)
         throws GridCacheEntryRemovedException {
         // DHT local transactions don't have explicit locks.
         // No-op.
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> prepareAsync() {
+    @Override public IgniteFuture<IgniteTxEx<K, V>> prepareAsync() {
         if (optimistic()) {
             assert isSystemInvalidate();
 
-            return prepareAsync(null, null, Collections.<GridCacheTxKey<K>, GridCacheVersion>emptyMap(), 0, nearMiniId, null, true,
+            return prepareAsync(null, null, Collections.<IgniteTxKey<K>, GridCacheVersion>emptyMap(), 0, nearMiniId, null, true,
                 null);
         }
 
@@ -285,7 +286,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
         if (fut == null) {
             // Future must be created before any exception can be thrown.
             if (!prepFut.compareAndSet(null, fut = new GridDhtTxPrepareFuture<>(cctx, this, nearMiniId,
-                Collections.<GridCacheTxKey<K>, GridCacheVersion>emptyMap(), true, null)))
+                Collections.<IgniteTxKey<K>, GridCacheVersion>emptyMap(), true, null)))
                 return prepFut.get();
         }
         else
@@ -343,8 +344,8 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
      * @param lastBackups IDs of backup nodes receiving last prepare request.
      * @return Future that will be completed when locks are acquired.
      */
-    public IgniteFuture<GridCacheTxEx<K, V>> prepareAsync(@Nullable Iterable<GridCacheTxEntry<K, V>> reads,
-        @Nullable Iterable<GridCacheTxEntry<K, V>> writes, Map<GridCacheTxKey<K>, GridCacheVersion> verMap, long msgId,
+    public IgniteFuture<IgniteTxEx<K, V>> prepareAsync(@Nullable Iterable<IgniteTxEntry<K, V>> reads,
+        @Nullable Iterable<IgniteTxEntry<K, V>> writes, Map<IgniteTxKey<K>, GridCacheVersion> verMap, long msgId,
         IgniteUuid nearMiniId, Map<UUID, Collection<UUID>> txNodes, boolean last, Collection<UUID> lastBackups) {
         assert optimistic();
 
@@ -395,11 +396,11 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
 
         try {
             if (reads != null)
-                for (GridCacheTxEntry<K, V> e : reads)
+                for (IgniteTxEntry<K, V> e : reads)
                     addEntry(msgId, e);
 
             if (writes != null)
-                for (GridCacheTxEntry<K, V> e : writes)
+                for (IgniteTxEntry<K, V> e : writes)
                     addEntry(msgId, e);
 
             userPrepare();
@@ -476,8 +477,8 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
                 }
             }
             else
-                prep.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-                    @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> f) {
+                prep.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+                    @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> f) {
                         try {
                             f.get(); // Check for errors of a parent future.
 
@@ -564,8 +565,8 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
         else {
             prepFut.complete();
 
-            prepFut.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-                @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> f) {
+            prepFut.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+                @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> f) {
                     try {
                         f.get(); // Check for errors of a parent future.
                     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index 9c1578c..47e4b98 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -16,6 +16,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;
@@ -34,7 +35,7 @@ import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 /**
  * Replicated user transaction.
  */
-public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapter<K, V> {
+public abstract class GridDhtTxLocalAdapter<K, V> extends IgniteTxLocalAdapter<K, V> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -90,7 +91,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
         boolean invalidate,
         boolean storeEnabled,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         boolean partLock,
         @Nullable UUID subjId,
         int taskNameHash
@@ -128,7 +129,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
      * @return {@code True} if reader was added as a result of this call.
      */
     @Nullable protected abstract IgniteFuture<Boolean> addReader(long msgId, GridDhtCacheEntry<K, V> cached,
-        GridCacheTxEntry<K, V> entry, long topVer);
+        IgniteTxEntry<K, V> entry, long topVer);
 
     /**
      * @param commit Commit flag.
@@ -184,7 +185,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
             Map<ClusterNode, List<GridDhtCacheEntry<K, V>>> dhtEntryMap = null;
             Map<ClusterNode, List<GridDhtCacheEntry<K, V>>> nearEntryMap = null;
 
-            for (GridCacheTxEntry<K, V> e : allEntries()) {
+            for (IgniteTxEntry<K, V> e : allEntries()) {
                 assert e.cached() != null;
 
                 GridCacheContext<K, V> cacheCtx = e.cached().context();
@@ -321,7 +322,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
             if (log.isDebugEnabled())
                 log.debug("Removing mapping for entry [nodeId=" + nodeId + ", entry=" + entry + ']');
 
-            GridCacheTxEntry<K, V> txEntry = txMap.get(entry.txKey());
+            IgniteTxEntry<K, V> txEntry = txMap.get(entry.txKey());
 
             if (txEntry == null)
                 return false;
@@ -349,7 +350,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
             ClusterNode n = mapping.getKey();
 
             for (GridDhtCacheEntry<K, V> entry : mapping.getValue()) {
-                GridCacheTxEntry<K, V> txEntry = txMap.get(entry.txKey());
+                IgniteTxEntry<K, V> txEntry = txMap.get(entry.txKey());
 
                 if (txEntry != null) {
                     GridDistributedTxMapping<K, V> m = map.get(n.id());
@@ -376,7 +377,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
      * @return Future for active transactions for the time when reader was added.
      * @throws IgniteCheckedException If failed.
      */
-    @Nullable public IgniteFuture<Boolean> addEntry(long msgId, GridCacheTxEntry<K, V> e) throws IgniteCheckedException {
+    @Nullable public IgniteFuture<Boolean> addEntry(long msgId, IgniteTxEntry<K, V> e) throws IgniteCheckedException {
         init();
 
         IgniteTxState state = state();
@@ -397,7 +398,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
         GridDhtCacheAdapter<K, V> dhtCache = cacheCtx.isNear() ? cacheCtx.near().dht() : cacheCtx.dht();
 
         try {
-            GridCacheTxEntry<K, V> entry = txMap.get(e.txKey());
+            IgniteTxEntry<K, V> entry = txMap.get(e.txKey());
 
             if (entry != null) {
                 entry.op(e.op()); // Absolutely must set operation, as default is DELETE.
@@ -468,7 +469,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
     IgniteFuture<GridCacheReturn<V>> lockAllAsync(
         GridCacheContext<K, V> cacheCtx,
         Collection<GridCacheEntryEx<K, V>> entries,
-        List<GridCacheTxEntry<K, V>> writeEntries,
+        List<IgniteTxEntry<K, V>> writeEntries,
         boolean onePhaseCommit,
         GridCacheVersion[] drVers,
         long msgId,
@@ -507,7 +508,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
             for (GridCacheEntryEx<K, V> entry : entries) {
                 K key = entry.key();
 
-                GridCacheTxEntry<K, V> txEntry = entry(entry.txKey());
+                IgniteTxEntry<K, V> txEntry = entry(entry.txKey());
 
                 // First time access.
                 if (txEntry == null) {
@@ -517,7 +518,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
 
                     cached.unswap(!read, read);
 
-                    GridCacheTxEntry<K, V> w = writeEntries == null ? null : writeEntries.get(idx++);
+                    IgniteTxEntry<K, V> w = writeEntries == null ? null : writeEntries.get(idx++);
 
                     txEntry = addEntry(NOOP, null, null, cached, -1, CU.<K, V>empty(), false, -1L, -1L,
                         drVers != null ? drVers[drVerIdx++] : null);
@@ -613,7 +614,7 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
     }
 
     /** {@inheritDoc} */
-    @Override protected void addGroupTxMapping(Collection<GridCacheTxKey<K>> keys) {
+    @Override protected void addGroupTxMapping(Collection<IgniteTxKey<K>> keys) {
         assert groupLock();
 
         for (GridDistributedTxMapping<K, V> mapping : dhtMap.values())
@@ -626,8 +627,8 @@ public abstract class GridDhtTxLocalAdapter<K, V> extends GridCacheTxLocalAdapte
 
         Map<ClusterNode, List<GridDhtCacheEntry<K, V>>> locNearMap = null;
 
-        for (GridCacheTxKey<K> key : keys) {
-            GridCacheTxEntry<K, V> txEntry = entry(key);
+        for (IgniteTxKey<K> key : keys) {
+            IgniteTxEntry<K, V> txEntry = entry(key);
 
             if (!txEntry.groupLockEntry() || txEntry.context().isNear())
                 continue;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 2a6fd68..9c43989 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -16,6 +16,7 @@ import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -35,8 +36,8 @@ import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 /**
  *
  */
-public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFuture<GridCacheTxEx<K, V>>
-    implements GridCacheMvccFuture<K, V, GridCacheTxEx<K, V>> {
+public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFuture<IgniteTxEx<K, V>>
+    implements GridCacheMvccFuture<K, V, IgniteTxEx<K, V>> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -72,10 +73,10 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
     private AtomicBoolean mapped = new AtomicBoolean(false);
 
     /** Prepare reads. */
-    private Iterable<GridCacheTxEntry<K, V>> reads;
+    private Iterable<IgniteTxEntry<K, V>> reads;
 
     /** Prepare writes. */
-    private Iterable<GridCacheTxEntry<K, V>> writes;
+    private Iterable<IgniteTxEntry<K, V>> writes;
 
     /** Tx nodes. */
     private Map<UUID, Collection<UUID>> txNodes;
@@ -87,7 +88,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
     private IgniteUuid nearMiniId;
 
     /** DHT versions map. */
-    private Map<GridCacheTxKey<K>, GridCacheVersion> dhtVerMap;
+    private Map<IgniteTxKey<K>, GridCacheVersion> dhtVerMap;
 
     /** {@code True} if this is last prepare operation for node. */
     private boolean last;
@@ -111,13 +112,13 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * @param lastBackups IDs of backup nodes receiving last prepare request during this prepare.
      */
     public GridDhtTxPrepareFuture(GridCacheSharedContext<K, V> cctx, final GridDhtTxLocalAdapter<K, V> tx,
-        IgniteUuid nearMiniId, Map<GridCacheTxKey<K>, GridCacheVersion> dhtVerMap, boolean last, Collection<UUID> lastBackups) {
-        super(cctx.kernalContext(), new IgniteReducer<GridCacheTxEx<K, V>, GridCacheTxEx<K, V>>() {
-            @Override public boolean collect(GridCacheTxEx<K, V> e) {
+        IgniteUuid nearMiniId, Map<IgniteTxKey<K>, GridCacheVersion> dhtVerMap, boolean last, Collection<UUID> lastBackups) {
+        super(cctx.kernalContext(), new IgniteReducer<IgniteTxEx<K, V>, IgniteTxEx<K, V>>() {
+            @Override public boolean collect(IgniteTxEx<K, V> e) {
                 return true;
             }
 
-            @Override public GridCacheTxEx<K, V> reduce() {
+            @Override public IgniteTxEx<K, V> reduce() {
                 // Nothing to aggregate.
                 return tx;
             }
@@ -207,7 +208,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * @return {@code True} if all locks are owned.
      */
     private boolean checkLocks() {
-        for (GridCacheTxEntry<K, V> txEntry : tx.optimisticLockEntries()) {
+        for (IgniteTxEntry<K, V> txEntry : tx.optimisticLockEntries()) {
             while (true) {
                 GridCacheEntryEx<K, V> cached = txEntry.cached();
 
@@ -296,7 +297,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      */
     public void onResult(UUID nodeId, GridDhtTxPrepareResponse<K, V> res) {
         if (!isDone()) {
-            for (IgniteFuture<GridCacheTxEx<K, V>> fut : pending()) {
+            for (IgniteFuture<IgniteTxEx<K, V>> fut : pending()) {
                 if (isMini(fut)) {
                     MiniFuture f = (MiniFuture)fut;
 
@@ -320,10 +321,10 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
         if (log.isDebugEnabled())
             log.debug("Marking all local candidates as ready: " + this);
 
-        Iterable<GridCacheTxEntry<K, V>> checkEntries = tx.groupLock() ?
+        Iterable<IgniteTxEntry<K, V>> checkEntries = tx.groupLock() ?
             Collections.singletonList(tx.groupLockEntry()) : writes;
 
-        for (GridCacheTxEntry<K, V> txEntry : checkEntries) {
+        for (IgniteTxEntry<K, V> txEntry : checkEntries) {
             if (txEntry.cached().isLocal())
                 continue;
 
@@ -365,7 +366,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
     }
 
     /** {@inheritDoc} */
-    @Override public boolean onDone(GridCacheTxEx<K, V> tx0, Throwable err) {
+    @Override public boolean onDone(IgniteTxEx<K, V> tx0, Throwable err) {
         assert err != null || (initialized() && !hasPending()) : "On done called for prepare future that has " +
             "pending mini futures: " + this;
 
@@ -427,8 +428,8 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
     private void addDhtValues(GridNearTxPrepareResponse<K, V> res) {
         // Interceptor on near node needs old values to execute callbacks.
         if (!F.isEmpty(writes)) {
-            for (GridCacheTxEntry<K, V> e : writes) {
-                GridCacheTxEntry<K, V> txEntry = tx.entry(e.txKey());
+            for (IgniteTxEntry<K, V> e : writes) {
+                IgniteTxEntry<K, V> txEntry = tx.entry(e.txKey());
 
                 assert txEntry != null : "Missing tx entry for key [tx=" + tx + ", key=" + e.txKey() + ']';
 
@@ -464,8 +465,8 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
             }
         }
 
-        for (Map.Entry<GridCacheTxKey<K>, GridCacheVersion> ver : dhtVerMap.entrySet()) {
-            GridCacheTxEntry<K, V> txEntry = tx.entry(ver.getKey());
+        for (Map.Entry<IgniteTxKey<K>, GridCacheVersion> ver : dhtVerMap.entrySet()) {
+            IgniteTxEntry<K, V> txEntry = tx.entry(ver.getKey());
 
             if (res.hasOwnedValue(ver.getKey()))
                 continue;
@@ -544,7 +545,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * @param writes Write entries.
      * @param txNodes Transaction nodes mapping.
      */
-    public void prepare(Iterable<GridCacheTxEntry<K, V>> reads, Iterable<GridCacheTxEntry<K, V>> writes,
+    public void prepare(Iterable<IgniteTxEntry<K, V>> reads, Iterable<IgniteTxEntry<K, V>> writes,
         Map<UUID, Collection<UUID>> txNodes) {
         if (tx.empty()) {
             tx.setRollbackOnly();
@@ -584,12 +585,12 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
 
             // Assign keys to primary nodes.
             if (!F.isEmpty(reads)) {
-                for (GridCacheTxEntry<K, V> read : reads)
+                for (IgniteTxEntry<K, V> read : reads)
                     hasRemoteNodes |= map(tx.entry(read.txKey()), futDhtMap, futNearMap);
             }
 
             if (!F.isEmpty(writes)) {
-                for (GridCacheTxEntry<K, V> write : writes)
+                for (IgniteTxEntry<K, V> write : writes)
                     hasRemoteNodes |= map(tx.entry(write.txKey()), futDhtMap, futNearMap);
             }
 
@@ -612,7 +613,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
 
                 add(fut); // Append new future.
 
-                Collection<GridCacheTxEntry<K, V>> nearWrites = nearMapping == null ? null : nearMapping.writes();
+                Collection<IgniteTxEntry<K, V>> nearWrites = nearMapping == null ? null : nearMapping.writes();
 
                 GridDhtTxPrepareRequest<K, V> req = new GridDhtTxPrepareRequest<>(
                     futId,
@@ -631,7 +632,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
 
                 int idx = 0;
 
-                for (GridCacheTxEntry<K, V> entry : dhtMapping.writes()) {
+                for (IgniteTxEntry<K, V> entry : dhtMapping.writes()) {
                     try {
                         GridDhtCacheEntry<K, V> cached = (GridDhtCacheEntry<K, V>)entry.cached();
 
@@ -660,7 +661,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
                 }
 
                 if (!F.isEmpty(nearWrites)) {
-                    for (GridCacheTxEntry<K, V> entry : nearWrites) {
+                    for (IgniteTxEntry<K, V> entry : nearWrites) {
                         try {
                             GridCacheMvccCandidate<K> added = entry.cached().candidate(version());
 
@@ -713,7 +714,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
                         tx.subjectId(),
                         tx.taskNameHash());
 
-                    for (GridCacheTxEntry<K, V> entry : nearMapping.writes()) {
+                    for (IgniteTxEntry<K, V> entry : nearMapping.writes()) {
                         try {
                             GridCacheMvccCandidate<K> added = entry.cached().candidate(version());
 
@@ -757,7 +758,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * @return {@code True} if mapped.
      */
     private boolean map(
-        GridCacheTxEntry<K, V> entry,
+        IgniteTxEntry<K, V> entry,
         Map<UUID, GridDistributedTxMapping<K, V>> futDhtMap,
         Map<UUID, GridDistributedTxMapping<K, V>> futNearMap) {
         if (entry.cached().isLocal())
@@ -818,7 +819,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * @param locMap Exclude map.
      * @return {@code True} if mapped.
      */
-    private boolean map(GridCacheTxEntry<K, V> entry, Iterable<ClusterNode> nodes,
+    private boolean map(IgniteTxEntry<K, V> entry, Iterable<ClusterNode> nodes,
         Map<UUID, GridDistributedTxMapping<K, V>> globalMap, Map<UUID, GridDistributedTxMapping<K, V>> locMap) {
         boolean ret = false;
 
@@ -852,11 +853,11 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * @param baseVer Base version.
      * @return Collection of pending candidates versions.
      */
-    private Collection<GridCacheVersion> localDhtPendingVersions(Iterable<GridCacheTxEntry<K, V>> entries,
+    private Collection<GridCacheVersion> localDhtPendingVersions(Iterable<IgniteTxEntry<K, V>> entries,
         GridCacheVersion baseVer) {
         Collection<GridCacheVersion> lessPending = new GridLeanSet<>(5);
 
-        for (GridCacheTxEntry<K, V> entry : entries) {
+        for (IgniteTxEntry<K, V> entry : entries) {
             try {
                 for (GridCacheMvccCandidate cand : entry.cached().localCandidates()) {
                     if (cand.version().isLess(baseVer))
@@ -880,7 +881,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
      * Mini-future for get operations. Mini-futures are only waiting on a single
      * node as opposed to multiple nodes.
      */
-    private class MiniFuture extends GridFutureAdapter<GridCacheTxEx<K, V>> {
+    private class MiniFuture extends GridFutureAdapter<IgniteTxEx<K, V>> {
         /** */
         private static final long serialVersionUID = 0L;
 
@@ -970,7 +971,7 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
                 if (nearMapping != null && !F.isEmpty(res.nearEvicted())) {
                     nearMapping.evictReaders(res.nearEvicted());
 
-                    for (GridCacheTxEntry<K, V> entry : nearMapping.entries()) {
+                    for (IgniteTxEntry<K, V> entry : nearMapping.entries()) {
                         if (res.nearEvicted().contains(entry.txKey())) {
                             while (true) {
                                 try {
@@ -995,8 +996,8 @@ public final class GridDhtTxPrepareFuture<K, V> extends GridCompoundIdentityFutu
 
                 // Process invalid partitions (no need to remap).
                 if (!F.isEmpty(res.invalidPartitions())) {
-                    for (Iterator<GridCacheTxEntry<K, V>> it = dhtMapping.entries().iterator(); it.hasNext();) {
-                        GridCacheTxEntry<K, V> entry  = it.next();
+                    for (Iterator<IgniteTxEntry<K, V>> it = dhtMapping.entries().iterator(); it.hasNext();) {
+                        IgniteTxEntry<K, V> entry  = it.next();
 
                         if (res.invalidPartitions().contains(entry.cached().partition())) {
                             it.remove();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
index e6f9051..ed01977 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
@@ -49,7 +50,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
     /** Near writes. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxEntry<K, V>> nearWrites;
+    private Collection<IgniteTxEntry<K, V>> nearWrites;
 
     /** Serialized near writes. */
     @GridDirectCollection(byte[].class)
@@ -58,7 +59,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
     /** Owned versions by key. */
     @GridToStringInclude
     @GridDirectTransient
-    private Map<GridCacheTxKey<K>, GridCacheVersion> owned;
+    private Map<IgniteTxKey<K>, GridCacheVersion> owned;
 
     /** Owned versions bytes. */
     private byte[] ownedBytes;
@@ -106,9 +107,9 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
         IgniteUuid miniId,
         long topVer,
         GridDhtTxLocalAdapter<K, V> tx,
-        Collection<GridCacheTxEntry<K, V>> dhtWrites,
-        Collection<GridCacheTxEntry<K, V>> nearWrites,
-        GridCacheTxKey grpLockKey,
+        Collection<IgniteTxEntry<K, V>> dhtWrites,
+        Collection<IgniteTxEntry<K, V>> nearWrites,
+        IgniteTxKey grpLockKey,
         boolean partLock,
         Map<UUID, Collection<UUID>> txNodes,
         GridCacheVersion nearXidVer,
@@ -177,8 +178,8 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
     /**
      * @return Near writes.
      */
-    public Collection<GridCacheTxEntry<K, V>> nearWrites() {
-        return nearWrites == null ? Collections.<GridCacheTxEntry<K, V>>emptyList() : nearWrites;
+    public Collection<IgniteTxEntry<K, V>> nearWrites() {
+        return nearWrites == null ? Collections.<IgniteTxEntry<K, V>>emptyList() : nearWrites;
     }
 
     /**
@@ -244,7 +245,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
      * @param key Key.
      * @param ownerMapped Owner mapped version.
      */
-    public void owned(GridCacheTxKey<K> key, GridCacheVersion ownerMapped) {
+    public void owned(IgniteTxKey<K> key, GridCacheVersion ownerMapped) {
         if (owned == null)
             owned = new GridLeanMap<>(3);
 
@@ -254,7 +255,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
     /**
      * @return Owned versions map.
      */
-    public Map<GridCacheTxKey<K>, GridCacheVersion> owned() {
+    public Map<IgniteTxKey<K>, GridCacheVersion> owned() {
         return owned;
     }
 
@@ -267,7 +268,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
             ownedBytes = CU.marshal(ctx, owned);
 
             if (ctx.deploymentEnabled()) {
-                for (GridCacheTxKey<K> k : owned.keySet())
+                for (IgniteTxKey<K> k : owned.keySet())
                     prepareObject(k, ctx);
             }
         }
@@ -277,7 +278,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
 
             nearWritesBytes = new ArrayList<>(nearWrites.size());
 
-            for (GridCacheTxEntry<K, V> e : nearWrites)
+            for (IgniteTxEntry<K, V> e : nearWrites)
                 nearWritesBytes.add(ctx.marshaller().marshal(e));
         }
     }
@@ -293,7 +294,7 @@ public class GridDhtTxPrepareRequest<K, V> extends GridDistributedTxPrepareReque
             nearWrites = new ArrayList<>(nearWritesBytes.size());
 
             for (byte[] arr : nearWritesBytes)
-                nearWrites.add(ctx.marshaller().<GridCacheTxEntry<K, V>>unmarshal(arr, ldr));
+                nearWrites.add(ctx.marshaller().<IgniteTxEntry<K, V>>unmarshal(arr, ldr));
 
             unmarshalTx(nearWrites, true, ctx, ldr);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
index 1ada909..871d2f8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -32,7 +33,7 @@ public class GridDhtTxPrepareResponse<K, V> extends GridDistributedTxPrepareResp
     /** Evicted readers. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxKey<K>> nearEvicted;
+    private Collection<IgniteTxKey<K>> nearEvicted;
 
     /** */
     @GridDirectCollection(byte[].class)
@@ -99,14 +100,14 @@ public class GridDhtTxPrepareResponse<K, V> extends GridDistributedTxPrepareResp
     /**
      * @return Evicted readers.
      */
-    public Collection<GridCacheTxKey<K>> nearEvicted() {
+    public Collection<IgniteTxKey<K>> nearEvicted() {
         return nearEvicted;
     }
 
     /**
      * @param nearEvicted Evicted readers.
      */
-    public void nearEvicted(Collection<GridCacheTxKey<K>> nearEvicted) {
+    public void nearEvicted(Collection<IgniteTxKey<K>> nearEvicted) {
         this.nearEvicted = nearEvicted;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
index 380dc42..8c3f0e6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.tostring.*;
 import org.jdk8.backport.*;
 import org.jetbrains.annotations.*;
@@ -85,7 +86,7 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         boolean invalidate,
         long timeout,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         GridCacheVersion nearXidVer,
         Map<UUID, Collection<UUID>> txNodes,
         @Nullable UUID subjId,
@@ -145,7 +146,7 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
         boolean invalidate,
         long timeout,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         @Nullable UUID subjId,
         int taskNameHash
     ) {
@@ -230,8 +231,8 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
     @Override public void addInvalidPartition(GridCacheContext<K, V> cacheCtx, int part) {
         super.addInvalidPartition(cacheCtx, part);
 
-        for (Iterator<GridCacheTxEntry<K, V>> it = writeMap.values().iterator(); it.hasNext();) {
-            GridCacheTxEntry<K, V> e = it.next();
+        for (Iterator<IgniteTxEntry<K, V>> it = writeMap.values().iterator(); it.hasNext();) {
+            IgniteTxEntry<K, V> e = it.next();
 
             GridCacheEntryEx<K, V> cached = e.cached();
 
@@ -249,7 +250,7 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      * @param ldr Class loader.
      * @throws IgniteCheckedException If failed.
      */
-    public void addWrite(GridCacheTxEntry<K, V> entry, ClassLoader ldr) throws IgniteCheckedException {
+    public void addWrite(IgniteTxEntry<K, V> entry, ClassLoader ldr) throws IgniteCheckedException {
         entry.unmarshal(cctx, false, ldr);
 
         GridCacheContext<K, V> cacheCtx = entry.context();
@@ -280,7 +281,7 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
      * @param drVer Data center replication version.
      * @param clos Transform closures.
      */
-    public void addWrite(GridCacheContext<K, V> cacheCtx, GridCacheOperation op, GridCacheTxKey<K> key, byte[] keyBytes,
+    public void addWrite(GridCacheContext<K, V> cacheCtx, GridCacheOperation op, IgniteTxKey<K> key, byte[] keyBytes,
         @Nullable V val, @Nullable byte[] valBytes, @Nullable Collection<IgniteClosure<V, V>> clos,
         @Nullable GridCacheVersion drVer) {
         checkInternal(key);
@@ -290,7 +291,7 @@ public class GridDhtTxRemote<K, V> extends GridDistributedTxRemoteAdapter<K, V>
 
         GridDhtCacheEntry<K, V> cached = cacheCtx.dht().entryExx(key.key(), topologyVersion());
 
-        GridCacheTxEntry<K, V> txEntry = new GridCacheTxEntry<>(cacheCtx, this, op, val, 0L, -1L, cached, drVer);
+        IgniteTxEntry<K, V> txEntry = new IgniteTxEntry<>(cacheCtx, this, op, val, 0L, -1L, cached, drVer);
 
         txEntry.keyBytes(keyBytes);
         txEntry.valueBytes(valBytes);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index e879e5f..508943a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -21,6 +21,7 @@ import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.preloader.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
@@ -553,7 +554,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> {
     /** {@inheritDoc} */
     @Override protected IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys,
         long timeout,
-        @Nullable GridCacheTxLocalEx<K, V> tx,
+        @Nullable IgniteTxLocalEx<K, V> tx,
         boolean isInvalidate,
         boolean isRead,
         boolean retval,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index eeadf99..6776cc6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -19,6 +19,7 @@ import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;
@@ -158,11 +159,11 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte
         if (F.isEmpty(keys))
             return new GridFinishedFuture<>(ctx.kernalContext(), Collections.<K, V>emptyMap());
 
-        GridCacheTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
+        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
         if (tx != null && !tx.implicit() && !skipTx) {
             return asyncOp(tx, new AsyncOp<Map<K, V>>(keys) {
-                @Override public IgniteFuture<Map<K, V>> op(GridCacheTxLocalAdapter<K, V> tx) {
+                @Override public IgniteFuture<Map<K, V>> op(IgniteTxLocalAdapter<K, V> tx) {
                     return ctx.wrapCloneMap(tx.getAllAsync(ctx, keys, entry, deserializePortable, filter));
                 }
             });
@@ -316,7 +317,7 @@ public class GridDhtColocatedCache<K, V> extends GridDhtTransactionalCacheAdapte
      * {@inheritDoc}
      */
     @Override public IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
-        @Nullable GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
+        @Nullable IgniteTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
         @Nullable IgniteTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         assert tx == null || tx instanceof GridNearTxLocal;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index 3593878..1a8f8d1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -19,6 +19,7 @@ import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
@@ -252,7 +253,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
         GridCacheMvccCandidate<K> cand = cctx.mvcc().explicitLock(threadId, entry.key());
 
         if (inTx()) {
-            GridCacheTxEntry<K, V> txEntry = tx.entry(entry.txKey());
+            IgniteTxEntry<K, V> txEntry = tx.entry(entry.txKey());
 
             txEntry.cached(entry, txEntry.keyBytes());
 
@@ -654,7 +655,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
                 for (K key : mappedKeys) {
                     boolean explicit;
 
-                    GridCacheTxKey<K> txKey = cctx.txKey(key);
+                    IgniteTxKey<K> txKey = cctx.txKey(key);
 
                     while (true) {
                         GridDistributedCacheEntry<K, V> entry = null;
@@ -722,7 +723,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
                                     req.onePhaseCommit(true);
                                 }
 
-                                GridCacheTxEntry<K, V> writeEntry = tx != null ? tx.writeMap().get(txKey) : null;
+                                IgniteTxEntry<K, V> writeEntry = tx != null ? tx.writeMap().get(txKey) : null;
 
                                 if (writeEntry != null)
                                     // We are sending entry to remote node, clear transfer flag.
@@ -1222,7 +1223,7 @@ public final class GridDhtColocatedLockFuture<K, V> extends GridCompoundIdentity
                     }
 
                     if (inTx()) {
-                        GridCacheTxEntry<K, V> txEntry = tx.entry(cctx.txKey(k));
+                        IgniteTxEntry<K, V> txEntry = tx.entry(cctx.txKey(k));
 
                         // In colocated cache we must receive responses only for detached entries.
                         assert txEntry.cached().detached();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
index 7b22e47..3972424 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -18,6 +18,7 @@ import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.atomic.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;
@@ -592,7 +593,7 @@ public class GridNearAtomicCache<K, V> extends GridNearCacheAdapter<K, V> {
     /** {@inheritDoc} */
     @Override protected IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys,
         long timeout,
-        @Nullable GridCacheTxLocalEx<K, V> tx,
+        @Nullable IgniteTxLocalEx<K, V> tx,
         boolean isInvalidate,
         boolean isRead,
         boolean retval,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheAdapter.java
index b785103..44bb2e8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheAdapter.java
@@ -15,6 +15,7 @@ import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;
@@ -162,7 +163,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked", "RedundantCast"})
     @Override public IgniteFuture<Object> readThroughAllAsync(Collection<? extends K> keys, boolean reload,
-        GridCacheTxEx<K, V> tx, IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable UUID subjId, String taskName,
+        IgniteTxEx<K, V> tx, IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable UUID subjId, String taskName,
         IgniteBiInClosure<K, V> vis) {
         return (IgniteFuture)loadAsync(tx, keys, reload, false, filter, subjId, taskName, true);
     }
@@ -248,7 +249,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda
      * @param filter Filter.
      * @return Loaded values.
      */
-    public IgniteFuture<Map<K, V>> loadAsync(@Nullable GridCacheTxEx tx, @Nullable Collection<? extends K> keys,
+    public IgniteFuture<Map<K, V>> loadAsync(@Nullable IgniteTxEx tx, @Nullable Collection<? extends K> keys,
         boolean reload, boolean forcePrimary, @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter,
         @Nullable UUID subjId, String taskName, boolean deserializePortable) {
         if (F.isEmpty(keys))
@@ -257,7 +258,7 @@ public abstract class GridNearCacheAdapter<K, V> extends GridDistributedCacheAda
         if (keyCheck)
             validateCacheKeys(keys);
 
-        GridCacheTxLocalEx<K, V> txx = (tx != null && tx.local()) ? (GridCacheTxLocalEx<K, V>)tx : null;
+        IgniteTxLocalEx<K, V> txx = (tx != null && tx.local()) ? (IgniteTxLocalEx<K, V>)tx : null;
 
         GridNearGetFuture<K, V> fut = new GridNearGetFuture<>(ctx, keys, reload, forcePrimary, txx, filter,
             subjId, taskName, deserializePortable);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheEntry.java
index 40d20cb..8699ed9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearCacheEntry.java
@@ -16,6 +16,7 @@ import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -310,7 +311,7 @@ public class GridNearCacheEntry<K, V> extends GridDistributedCacheEntry<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override protected V readThrough(GridCacheTxEx<K, V> tx, K key, boolean reload,
+    @Override protected V readThrough(IgniteTxEx<K, V> tx, K key, boolean reload,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter, UUID subjId, String taskName) throws IgniteCheckedException {
         return cctx.near().loadAsync(tx, F.asList(key), reload, /*force primary*/false, filter, subjId, taskName, true).
             get().get(key);
@@ -333,7 +334,7 @@ public class GridNearCacheEntry<K, V> extends GridDistributedCacheEntry<K, V> {
      * @throws GridCacheEntryRemovedException If entry was removed.
      */
     @SuppressWarnings({"RedundantTypeArguments"})
-    public boolean loadedValue(@Nullable GridCacheTxEx tx, UUID primaryNodeId, V val, byte[] valBytes,
+    public boolean loadedValue(@Nullable IgniteTxEx tx, UUID primaryNodeId, V val, byte[] valBytes,
         GridCacheVersion ver, GridCacheVersion dhtVer, @Nullable GridCacheVersion expVer, long ttl, long expireTime,
         boolean evt, long topVer, UUID subjId)
         throws IgniteCheckedException, GridCacheEntryRemovedException {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
index 38d27ff..2ef19a8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
@@ -67,7 +68,7 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
     private GridCacheVersion ver;
 
     /** Transaction. */
-    private GridCacheTxLocalEx<K, V> tx;
+    private IgniteTxLocalEx<K, V> tx;
 
     /** Filters. */
     private IgnitePredicate<GridCacheEntry<K, V>>[] filters;
@@ -111,7 +112,7 @@ public final class GridNearGetFuture<K, V> extends GridCompoundIdentityFuture<Ma
         Collection<? extends K> keys,
         boolean reload,
         boolean forcePrimary,
-        @Nullable GridCacheTxLocalEx<K, V> tx,
+        @Nullable IgniteTxLocalEx<K, V> tx,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filters,
         @Nullable UUID subjId,
         String taskName,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
index b185e8d..2653fd0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -18,6 +18,7 @@ import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
@@ -297,7 +298,7 @@ public final class GridNearLockFuture<K, V> extends GridCompoundIdentityFuture<B
         );
 
         if (inTx()) {
-            GridCacheTxEntry<K, V> txEntry = tx.entry(entry.txKey());
+            IgniteTxEntry<K, V> txEntry = tx.entry(entry.txKey());
 
             txEntry.cached(entry, txEntry.keyBytes());
         }
@@ -770,7 +771,7 @@ public final class GridNearLockFuture<K, V> extends GridCompoundIdentityFuture<B
                 boolean explicit = false;
 
                 for (K key : mappedKeys) {
-                    GridCacheTxKey<K> txKey = cctx.txKey(key);
+                    IgniteTxKey<K> txKey = cctx.txKey(key);
 
                     while (true) {
                         GridNearCacheEntry<K, V> entry = null;
@@ -858,7 +859,7 @@ public final class GridNearLockFuture<K, V> extends GridCompoundIdentityFuture<B
 
                                     distributedKeys.add(key);
 
-                                    GridCacheTxEntry<K, V> writeEntry = tx != null ? tx.writeMap().get(txKey) : null;
+                                    IgniteTxEntry<K, V> writeEntry = tx != null ? tx.writeMap().get(txKey) : null;
 
                                     if (tx != null)
                                         tx.addKeyMapping(txKey, mapping.node());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
index 5992acb..e237352 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
@@ -16,6 +16,7 @@ import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -115,7 +116,7 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
         int keyCnt,
         int txSize,
         boolean syncCommit,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         boolean partLock,
         @Nullable UUID subjId,
         int taskNameHash
@@ -267,7 +268,7 @@ public class GridNearLockRequest<K, V> extends GridDistributedLockRequest<K, V>
         byte[] keyBytes,
         boolean retVal,
         @Nullable GridCacheVersion dhtVer,
-        @Nullable GridCacheTxEntry<K, V> writeEntry,
+        @Nullable IgniteTxEntry<K, V> writeEntry,
         @Nullable GridCacheVersion drVer,
         GridCacheContext<K, V> ctx
     ) throws IgniteCheckedException {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
index bdd83d5..8c2a5dd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -18,6 +18,7 @@ import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -99,11 +100,11 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
         if (F.isEmpty(keys))
             return new GridFinishedFuture<>(ctx.kernalContext(), Collections.<K, V>emptyMap());
 
-        GridCacheTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
+        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
         if (tx != null && !tx.implicit() && !skipTx) {
             return asyncOp(tx, new AsyncOp<Map<K, V>>(keys) {
-                @Override public IgniteFuture<Map<K, V>> op(GridCacheTxLocalAdapter<K, V> tx) {
+                @Override public IgniteFuture<Map<K, V>> op(IgniteTxLocalAdapter<K, V> tx) {
                     return ctx.wrapCloneMap(tx.getAllAsync(ctx, keys, entry, deserializePortable, filter));
                 }
             });
@@ -215,7 +216,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
         ClassLoader ldr = ctx.deploy().globalLoader();
 
         if (ldr != null) {
-            Collection<GridCacheTxKey<K>> evicted = null;
+            Collection<IgniteTxKey<K>> evicted = null;
 
             for (int i = 0; i < nearKeys.size(); i++) {
                 K key = nearKeys.get(i);
@@ -223,7 +224,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
                 if (key == null)
                     continue;
 
-                GridCacheTxKey<K> txKey = ctx.txKey(key);
+                IgniteTxKey<K> txKey = ctx.txKey(key);
 
                 byte[] bytes = !keyBytes.isEmpty() ? keyBytes.get(i) : null;
 
@@ -340,7 +341,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
             if (tx != null && evicted != null) {
                 assert !evicted.isEmpty();
 
-                for (GridCacheTxKey<K> evict : evicted)
+                for (IgniteTxKey<K> evict : evicted)
                     tx.addEvicted(evict);
             }
         }
@@ -372,7 +373,7 @@ public class GridNearTransactionalCache<K, V> extends GridNearCacheAdapter<K, V>
 
     /** {@inheritDoc} */
     @Override protected IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
-        GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
+        IgniteTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
         IgniteTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
         GridNearLockFuture<K, V> fut = new GridNearLockFuture<>(ctx, keys, (GridNearTxLocal<K, V>)tx, isRead,
             retval, timeout, filter);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index 7695e07..48c516d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.future.*;
@@ -213,7 +214,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
                 if (error() instanceof IgniteTxHeuristicException) {
                     long topVer = this.tx.topologyVersion();
 
-                    for (GridCacheTxEntry<K, V> e : this.tx.writeMap().values()) {
+                    for (IgniteTxEntry<K, V> e : this.tx.writeMap().values()) {
                         GridCacheContext<K, V> cacheCtx = e.context();
 
                         try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishRequest.java
index 097730e..b7b274f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishRequest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.jetbrains.annotations.*;
@@ -88,8 +89,8 @@ public class GridNearTxFinishRequest<K, V> extends GridDistributedTxFinishReques
         Collection<GridCacheVersion> committedVers,
         Collection<GridCacheVersion> rolledbackVers,
         int txSize,
-        Collection<GridCacheTxEntry<K, V>> writeEntries,
-        Collection<GridCacheTxEntry<K, V>> recoverEntries,
+        Collection<IgniteTxEntry<K, V>> writeEntries,
+        Collection<IgniteTxEntry<K, V>> recoverEntries,
         @Nullable UUID subjId,
         int taskNameHash) {
         super(xidVer, futId, null, threadId, commit, invalidate, sys, syncCommit, syncRollback, baseVer, committedVers,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index fa00c49..0750b5c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -18,6 +18,7 @@ import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.tostring.*;
@@ -50,7 +51,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         new ConcurrentHashMap8<>();
 
     /** Future. */
-    private final AtomicReference<IgniteFuture<GridCacheTxEx<K, V>>> prepFut =
+    private final AtomicReference<IgniteFuture<IgniteTxEx<K, V>>> prepFut =
         new AtomicReference<>();
 
     /** */
@@ -62,7 +63,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         new AtomicReference<>();
 
     /** Entries to lock on next step of prepare stage. */
-    private Collection<GridCacheTxEntry<K, V>> optimisticLockEntries = Collections.emptyList();
+    private Collection<IgniteTxEntry<K, V>> optimisticLockEntries = Collections.emptyList();
 
     /** True if transaction contains near cache entries mapped to local node. */
     private boolean nearLocallyMapped;
@@ -100,7 +101,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         boolean invalidate,
         boolean storeEnabled,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         boolean partLock,
         @Nullable UUID subjId,
         int taskNameHash
@@ -164,7 +165,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
     /** {@inheritDoc} */
     @Override protected IgniteFuture<Boolean> addReader(long msgId, GridDhtCacheEntry<K, V> cached,
-        GridCacheTxEntry<K, V> entry, long topVer) {
+        IgniteTxEntry<K, V> entry, long topVer) {
         // We are in near transaction, do not add local node as reader.
         return null;
     }
@@ -245,7 +246,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> optimisticLockEntries() {
+    @Override public Collection<IgniteTxEntry<K, V>> optimisticLockEntries() {
         if (groupLock())
             return super.optimisticLockEntries();
 
@@ -255,7 +256,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     /**
      * @param optimisticLockEntries Optimistic lock entries.
      */
-    public void optimisticLockEntries(Collection<GridCacheTxEntry<K, V>> optimisticLockEntries) {
+    public void optimisticLockEntries(Collection<IgniteTxEntry<K, V>> optimisticLockEntries) {
         this.optimisticLockEntries = optimisticLockEntries;
     }
 
@@ -318,7 +319,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override protected void updateExplicitVersion(GridCacheTxEntry<K, V> txEntry, GridCacheEntryEx<K, V> entry)
+    @Override protected void updateExplicitVersion(IgniteTxEntry<K, V> txEntry, GridCacheEntryEx<K, V> entry)
         throws GridCacheEntryRemovedException {
         if (entry.detached()) {
             GridCacheMvccCandidate<K> cand = cctx.mvcc().explicitLock(threadId(), entry.key());
@@ -344,7 +345,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> recoveryWrites() {
+    @Override public Collection<IgniteTxEntry<K, V>> recoveryWrites() {
         return F.view(writeEntries(), CU.<K, V>transferRequired());
     }
 
@@ -381,7 +382,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override protected void addGroupTxMapping(Collection<GridCacheTxKey<K>> keys) {
+    @Override protected void addGroupTxMapping(Collection<IgniteTxKey<K>> keys) {
         super.addGroupTxMapping(keys);
 
         addKeyMapping(cctx.localNode(), keys);
@@ -393,13 +394,13 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
      * @param key Key to add.
      * @param node Node this key mapped to.
      */
-    public void addKeyMapping(GridCacheTxKey<K> key, ClusterNode node) {
+    public void addKeyMapping(IgniteTxKey<K> key, ClusterNode node) {
         GridDistributedTxMapping<K, V> m = mappings.get(node.id());
 
         if (m == null)
             mappings.put(node.id(), m = new GridDistributedTxMapping<>(node));
 
-        GridCacheTxEntry<K, V> txEntry = txMap.get(key);
+        IgniteTxEntry<K, V> txEntry = txMap.get(key);
 
         assert txEntry != null;
 
@@ -418,14 +419,14 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
      * @param n Mapped node.
      * @param mappedKeys Mapped keys.
      */
-    private void addKeyMapping(ClusterNode n, Iterable<GridCacheTxKey<K>> mappedKeys) {
+    private void addKeyMapping(ClusterNode n, Iterable<IgniteTxKey<K>> mappedKeys) {
         GridDistributedTxMapping<K, V> m = mappings.get(n.id());
 
         if (m == null)
             mappings.put(n.id(), m = new GridDistributedTxMapping<>(n));
 
-        for (GridCacheTxKey<K> key : mappedKeys) {
-            GridCacheTxEntry<K, V> txEntry = txMap.get(key);
+        for (IgniteTxKey<K> key : mappedKeys) {
+            IgniteTxEntry<K, V> txEntry = txMap.get(key);
 
             assert txEntry != null;
 
@@ -450,7 +451,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
                 assert m != null;
 
-                for (GridCacheTxEntry<K, V> entry : map.entries())
+                for (IgniteTxEntry<K, V> entry : map.entries())
                     m.add(entry);
             }
 
@@ -481,7 +482,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
                 GridDistributedTxMapping<K, V> mapping = mappings.get(nodeId);
 
                 if (mapping != null) {
-                    for (GridCacheTxEntry<K, V> entry : m.entries())
+                    for (IgniteTxEntry<K, V> entry : m.entries())
                         mapping.removeEntry(entry);
 
                     if (mapping.entries().isEmpty())
@@ -509,7 +510,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
     /** {@inheritDoc} */
     @Override public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner) {
-        GridCacheMvccFuture<K, V, GridCacheTxEx<K, V>> fut = (GridCacheMvccFuture<K, V, GridCacheTxEx<K, V>>)prepFut
+        GridCacheMvccFuture<K, V, IgniteTxEx<K, V>> fut = (GridCacheMvccFuture<K, V, IgniteTxEx<K, V>>)prepFut
             .get();
 
         return fut != null && fut.onOwnerChanged(entry, owner);
@@ -518,7 +519,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     /**
      * @return Commit fut.
      */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> future() {
+    @Override public IgniteFuture<IgniteTxEx<K, V>> future() {
         return prepFut.get();
     }
 
@@ -530,11 +531,11 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
      */
     void readyNearLocks(GridDistributedTxMapping<K, V> mapping, Collection<GridCacheVersion> pendingVers,
         Collection<GridCacheVersion> committedVers, Collection<GridCacheVersion> rolledbackVers) {
-        Collection<GridCacheTxEntry<K, V>> entries = groupLock() ?
+        Collection<IgniteTxEntry<K, V>> entries = groupLock() ?
             Collections.singletonList(groupLockEntry()) :
             F.concat(false, mapping.reads(), mapping.writes());
 
-        for (GridCacheTxEntry<K, V> txEntry : entries) {
+        for (IgniteTxEntry<K, V> txEntry : entries) {
             while (true) {
                 GridCacheContext<K, V> cacheCtx = txEntry.cached().context();
 
@@ -666,8 +667,8 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> prepareAsync() {
-        IgniteFuture<GridCacheTxEx<K, V>> fut = prepFut.get();
+    @Override public IgniteFuture<IgniteTxEx<K, V>> prepareAsync() {
+        IgniteFuture<IgniteTxEx<K, V>> fut = prepFut.get();
 
         if (fut == null) {
             // Future must be created before any exception can be thrown.
@@ -747,10 +748,10 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
         cctx.mvcc().addFuture(fut);
 
-        IgniteFuture<GridCacheTxEx<K, V>> prepareFut = prepFut.get();
+        IgniteFuture<IgniteTxEx<K, V>> prepareFut = prepFut.get();
 
-        prepareFut.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-            @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> f) {
+        prepareFut.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+            @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> f) {
                 GridNearTxFinishFuture<K, V> fut0 = commitFut.get();
 
                 try {
@@ -794,7 +795,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
         cctx.mvcc().addFuture(fut);
 
-        IgniteFuture<GridCacheTxEx<K, V>> prepFut = this.prepFut.get();
+        IgniteFuture<IgniteTxEx<K, V>> prepFut = this.prepFut.get();
 
         if (prepFut == null || prepFut.isDone()) {
             try {
@@ -818,8 +819,8 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
             }
         }
         else {
-            prepFut.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-                @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> f) {
+            prepFut.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+                @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> f) {
                     try {
                         // Check for errors in prepare future.
                         f.get();
@@ -862,8 +863,8 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
      * @return Future that will be completed when locks are acquired.
      */
     @SuppressWarnings("TypeMayBeWeakened")
-    public IgniteFuture<GridCacheTxEx<K, V>> prepareAsyncLocal(@Nullable Collection<GridCacheTxEntry<K, V>> reads,
-        @Nullable Collection<GridCacheTxEntry<K, V>> writes, Map<UUID, Collection<UUID>> txNodes, boolean last,
+    public IgniteFuture<IgniteTxEx<K, V>> prepareAsyncLocal(@Nullable Collection<IgniteTxEntry<K, V>> reads,
+        @Nullable Collection<IgniteTxEntry<K, V>> writes, Map<UUID, Collection<UUID>> txNodes, boolean last,
         Collection<UUID> lastBackups) {
         assert optimistic();
 
@@ -881,7 +882,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         init();
 
         GridDhtTxPrepareFuture<K, V> fut = new GridDhtTxPrepareFuture<>(cctx, this, IgniteUuid.randomUuid(),
-            Collections.<GridCacheTxKey<K>, GridCacheVersion>emptyMap(), last, lastBackups);
+            Collections.<IgniteTxKey<K>, GridCacheVersion>emptyMap(), last, lastBackups);
 
         try {
             // At this point all the entries passed in must be enlisted in transaction because this is an
@@ -936,7 +937,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         if (pessimistic())
             prepareAsync();
 
-        IgniteFuture<GridCacheTxEx<K, V>> prep = prepFut.get();
+        IgniteFuture<IgniteTxEx<K, V>> prep = prepFut.get();
 
         // Do not create finish future if there are no remote nodes.
         if (F.isEmpty(dhtMap) && F.isEmpty(nearMap)) {
@@ -972,8 +973,8 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
             }
         }
         else
-            prep.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-                @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> f) {
+            prep.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+                @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> f) {
                     try {
                         f.get(); // Check for errors of a parent future.
 
@@ -1009,7 +1010,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
         cctx.mvcc().addFuture(fut);
 
-        IgniteFuture<GridCacheTxEx<K, V>> prep = prepFut.get();
+        IgniteFuture<IgniteTxEx<K, V>> prep = prepFut.get();
 
         if (prep == null || prep.isDone()) {
             try {
@@ -1025,8 +1026,8 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
             fut.finish();
         }
         else
-            prep.listenAsync(new CI1<IgniteFuture<GridCacheTxEx<K, V>>>() {
-                @Override public void apply(IgniteFuture<GridCacheTxEx<K, V>> f) {
+            prep.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+                @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> f) {
                     try {
                         f.get(); // Check for errors of a parent future.
                     }
@@ -1081,9 +1082,9 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, GridCacheTxKey<K> key) {
+    @Override protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, IgniteTxKey<K> key) {
         if (cacheCtx.isColocated()) {
-            GridCacheTxEntry<K, V> txEntry = entry(key);
+            IgniteTxEntry<K, V> txEntry = entry(key);
 
             if (txEntry == null)
                 return cacheCtx.colocated().entryExx(key.key(), topologyVersion(), true);
@@ -1108,9 +1109,9 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, GridCacheTxKey<K> key, long topVer) {
+    @Override protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, IgniteTxKey<K> key, long topVer) {
         if (cacheCtx.isColocated()) {
-            GridCacheTxEntry<K, V> txEntry = entry(key);
+            IgniteTxEntry<K, V> txEntry = entry(key);
 
             if (txEntry == null)
                 return cacheCtx.colocated().entryExx(key.key(), topVer, true);
@@ -1142,13 +1143,13 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     /**
      *
      */
-    private static class PessimisticPrepareFuture<K, V> extends GridFutureAdapter<GridCacheTxEx<K, V>> {
+    private static class PessimisticPrepareFuture<K, V> extends GridFutureAdapter<IgniteTxEx<K, V>> {
         /** */
         private static final long serialVersionUID = 0L;
 
         /** Transaction. */
         @GridToStringExclude
-        private GridCacheTxEx<K, V> tx;
+        private IgniteTxEx<K, V> tx;
 
         /**
          * Empty constructor required by {@link Externalizable}.
@@ -1161,7 +1162,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
          * @param ctx Kernal context.
          * @param tx Transaction.
          */
-        private PessimisticPrepareFuture(GridKernalContext ctx, GridCacheTxEx<K, V> tx) {
+        private PessimisticPrepareFuture(GridKernalContext ctx, IgniteTxEx<K, V> tx) {
             super(ctx);
             this.tx = tx;
         }


[43/50] [abbrv] incubator-ignite git commit: Ignite-1 - TX async support.

Posted by sb...@apache.org.
Ignite-1 - TX async support.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7b68f596
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7b68f596
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7b68f596

Branch: refs/heads/ignite-32
Commit: 7b68f5968ff0a4984f24a485407a2cc369779165
Parents: ae8217f
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Mon Dec 22 15:13:01 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Mon Dec 22 15:13:01 2014 -0800

----------------------------------------------------------------------
 .../apache/ignite/transactions/IgniteTx.java    | 13 +--
 .../processors/cache/GridCacheAdapter.java      |  4 +-
 .../cache/GridCacheSharedContext.java           |  4 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |  5 --
 .../cache/distributed/near/GridNearTxLocal.java |  7 --
 .../processors/cache/local/GridLocalTx.java     |  5 --
 .../transactions/IgniteTransactionsImpl.java    |  4 +-
 .../cache/transactions/IgniteTxAdapter.java     | 35 ++++++--
 .../cache/transactions/IgniteTxEx.java          |  8 +-
 .../cache/transactions/IgniteTxLocalEx.java     |  5 --
 .../cache/transactions/IgniteTxProxyImpl.java   | 90 ++++++++++++++++----
 .../cache/GridCacheAbstractFullApiSelfTest.java | 10 ++-
 .../cache/GridCacheLifecycleAwareSelfTest.java  |  3 +-
 .../GridCacheReferenceCleanupSelfTest.java      |  4 +-
 ...cOriginatingNodeFailureAbstractSelfTest.java |  6 +-
 .../cache/GridAbstractCacheStoreSelfTest.java   | 12 ++-
 16 files changed, 150 insertions(+), 65 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
index 97a0210..346d540 100644
--- a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
+++ b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTx.java
@@ -54,7 +54,7 @@ import java.util.*;
  * <ul>
  * <li>
  *  {@link IgniteTxConcurrency#OPTIMISTIC} - in this mode all cache operations are not distributed to other
- *  nodes until {@link #commit()} or {@link #commitAsync()} are called. In this mode one {@code 'PREPARE'}
+ *  nodes until {@link #commit()} is called. In this mode one {@code 'PREPARE'}
  *  message will be sent to participating cache nodes to start acquiring per-transaction locks, and once
  *  all nodes reply {@code 'OK'} (i.e. {@code Phase 1} completes successfully), a one-way' {@code 'COMMIT'}
  *  message is sent without waiting for reply. If it is necessary to know whenever remote nodes have committed
@@ -71,7 +71,7 @@ import java.util.*;
  *  {@link IgniteTxConcurrency#PESSIMISTIC} - in this mode a lock is acquired on all cache operations
  *  with exception of read operations in {@link IgniteTxIsolation#READ_COMMITTED} mode. All optional filters
  *  passed into cache operations will be evaluated after successful lock acquisition. Whenever
- *  {@link #commit()} or {@link #commitAsync()} is called, a single one-way {@code 'COMMIT'} message
+ *  {@link #commit()} is called, a single one-way {@code 'COMMIT'} message
  *  is sent to participating cache nodes without waiting for reply. Note that there is no reason for
  *  distributed 'PREPARE' step, as all locks have been already acquired. Just like with optimistic mode,
  *  it is possible to configure synchronous commit or rollback and wait till transaction commits on
@@ -106,7 +106,7 @@ import java.util.*;
  * }
  * </pre>
  */
-public interface IgniteTx extends GridMetadataAware, AutoCloseable {
+public interface IgniteTx extends GridMetadataAware, AutoCloseable, IgniteAsyncSupport {
     /**
      * Gets unique identifier for this transaction.
      *
@@ -230,13 +230,6 @@ public interface IgniteTx extends GridMetadataAware, AutoCloseable {
     @Override public void close() throws IgniteCheckedException;
 
     /**
-     * Asynchronously commits this transaction by initiating {@code two-phase-commit} process.
-     *
-     * @return Future for commit operation.
-     */
-    public IgniteFuture<IgniteTx> commitAsync();
-
-    /**
      * Rolls back this transaction.
      *
      * @throws IgniteCheckedException If rollback failed.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index a88cc02..82098bb 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -3037,7 +3037,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     @Nullable @Override public IgniteTx tx() {
         IgniteTxAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
-        return tx == null ? null : new IgniteTxProxyImpl<>(tx, ctx.shared());
+        return tx == null ? null : new IgniteTxProxyImpl<>(tx, ctx.shared(), false);
     }
 
     /** {@inheritDoc} */
@@ -3455,7 +3455,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @return Transaction commit future.
      */
     @SuppressWarnings("unchecked")
-    public IgniteFuture<IgniteTx> commitTxAsync(final IgniteTx tx) {
+    public IgniteFuture<IgniteTx> commitTxAsync(final IgniteTxEx tx) {
         FutureHolder holder = lastFut.get();
 
         holder.lock();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index 82fb86f..0ca6d39 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -476,7 +476,7 @@ public class GridCacheSharedContext<K, V> {
      * @param tx Transaction to rollback.
      * @throws IgniteCheckedException If failed.
      */
-    public void rollbackTx(IgniteTxEx<K, V> tx) throws IgniteCheckedException {
+    public IgniteFuture rollbackTxAsync(IgniteTxEx<K, V> tx) throws IgniteCheckedException {
         Collection<Integer> cacheIds = tx.activeCacheIds();
 
         if (!cacheIds.isEmpty()) {
@@ -484,7 +484,7 @@ public class GridCacheSharedContext<K, V> {
                 cacheContext(cacheId).cache().awaitLastFut();
         }
 
-        tx.rollback();
+        return tx.rollbackAsync();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
index 7bb56c1..0f11ecc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -229,11 +229,6 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
         return nearFinMiniId;
     }
 
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<IgniteTxEx<K, V>> future() {
-        return prepFut.get();
-    }
-
     /**
      * @param nearFinMiniId Near future mini ID.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index 0750b5c..74391e1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -517,13 +517,6 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /**
-     * @return Commit fut.
-     */
-    @Override public IgniteFuture<IgniteTxEx<K, V>> future() {
-        return prepFut.get();
-    }
-
-    /**
      * @param mapping Mapping to order.
      * @param pendingVers Pending versions.
      * @param committedVers Committed versions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
index 0226ff2..716b0b4 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
@@ -66,11 +66,6 @@ class GridLocalTx<K, V> extends IgniteTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<IgniteTxEx<K, V>> future() {
-        return fut.get();
-    }
-
-    /** {@inheritDoc} */
     @Override public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner) {
         GridLocalTxFuture<K, V> fut = this.fut.get();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index 2f36aa8..03fa74b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -139,7 +139,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         assert tx != null;
 
         // Wrap into proxy.
-        return new IgniteTxProxyImpl<>(tx, cctx);
+        return new IgniteTxProxyImpl<>(tx, cctx, false);
 
     }
 
@@ -225,7 +225,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         }
 
         // Wrap into proxy.
-        return new IgniteTxProxyImpl<>(tx0, cctx);
+        return new IgniteTxProxyImpl<>(tx0, cctx, false);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
index a9d28f4..1deae9d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxAdapter.java
@@ -536,6 +536,21 @@ public abstract class IgniteTxAdapter<K, V> extends GridMetadataAwareAdapter
         return finalizing.get();
     }
 
+    /** {@inheritDoc} */
+    @Override public IgniteAsyncSupport enableAsync() {
+        throw new UnsupportedOperationException("enableAsync() should not be called on IgniteTxAdapter directly.");
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isAsync() {
+        return false;
+    }
+
+    /** {@inheritDoc} */
+    @Override public <R> IgniteFuture<R> future() {
+        throw new UnsupportedOperationException("future() should not be called on IgniteTxAdapter directly.");
+    }
+
     /**
      * @return {@code True} if transaction has at least one key enlisted.
      */
@@ -1476,27 +1491,37 @@ public abstract class IgniteTxAdapter<K, V> extends GridMetadataAwareAdapter
         }
 
         /** {@inheritDoc} */
-        @Override public long timeout(long timeout) {
+        @Override public IgniteAsyncSupport enableAsync() {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 
         /** {@inheritDoc} */
-        @Override public boolean setRollbackOnly() {
+        @Override public boolean isAsync() {
+            return false;
+        }
+
+        /** {@inheritDoc} */
+        @Override public <R> IgniteFuture<R> future() {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 
         /** {@inheritDoc} */
-        @Override public void commit() {
+        @Override public long timeout(long timeout) {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 
         /** {@inheritDoc} */
-        @Override public void close() {
+        @Override public boolean setRollbackOnly() {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 
         /** {@inheritDoc} */
-        @Override public IgniteFuture<IgniteTx> commitAsync() {
+        @Override public void commit() {
+            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
+        }
+
+        /** {@inheritDoc} */
+        @Override public void close() {
             throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
index 8c49f57..a318787 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
@@ -416,7 +416,6 @@ public interface IgniteTxEx<K, V> extends IgniteTx, GridTimeoutObject {
     public boolean isSystemInvalidate();
 
     /**
-     * TODO-gg-4004 Put rollback async on public API?
      * Asynchronously rollback this transaction.
      *
      * @return Rollback future.
@@ -424,6 +423,13 @@ public interface IgniteTxEx<K, V> extends IgniteTx, GridTimeoutObject {
     public IgniteFuture<IgniteTx> rollbackAsync();
 
     /**
+     * Asynchronously commits this transaction by initiating {@code two-phase-commit} process.
+     *
+     * @return Future for commit operation.
+     */
+    public IgniteFuture<IgniteTx> commitAsync();
+
+    /**
      * Callback invoked whenever there is a lock that has been acquired
      * by this transaction for any of the participating entries.
      *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
index 7c8584c..63b5a79 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalEx.java
@@ -28,11 +28,6 @@ public interface IgniteTxLocalEx<K, V> extends IgniteTxEx<K, V> {
     public GridCacheVersion minVersion();
 
     /**
-     * @return Future for this transaction.
-     */
-    public IgniteFuture<IgniteTxEx<K, V>> future();
-
-    /**
      * @return Commit error.
      */
     @Nullable public Throwable commitError();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
index a39a315..d45ca2d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
@@ -37,6 +38,12 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
     @GridToStringExclude
     private GridCacheSharedContext<K, V> cctx;
 
+    /** Async flag. */
+    private boolean async;
+
+    /** Async call result. */
+    private IgniteFuture asyncRes;
+
     /**
      * Empty constructor required for {@link Externalizable}.
      */
@@ -46,13 +53,16 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
 
     /**
      * @param tx Transaction.
+     * @param cctx Shared context.
+     * @param async Async flag.
      */
-    public IgniteTxProxyImpl(IgniteTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
+    public IgniteTxProxyImpl(IgniteTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx, boolean async) {
         assert tx != null;
         assert cctx != null;
 
         this.tx = tx;
         this.cctx = cctx;
+        this.async = async;
     }
 
     /**
@@ -94,46 +104,73 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
 
     /** {@inheritDoc} */
     @Override public UUID nodeId() {
+        if (async)
+            save(tx.nodeId());
+
         return tx.nodeId();
     }
 
     /** {@inheritDoc} */
     @Override public long threadId() {
+        if (async)
+            save(tx.threadId());
+
         return tx.threadId();
     }
 
     /** {@inheritDoc} */
     @Override public long startTime() {
+        if (async)
+            save(tx.startTime());
+
         return tx.startTime();
     }
 
     /** {@inheritDoc} */
     @Override public IgniteTxIsolation isolation() {
+        if (async)
+            save(tx.isolation());
+
         return tx.isolation();
     }
 
     /** {@inheritDoc} */
     @Override public IgniteTxConcurrency concurrency() {
+        if (async)
+            save(tx.concurrency());
+
         return tx.concurrency();
     }
 
     /** {@inheritDoc} */
     @Override public boolean isInvalidate() {
+        if (async)
+            save(tx.isInvalidate());
+
         return tx.isInvalidate();
     }
 
     /** {@inheritDoc} */
     @Override public boolean implicit() {
+        if (async)
+            save(tx.implicit());
+
         return tx.implicit();
     }
 
     /** {@inheritDoc} */
     @Override public long timeout() {
+        if (async)
+            save(tx.timeout());
+
         return tx.timeout();
     }
 
     /** {@inheritDoc} */
     @Override public IgniteTxState state() {
+        if (async)
+            save(tx.state());
+
         return tx.state();
     }
 
@@ -143,6 +180,22 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
     }
 
     /** {@inheritDoc} */
+    @Override public IgniteAsyncSupport enableAsync() {
+        return new IgniteTxProxyImpl<>(tx, cctx, true);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isAsync() {
+        return async;
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings("unchecked")
+    @Override public <R> IgniteFuture<R> future() {
+        return asyncRes;
+    }
+
+    /** {@inheritDoc} */
     @Override public boolean setRollbackOnly() {
         enter();
 
@@ -159,6 +212,9 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
         enter();
 
         try {
+            if (async)
+                save(tx.isRollbackOnly());
+
             return tx.isRollbackOnly();
         }
         finally {
@@ -171,7 +227,12 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
         enter();
 
         try {
-            cctx.commitTxAsync(tx).get();
+            IgniteFuture<IgniteTx> commitFut = cctx.commitTxAsync(tx);
+
+            if (async)
+                asyncRes = commitFut;
+            else
+                commitFut.get();
         }
         finally {
             leave();
@@ -191,28 +252,27 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<IgniteTx> commitAsync() {
+    @Override public void rollback() throws IgniteCheckedException {
         enter();
 
         try {
+            IgniteFuture rollbackFut = cctx.rollbackTxAsync(tx);
 
-            return cctx.commitTxAsync(tx);
+            if (async)
+                asyncRes = rollbackFut;
+            else
+                rollbackFut.get();
         }
         finally {
             leave();
         }
     }
 
-    /** {@inheritDoc} */
-    @Override public void rollback() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.rollbackTx(tx);
-        }
-        finally {
-            leave();
-        }
+    /**
+     * @param res Result to convert to finished future.
+     */
+    private void save(Object res) {
+        asyncRes = new GridFinishedFutureEx<>(res);
     }
 
     /** {@inheritDoc} */
@@ -294,7 +354,7 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
 
     /** {@inheritDoc} */
     @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        tx = (IgniteTxAdapter<K, V>)in.readObject();
+        tx = (IgniteTxEx<K, V>)in.readObject();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 77482d4..36ebc57 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -1555,7 +1555,15 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract
         IgniteFuture<Boolean> fut1 = cache().putxAsync("key1", 10);
         IgniteFuture<Boolean> fut2 = cache().putxAsync("key2", 11);
 
-        IgniteFuture<IgniteTx> f = tx == null ? null : tx.commitAsync();
+        IgniteFuture<IgniteTx> f = null;
+
+        if (tx != null) {
+            tx = (IgniteTx)tx.enableAsync();
+
+            tx.commit();
+
+            f = tx.future();
+        }
 
         assert fut1.get();
         assert fut2.get();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
index 08682ee..6ef64e8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.lifecycle.LifecycleAware;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
@@ -29,7 +30,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 
 /**
- * Test for {@link org.apache.ignite.lifecycle.LifecycleAware} support in {@link GridCacheConfiguration}.
+ * Test for {@link LifecycleAware} support in {@link GridCacheConfiguration}.
  */
 public class GridCacheLifecycleAwareSelfTest extends GridAbstractLifecycleAwareSelfTest {
     /** */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
index 603de12..67c9afb 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
@@ -430,7 +430,7 @@ public class GridCacheReferenceCleanupSelfTest extends GridCommonAbstractTest {
 
                     cache.putx(0, val);
 
-                    tx.commitAsync().get();
+                    tx.commit();
                 }
                 finally {
                     G.stop(g.name(), cancel);
@@ -469,7 +469,7 @@ public class GridCacheReferenceCleanupSelfTest extends GridCommonAbstractTest {
                         cache.putxAsync(i, val);
                     }
 
-                    tx.commitAsync().get();
+                    tx.commit();
                 }
                 finally {
                     G.stop(g.name(), cancel);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
index 2f04b85..3b48c09 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
@@ -178,7 +178,11 @@ public abstract class IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest
 
                     info("Before commitAsync");
 
-                    IgniteFuture<IgniteTx> fut = tx.commitAsync();
+                    tx = (IgniteTx)tx.enableAsync();
+
+                    tx.commit();
+
+                    IgniteFuture<IgniteTx> fut = tx.future();
 
                     info("Got future for commitAsync().");
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7b68f596/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
index 4d283a4..bcc8799 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
@@ -483,7 +483,17 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public IgniteFuture<IgniteTx> commitAsync() {
+        @Override public IgniteAsyncSupport enableAsync() {
+            throw new UnsupportedOperationException();
+        }
+
+        /** {@inheritDoc} */
+        @Override public boolean isAsync() {
+            return false;
+        }
+
+        /** {@inheritDoc} */
+        @Override public <R> IgniteFuture<R> future() {
             return null;
         }
 


[13/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
index 58ecc84..357483c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
@@ -63,16 +63,16 @@ public class GridCacheReloadSelfTest extends GridCommonAbstractTest {
         cacheCfg.setEvictionPolicy(new GridCacheLruEvictionPolicy(MAX_CACHE_ENTRIES));
         cacheCfg.setDistributionMode(nearEnabled ? NEAR_PARTITIONED : PARTITIONED_ONLY);
         cacheCfg.setStore(new GridCacheStoreAdapter<Integer, Integer>() {
-            @Override public Integer load(@Nullable GridCacheTx tx, Integer key) {
+            @Override public Integer load(@Nullable IgniteTx tx, Integer key) {
                 return key;
             }
 
-            @Override public void put(@Nullable GridCacheTx tx, Integer key,
+            @Override public void put(@Nullable IgniteTx tx, Integer key,
                 @Nullable Integer val) {
                 //No-op.
             }
 
-            @Override public void remove(@Nullable GridCacheTx tx, Integer key) {
+            @Override public void remove(@Nullable IgniteTx tx, Integer key) {
                 //No-op.
             }
         });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReplicatedTxStoreExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReplicatedTxStoreExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReplicatedTxStoreExceptionSelfTest.java
index 79eeaf2..e45ce62 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReplicatedTxStoreExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReplicatedTxStoreExceptionSelfTest.java
@@ -17,7 +17,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  *
  */
-public class GridCacheReplicatedTxStoreExceptionSelfTest extends GridCacheTxStoreExceptionAbstractSelfTest {
+public class GridCacheReplicatedTxStoreExceptionSelfTest extends IgniteTxStoreExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return REPLICATED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
index 3a55089..126224a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
@@ -108,7 +108,7 @@ public class GridCacheSlowTxWarnTest extends GridCommonAbstractTest {
 
         GridCache<Object, Object> cache1 = g.cache(cacheName);
 
-        GridCacheTx tx = cache1.txStart();
+        IgniteTx tx = cache1.txStart();
 
         try {
             cache1.put(1, 1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
index 74e76aa..bbdf29c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
@@ -138,7 +138,7 @@ public class GridCacheStopSelfTest extends GridCommonAbstractTest {
                 putFuts.add(GridTestUtils.runAsync(new Callable<Void>() {
                     @Override public Void call() throws Exception {
                         if (startTx) {
-                            try (GridCacheTx tx = cache.txStart()) {
+                            try (IgniteTx tx = cache.txStart()) {
                                 cache.put(key, key);
 
                                 readyLatch.countDown();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
index e84f96c..3e88b82 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
@@ -89,7 +89,7 @@ public class GridCacheStorePutxSelfTest extends GridCommonAbstractTest {
     public void testPutxShouldNotTriggerLoadWithTx() throws Exception {
         GridCache<Integer, Integer> cache = cache();
 
-        try (GridCacheTx tx = cache.txStart()) {
+        try (IgniteTx tx = cache.txStart()) {
             assertTrue(cache.putx(1, 1));
             assertTrue(cache.putx(2, 2, (IgnitePredicate)null));
 
@@ -102,7 +102,7 @@ public class GridCacheStorePutxSelfTest extends GridCommonAbstractTest {
     /** */
     private static class TestStore implements GridCacheStore<Integer, Integer> {
         /** {@inheritDoc} */
-        @Nullable @Override public Integer load(@Nullable GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Nullable @Override public Integer load(@Nullable IgniteTx tx, Integer key) throws IgniteCheckedException {
             loads.incrementAndGet();
 
             return null;
@@ -115,37 +115,37 @@ public class GridCacheStorePutxSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void loadAll(@Nullable GridCacheTx tx, Collection<? extends Integer> keys,
+        @Override public void loadAll(@Nullable IgniteTx tx, Collection<? extends Integer> keys,
             IgniteBiInClosure<Integer, Integer> c) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Integer key,
+        @Override public void put(@Nullable IgniteTx tx, Integer key,
             @Nullable Integer val) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void putAll(@Nullable GridCacheTx tx,
+        @Override public void putAll(@Nullable IgniteTx tx,
             Map<? extends Integer, ? extends Integer> map) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Integer key)
+        @Override public void remove(@Nullable IgniteTx tx, Integer key)
             throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void removeAll(@Nullable GridCacheTx tx, Collection<? extends Integer> keys)
+        @Override public void removeAll(@Nullable IgniteTx tx, Collection<? extends Integer> keys)
             throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+        @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
             // No-op.
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
index 5989cbc..d9cd5a2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
@@ -212,19 +212,19 @@ public class GridCacheSwapReloadSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             return map.get(key);
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Object key, @Nullable Object val)
+        @Override public void put(IgniteTx tx, Object key, @Nullable Object val)
             throws IgniteCheckedException {
             map.put(key, val);
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Object key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Object key) throws IgniteCheckedException {
             map.remove(key);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
index f6f5894..bae49d7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
@@ -29,7 +29,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     private final Map<Integer, String> map;
 
     /** Transactions. */
-    private final Collection<GridCacheTx> txs = new GridConcurrentHashSet<>();
+    private final Collection<IgniteTx> txs = new GridConcurrentHashSet<>();
 
     /** Last method called. */
     private String lastMtd;
@@ -37,13 +37,13 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     /** */
     private long ts = System.currentTimeMillis();
 
-    /** {@link #load(GridCacheTx, Object)} method call counter .*/
+    /** {@link #load(IgniteTx, Object)} method call counter .*/
     private AtomicInteger loadCnt = new AtomicInteger();
 
-    /** {@link #put(GridCacheTx, Object, Object)} method call counter .*/
+    /** {@link #put(IgniteTx, Object, Object)} method call counter .*/
     private AtomicInteger putCnt = new AtomicInteger();
 
-    /** {@link #putAll(GridCacheTx, Map)} method call counter .*/
+    /** {@link #putAll(IgniteTx, Map)} method call counter .*/
     private AtomicInteger putAllCnt = new AtomicInteger();
 
     /** Flag indicating if methods of this store should fail. */
@@ -97,7 +97,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     /**
      * @return Transactions.
      */
-    public Collection<GridCacheTx> transactions() {
+    public Collection<IgniteTx> transactions() {
         return txs;
     }
 
@@ -155,28 +155,28 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /**
-     * @return Count of {@link #load(GridCacheTx, Object)} method calls since last reset.
+     * @return Count of {@link #load(IgniteTx, Object)} method calls since last reset.
      */
     public int getLoadCount() {
         return loadCnt.get();
     }
 
     /**
-     * @return Count of {@link #put(GridCacheTx, Object, Object)} method calls since last reset.
+     * @return Count of {@link #put(IgniteTx, Object, Object)} method calls since last reset.
      */
     public int getPutCount() {
         return putCnt.get();
     }
 
     /**
-     * @return Count of {@link #putAll(GridCacheTx, Map)} method calls since last reset.
+     * @return Count of {@link #putAll(IgniteTx, Map)} method calls since last reset.
      */
     public int getPutAllCount() {
         return putAllCnt.get();
     }
 
     /** {@inheritDoc} */
-    @Override public String load(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+    @Override public String load(IgniteTx tx, Integer key) throws IgniteCheckedException {
         checkTx(tx);
 
         lastMtd = "load";
@@ -207,7 +207,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /** {@inheritDoc} */
-    @Override public void loadAll(GridCacheTx tx, Collection<? extends Integer> keys,
+    @Override public void loadAll(IgniteTx tx, Collection<? extends Integer> keys,
         IgniteBiInClosure<Integer, String> c) throws IgniteCheckedException {
         checkTx(tx);
 
@@ -224,7 +224,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, Integer key, String val)
+    @Override public void put(@Nullable IgniteTx tx, Integer key, String val)
         throws IgniteCheckedException {
         checkTx(tx);
 
@@ -238,7 +238,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(GridCacheTx tx, Map<? extends Integer, ? extends String> map)
+    @Override public void putAll(IgniteTx tx, Map<? extends Integer, ? extends String> map)
         throws IgniteCheckedException {
         checkTx(tx);
 
@@ -252,7 +252,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+    @Override public void remove(IgniteTx tx, Integer key) throws IgniteCheckedException {
         checkTx(tx);
 
         lastMtd = "remove";
@@ -263,7 +263,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(GridCacheTx tx, Collection<? extends Integer> keys)
+    @Override public void removeAll(IgniteTx tx, Collection<? extends Integer> keys)
         throws IgniteCheckedException {
         checkTx(tx);
 
@@ -276,7 +276,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) {
+    @Override public void txEnd(IgniteTx tx, boolean commit) {
         // No-op.
     }
 
@@ -298,7 +298,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
      * @param tx Checks transaction.
      * @throws IgniteCheckedException If transaction is incorrect.
      */
-    private void checkTx(GridCacheTx tx) throws IgniteCheckedException {
+    private void checkTx(IgniteTx tx) throws IgniteCheckedException {
         if (tx == null)
             return;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
index d938a4e..90ca487 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
@@ -201,7 +201,7 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
         GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         for (int i = 0; i < TX_CNT; i++) {
-            GridCacheTx tx = cache.txStart(concurrency, isolation);
+            IgniteTx tx = cache.txStart(concurrency, isolation);
 
             if (put)
                 for (int j = 0; j < keyCount(); j++)
@@ -241,7 +241,7 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
         GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         for (int i = 0; i < TX_CNT; i++) {
-            GridCacheTx tx = cache.txStart(concurrency, isolation);
+            IgniteTx tx = cache.txStart(concurrency, isolation);
 
             if (put)
                 for (int j = 0; j < keyCount(); j++)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
deleted file mode 100644
index 1b1d21b..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.*;
-import org.gridgain.grid.kernal.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-/**
- * Tests for local transactions.
- */
-@SuppressWarnings( {"BusyWait"})
-abstract class GridCacheTxAbstractTest extends GridCommonAbstractTest {
-    /** Random number generator. */
-    private static final Random RAND = new Random();
-
-    /** Execution count. */
-    private static final AtomicInteger cntr = new AtomicInteger();
-
-    /** */
-    private static final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
-    /**
-     * Start grid by default.
-     */
-    protected GridCacheTxAbstractTest() {
-        super(false /*start grid. */);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration c = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(ipFinder);
-
-        c.setDiscoverySpi(disco);
-
-        return c;
-    }
-
-    /**
-     * @return Grid count.
-     */
-    protected abstract int gridCount();
-
-    /**
-     * @return Key count.
-     */
-    protected abstract int keyCount();
-
-    /**
-     * @return Maximum key value.
-     */
-    protected abstract int maxKeyValue();
-
-    /**
-     * @return Thread iterations.
-     */
-    protected abstract int iterations();
-
-    /**
-     * @return True if in-test logging is enabled.
-     */
-    protected abstract boolean isTestDebug();
-
-    /**
-     * @return {@code True} if memory stats should be printed.
-     */
-    protected abstract boolean printMemoryStats();
-
-    /** {@inheritDoc} */
-    private void debug(String msg) {
-        if (isTestDebug())
-            info(msg);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @Override protected void beforeTestsStarted() throws Exception {
-        for (int i = 0; i < gridCount(); i++)
-            startGrid(i);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @Override protected void afterTestsStopped() throws Exception {
-        stopAllGrids();
-    }
-
-    /**
-     * @param i Grid index.
-     * @return Cache.
-     */
-    @SuppressWarnings("unchecked")
-    @Override protected GridCache<Integer, String> cache(int i) {
-        return grid(i).cache(null);
-    }
-
-    /**
-     * @return Keys.
-     */
-    protected Iterable<Integer> getKeys() {
-        List<Integer> keys = new ArrayList<>(keyCount());
-
-        for (int i = 0; i < keyCount(); i++)
-            keys.add(RAND.nextInt(maxKeyValue()) + 1);
-
-        Collections.sort(keys);
-
-        return Collections.unmodifiableList(keys);
-    }
-
-    /**
-     * @return Random cache operation.
-     */
-    protected OP getOp() {
-        switch (RAND.nextInt(3)) {
-            case 0: { return OP.READ; }
-            case 1: { return OP.WRITE; }
-            case 2: { return OP.REMOVE; }
-
-            // Should never be reached.
-            default: { assert false; return null; }
-        }
-    }
-
-    /**
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @throws Exception If check failed.
-     */
-    protected void checkCommit(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
-        int gridIdx = RAND.nextInt(gridCount());
-
-        Ignite ignite = grid(gridIdx);
-
-        if (isTestDebug())
-            debug("Checking commit on grid: " + ignite.cluster().localNode().id());
-
-        for (int i = 0; i < iterations(); i++) {
-            GridCache<Integer, String> cache = cache(gridIdx);
-
-            GridCacheTx tx = cache.txStart(concurrency, isolation, 0, 0);
-
-            try {
-                int prevKey = -1;
-
-                for (Integer key : getKeys()) {
-                    // Make sure we have the same locking order for all concurrent transactions.
-                    assert key >= prevKey : "key: " + key + ", prevKey: " + prevKey;
-
-                    if (isTestDebug()) {
-                        GridCacheAffinityFunction aff = cache.configuration().getAffinity();
-
-                        int part = aff.partition(key);
-
-                        debug("Key affinity [key=" + key + ", partition=" + part + ", affinity=" +
-                            U.toShortString(cache.affinity().mapPartitionToPrimaryAndBackups(part)) + ']');
-                    }
-
-                    String val = Integer.toString(key);
-
-                    switch (getOp()) {
-                        case READ: {
-                            if (isTestDebug())
-                                debug("Reading key [key=" + key + ", i=" + i + ']');
-
-                            val = cache.get(key);
-
-                            if (isTestDebug())
-                                debug("Read value for key [key=" + key + ", val=" + val + ']');
-
-                            break;
-                        }
-
-                        case WRITE: {
-                            if (isTestDebug())
-                                debug("Writing key and value [key=" + key + ", val=" + val + ", i=" + i + ']');
-
-                            cache.put(key, val);
-
-                            break;
-                        }
-
-                        case REMOVE: {
-                            if (isTestDebug())
-                                debug("Removing key [key=" + key + ", i=" + i  + ']');
-
-                            cache.remove(key);
-
-                            break;
-                        }
-
-                        default: { assert false; }
-                    }
-                }
-
-                tx.commit();
-
-                if (isTestDebug())
-                    debug("Committed transaction [i=" + i + ", tx=" + tx + ']');
-            }
-            catch (GridCacheTxOptimisticException e) {
-                if (concurrency != OPTIMISTIC || isolation != SERIALIZABLE) {
-                    error("Received invalid optimistic failure.", e);
-
-                    throw e;
-                }
-
-                if (isTestDebug())
-                    info("Optimistic transaction failure (will rollback) [i=" + i + ", msg=" + e.getMessage() +
-                        ", tx=" + tx.xid() + ']');
-
-                try {
-                    tx.rollback();
-                }
-                catch (IgniteCheckedException ex) {
-                    error("Failed to rollback optimistic failure: " + tx, ex);
-
-                    throw ex;
-                }
-            }
-            catch (Exception e) {
-                error("Transaction failed (will rollback): " + tx, e);
-
-                tx.rollback();
-
-                throw e;
-            }
-            catch (Error e) {
-                error("Error when executing transaction (will rollback): " + tx, e);
-
-                tx.rollback();
-
-                throw e;
-            }
-            finally {
-                GridCacheTx t = cache.tx();
-
-                assert t == null : "Thread should not have transaction upon completion ['t==tx'=" + (t == tx) +
-                    ", t=" + t + (t != tx ? "tx=" + tx : "tx=''") + ']';
-            }
-        }
-
-        if (printMemoryStats()) {
-            if (cntr.getAndIncrement() % 100 == 0)
-                // Print transaction memory stats.
-                ((GridKernal)grid(gridIdx)).internalCache().context().tm().printMemoryStats();
-        }
-    }
-
-    /**
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @throws IgniteCheckedException If check failed.
-     */
-    protected void checkRollback(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
-        throws Exception {
-        checkRollback(new ConcurrentHashMap<Integer, String>(), concurrency, isolation);
-    }
-
-    /**
-     * @param map Map to check.
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @throws IgniteCheckedException If check failed.
-     */
-    protected void checkRollback(ConcurrentMap<Integer, String> map, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
-        int gridIdx = RAND.nextInt(gridCount());
-
-        Ignite ignite = grid(gridIdx);
-
-        if (isTestDebug())
-            debug("Checking commit on grid: " + ignite.cluster().localNode().id());
-
-        for (int i = 0; i < iterations(); i++) {
-            GridCache<Integer, String> cache = cache(gridIdx);
-
-            GridCacheTx tx = cache.txStart(concurrency, isolation, 0, 0);
-
-            try {
-                for (Integer key : getKeys()) {
-                    if (isTestDebug()) {
-                        GridCacheAffinityFunction aff = cache.configuration().getAffinity();
-
-                        int part = aff.partition(key);
-
-                        debug("Key affinity [key=" + key + ", partition=" + part + ", affinity=" +
-                            U.toShortString(cache.affinity().mapPartitionToPrimaryAndBackups(part)) + ']');
-                    }
-
-                    String val = Integer.toString(key);
-
-                    switch (getOp()) {
-                        case READ: {
-                            debug("Reading key: " + key);
-
-                            checkMap(map, key, cache.get(key));
-
-                            break;
-                        }
-
-                        case WRITE: {
-                            debug("Writing key and value [key=" + key + ", val=" + val + ']');
-
-                            checkMap(map, key, cache.put(key, val));
-
-                            break;
-                        }
-
-                        case REMOVE: {
-                            debug("Removing key: " + key);
-
-                            checkMap(map, key, cache.remove(key));
-
-                            break;
-                        }
-
-                        default: { assert false; }
-                    }
-                }
-
-                tx.rollback();
-
-                debug("Rolled back transaction: " + tx);
-            }
-            catch (GridCacheTxOptimisticException e) {
-                tx.rollback();
-
-                log.warning("Rolled back transaction due to optimistic exception [tx=" + tx + ", e=" + e + ']');
-
-                throw e;
-            }
-            catch (Exception e) {
-                tx.rollback();
-
-                error("Rolled back transaction due to exception [tx=" + tx + ", e=" + e + ']');
-
-                throw e;
-            }
-            finally {
-                GridCacheTx t1 = cache.tx();
-
-                debug("t1=" + t1);
-
-                assert t1 == null : "Thread should not have transaction upon completion ['t==tx'=" + (t1 == tx) +
-                    ", t=" + t1 + ']';
-            }
-        }
-    }
-
-    /**
-     * @param map Map to check against.
-     * @param key Key.
-     * @param val Value.
-     */
-    private void checkMap(ConcurrentMap<Integer, String> map, Integer key, String val) {
-        if (val != null) {
-            String v = map.putIfAbsent(key, val);
-
-            assert v == null || v.equals(val);
-        }
-    }
-
-    /**
-     * Checks integrity of all caches after tests.
-     *
-     * @throws IgniteCheckedException If check failed.
-     */
-    @SuppressWarnings({"ErrorNotRethrown"})
-    protected void finalChecks() throws Exception {
-        for (int i = 1; i <= maxKeyValue(); i++) {
-            for (int k = 0; k < 3; k++) {
-                try {
-                    GridCacheEntry<Integer, String> e1 = null;
-
-                    String v1 = null;
-
-                    for (int j = 0; j < gridCount(); j++) {
-                        GridCache<Integer, String> cache = cache(j);
-
-                        GridCacheTx tx = cache.tx();
-
-                        assertNull("Transaction is not completed: " + tx, tx);
-
-                        if (j == 0) {
-                            e1 = cache.entry(i);
-
-                            v1 = e1.get();
-                        }
-                        else {
-                            GridCacheEntry<Integer, String> e2 = cache.entry(i);
-
-                            String v2 = e2.get();
-
-                            if (!F.eq(v2, v1)) {
-                                v1 = e1.get();
-                                v2 = e2.get();
-                            }
-
-                            assert F.eq(v2, v1) :
-                                "Invalid cached value [key=" + i + ", v1=" + v1 + ", v2=" + v2 + ", e1=" + e1 +
-                                    ", e2=" + e2 + ", grid=" + j + ']';
-                        }
-                    }
-
-                    break;
-                }
-                catch (AssertionError e) {
-                    if (k == 2)
-                        throw e;
-                    else
-                        // Wait for transactions to complete.
-                        Thread.sleep(500);
-                }
-            }
-        }
-
-        for (int i = 1; i <= maxKeyValue(); i++) {
-            for (int k = 0; k < 3; k++) {
-                try {
-                    for (int j = 0; j < gridCount(); j++) {
-                        GridCacheProjection<Integer, String> cache = cache(j);
-
-                        cache.removeAll();
-
-//                        assert cache.keySet().isEmpty() : "Cache is not empty: " + cache.entrySet();
-                    }
-
-                    break;
-                }
-                catch (AssertionError e) {
-                    if (k == 2)
-                        throw e;
-                    else
-                        // Wait for transactions to complete.
-                        Thread.sleep(500);
-                }
-            }
-        }
-    }
-
-    /**
-     * Cache operation.
-     */
-    protected enum OP {
-        /** Cache read. */
-        READ,
-
-        /** Cache write. */
-        WRITE,
-
-        /** Cache remove. */
-        REMOVE
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
deleted file mode 100644
index c2f6fa0..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-
-/**
- * Checks multithreaded put/get cache operations on one node.
- */
-public abstract class GridCacheTxConcurrentGetAbstractTest extends GridCommonAbstractTest {
-    /** Debug flag. */
-    private static final boolean DEBUG = false;
-
-    /** */
-    protected static TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
-
-    /** */
-    private static final int THREAD_NUM = 20;
-
-    /**
-     * Default constructor.
-     *
-     */
-    protected GridCacheTxConcurrentGetAbstractTest() {
-        super(true /** Start grid. */);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi spi = new TcpDiscoverySpi();
-
-        spi.setIpFinder(ipFinder);
-
-        cfg.setDiscoverySpi(spi);
-
-        return cfg;
-    }
-
-    /**
-     * @param g Grid.
-     * @return Near cache.
-     */
-    GridNearCacheAdapter<String, Integer> near(Ignite g) {
-        return (GridNearCacheAdapter<String, Integer>)((GridKernal)g).<String, Integer>internalCache();
-    }
-
-    /**
-     * @param g Grid.
-     * @return DHT cache.
-     */
-    GridDhtCacheAdapter<String, Integer> dht(Ignite g) {
-        return near(g).dht();
-    }
-
-    /**
-     * JUnit.
-     *
-     * @throws Exception If failed.
-     */
-    public void testPutGet() throws Exception {
-        // Random key.
-        final String key = UUID.randomUUID().toString();
-
-        final Ignite ignite = grid();
-
-        ignite.cache(null).put(key, "val");
-
-        GridCacheEntryEx<String,Integer> dhtEntry = dht(ignite).peekEx(key);
-
-        if (DEBUG)
-            info("DHT entry [hash=" + System.identityHashCode(dhtEntry) + ", entry=" + dhtEntry + ']');
-
-        String val = txGet(ignite, key);
-
-        assertNotNull(val);
-
-        info("Starting threads: " + THREAD_NUM);
-
-        multithreaded(new Callable<String>() {
-            @Override public String call() throws Exception {
-                return txGet(ignite, key);
-            }
-        }, THREAD_NUM, "getter-thread");
-    }
-
-    /**
-     * @param ignite Grid.
-     * @param key Key.
-     * @return Value.
-     * @throws Exception If failed.
-     */
-    private String txGet(Ignite ignite, String key) throws Exception {
-        try (GridCacheTx tx = ignite.cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
-            GridCacheEntryEx<String, Integer> dhtEntry = dht(ignite).peekEx(key);
-
-            if (DEBUG)
-                info("DHT entry [hash=" + System.identityHashCode(dhtEntry) + ", xid=" + tx.xid() +
-                    ", entry=" + dhtEntry + ']');
-
-            String val = ignite.<String, String>cache(null).get(key);
-
-            assertNotNull(val);
-            assertEquals("val", val);
-
-            tx.commit();
-
-            return val;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
deleted file mode 100644
index 1b86fe1..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
+++ /dev/null
@@ -1,631 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.spi.*;
-import org.apache.ignite.spi.indexing.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.testframework.*;
-import org.jetbrains.annotations.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-
-/**
- * Tests that transaction is invalidated in case of {@link GridCacheTxHeuristicException}.
- */
-public abstract class GridCacheTxExceptionAbstractSelfTest extends GridCacheAbstractSelfTest {
-    /** Index SPI throwing exception. */
-    private static TestIndexingSpi idxSpi = new TestIndexingSpi();
-
-    /** */
-    private static final int PRIMARY = 0;
-
-    /** */
-    private static final int BACKUP = 1;
-
-    /** */
-    private static final int NOT_PRIMARY_AND_BACKUP = 2;
-
-    /** */
-    private static Integer lastKey;
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return 3;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.setIndexingSpi(idxSpi);
-
-        cfg.getTransactionsConfiguration().setTxSerializableEnabled(true);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration ccfg = super.cacheConfiguration(gridName);
-
-        ccfg.setQueryIndexEnabled(true);
-        ccfg.setStore(null);
-
-        return ccfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        super.beforeTestsStarted();
-
-        lastKey = 0;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        idxSpi.forceFail(false);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutNear() throws Exception {
-        checkPut(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-        checkPut(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutPrimary() throws Exception {
-        checkPut(true, keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkPut(false, keyForNode(grid(0).localNode(), PRIMARY));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutBackup() throws Exception {
-        checkPut(true, keyForNode(grid(0).localNode(), BACKUP));
-
-        checkPut(false, keyForNode(grid(0).localNode(), BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutAll() throws Exception {
-        checkPutAll(true, keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkPutAll(false, keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY),
-            keyForNode(grid(0).localNode(), PRIMARY));
-
-        if (gridCount() > 1) {
-            checkPutAll(true, keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY));
-
-            checkPutAll(false, keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY),
-                keyForNode(grid(1).localNode(), PRIMARY));
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemoveNear() throws Exception {
-        checkRemove(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-        checkRemove(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemovePrimary() throws Exception {
-        checkRemove(false, keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkRemove(true, keyForNode(grid(0).localNode(), PRIMARY));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemoveBackup() throws Exception {
-        checkRemove(false, keyForNode(grid(0).localNode(), BACKUP));
-
-        checkRemove(true, keyForNode(grid(0).localNode(), BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTransformNear() throws Exception {
-        checkTransform(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-        checkTransform(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTransformPrimary() throws Exception {
-        checkTransform(false, keyForNode(grid(0).localNode(), PRIMARY));
-
-        checkTransform(true, keyForNode(grid(0).localNode(), PRIMARY));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTransformBackup() throws Exception {
-        checkTransform(false, keyForNode(grid(0).localNode(), BACKUP));
-
-        checkTransform(true, keyForNode(grid(0).localNode(), BACKUP));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutNearTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-
-                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutPrimaryTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
-
-                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutBackupTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
-
-                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutMultipleKeysTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
-                checkPutTx(true, concurrency, isolation,
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY));
-
-                checkPutTx(false, concurrency, isolation,
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY),
-                    keyForNode(grid(0).localNode(), PRIMARY));
-
-                if (gridCount() > 1) {
-                    checkPutTx(true, concurrency, isolation,
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY));
-
-                    checkPutTx(false, concurrency, isolation,
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY),
-                        keyForNode(grid(1).localNode(), PRIMARY));
-                }
-            }
-        }
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param keys Keys.
-     * @param concurrency Transaction concurrency.
-     * @param isolation Transaction isolation.
-     * @throws Exception If failed.
-     */
-    private void checkPutTx(boolean putBefore, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, final Integer... keys) throws Exception {
-        assertTrue(keys.length > 0);
-
-        info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']');
-
-        GridCache<Integer, Integer> cache = grid(0).cache(null);
-
-        if (putBefore) {
-            idxSpi.forceFail(false);
-
-            info("Start transaction.");
-
-            try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
-                for (Integer key : keys) {
-                    info("Put " + key);
-
-                    cache.put(key, 1);
-                }
-
-                info("Commit.");
-
-                tx.commit();
-            }
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++) {
-            for (Integer key : keys)
-                grid(i).cache(null).get(key);
-        }
-
-        idxSpi.forceFail(true);
-
-        try {
-            info("Start transaction.");
-
-            try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
-                for (Integer key : keys) {
-                    info("Put " + key);
-
-                    cache.put(key, 2);
-                }
-
-                info("Commit.");
-
-                tx.commit();
-            }
-
-            fail("Transaction should fail.");
-        }
-        catch (GridCacheTxHeuristicException e) {
-            log.info("Expected exception: " + e);
-        }
-
-        for (Integer key : keys)
-            checkEmpty(key);
-    }
-
-    /**
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkEmpty(final Integer key) throws Exception {
-        idxSpi.forceFail(false);
-
-        info("Check key: " + key);
-
-        for (int i = 0; i < gridCount(); i++) {
-            GridKernal grid = (GridKernal) grid(i);
-
-            GridCacheAdapter cache = grid.internalCache(null);
-
-            GridCacheMapEntry entry = cache.map().getEntry(key);
-
-            log.info("Entry: " + entry);
-
-            if (entry != null) {
-                assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.lockedByAny());
-                assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.hasValue());
-            }
-
-            if (cache.isNear()) {
-                entry = ((GridNearCacheAdapter)cache).dht().map().getEntry(key);
-
-                log.info("Dht entry: " + entry);
-
-                if (entry != null) {
-                    assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.lockedByAny());
-                    assertFalse("Unexpected entry for grid [i=" + i + ", entry=" + entry + ']', entry.hasValue());
-                }
-            }
-        }
-
-        for (int i = 0; i < gridCount(); i++)
-            assertEquals("Unexpected value for grid " + i, null, grid(i).cache(null).get(key));
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkPut(boolean putBefore, final Integer key) throws Exception {
-        if (putBefore) {
-            idxSpi.forceFail(false);
-
-            info("Put key: " + key);
-
-            grid(0).cache(null).put(key, 1);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++)
-            grid(i).cache(null).get(key);
-
-        idxSpi.forceFail(true);
-
-        info("Going to put: " + key);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).put(key, 2);
-
-                return null;
-            }
-        }, GridCacheTxHeuristicException.class, null);
-
-        checkEmpty(key);
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkTransform(boolean putBefore, final Integer key) throws Exception {
-        if (putBefore) {
-            idxSpi.forceFail(false);
-
-            info("Put key: " + key);
-
-            grid(0).cache(null).put(key, 1);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++)
-            grid(i).cache(null).get(key);
-
-        idxSpi.forceFail(true);
-
-        info("Going to transform: " + key);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).transform(key, new IgniteClosure<Object, Object>() {
-                    @Override public Object apply(Object o) {
-                        return 2;
-                    }
-                });
-
-                return null;
-            }
-        }, GridCacheTxHeuristicException.class, null);
-
-        checkEmpty(key);
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param keys Keys.
-     * @throws Exception If failed.
-     */
-    private void checkPutAll(boolean putBefore, Integer ... keys) throws Exception {
-        assert keys.length > 1;
-
-        if (putBefore) {
-            idxSpi.forceFail(false);
-
-            Map<Integer, Integer> m = new HashMap<>();
-
-            for (Integer key : keys)
-                m.put(key, 1);
-
-            info("Put data: " + m);
-
-            grid(0).cache(null).putAll(m);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++) {
-            for (Integer key : keys)
-                grid(i).cache(null).get(key);
-        }
-
-        idxSpi.forceFail(true);
-
-        final Map<Integer, Integer> m = new HashMap<>();
-
-        for (Integer key : keys)
-            m.put(key, 2);
-
-        info("Going to putAll: " + m);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).putAll(m);
-
-                return null;
-            }
-        }, GridCacheTxHeuristicException.class, null);
-
-        for (Integer key : m.keySet())
-            checkEmpty(key);
-    }
-
-    /**
-     * @param putBefore If {@code true} then puts some value before executing failing operation.
-     * @param key Key.
-     * @throws Exception If failed.
-     */
-    private void checkRemove(boolean putBefore, final Integer key) throws Exception {
-        if (putBefore) {
-            idxSpi.forceFail(false);
-
-            info("Put key: " + key);
-
-            grid(0).cache(null).put(key, 1);
-        }
-
-        // Execute get from all nodes to create readers for near cache.
-        for (int i = 0; i < gridCount(); i++)
-            grid(i).cache(null).get(key);
-
-        idxSpi.forceFail(true);
-
-        info("Going to remove: " + key);
-
-        GridTestUtils.assertThrows(log, new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                grid(0).cache(null).remove(key);
-
-                return null;
-            }
-        }, GridCacheTxHeuristicException.class, null);
-
-        checkEmpty(key);
-    }
-
-    /**
-     * Generates key of a given type for given node.
-     *
-     * @param node Node.
-     * @param type Key type.
-     * @return Key.
-     */
-    private Integer keyForNode(ClusterNode node, int type) {
-        GridCache<Integer, Integer> cache = grid(0).cache(null);
-
-        if (cache.configuration().getCacheMode() == LOCAL)
-            return ++lastKey;
-
-        if (cache.configuration().getCacheMode() == REPLICATED && type == NOT_PRIMARY_AND_BACKUP)
-            return ++lastKey;
-
-        for (int key = lastKey + 1; key < (lastKey + 10_000); key++) {
-            switch (type) {
-                case NOT_PRIMARY_AND_BACKUP: {
-                    if (!cache.affinity().isPrimaryOrBackup(node, key)) {
-                        lastKey = key;
-
-                        return key;
-                    }
-
-                    break;
-                }
-
-                case PRIMARY: {
-                    if (cache.affinity().isPrimary(node, key)) {
-                        lastKey = key;
-
-                        return key;
-                    }
-
-                    break;
-                }
-
-                case BACKUP: {
-                    if (cache.affinity().isBackup(node, key)) {
-                        lastKey = key;
-
-                        return key;
-                    }
-
-                    break;
-                }
-
-                default:
-                    fail();
-            }
-        }
-
-        throw new IllegalStateException("Failed to find key.");
-    }
-
-    /**
-     * Indexing SPI that can fail on demand.
-     */
-    private static class TestIndexingSpi extends IgniteSpiAdapter implements GridIndexingSpi {
-        /** Fail flag. */
-        private volatile boolean fail;
-
-        /**
-         * @param fail Fail flag.
-         */
-        public void forceFail(boolean fail) {
-            this.fail = fail;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Iterator<?> query(@Nullable String spaceName, Collection<Object> params, @Nullable GridIndexingQueryFilter filters) throws IgniteSpiException {
-            throw new UnsupportedOperationException();
-        }
-
-        /** {@inheritDoc} */
-        @Override public void store(@Nullable String spaceName, Object key, Object val, long expirationTime)
-            throws IgniteSpiException {
-            if (fail) {
-                fail = false;
-
-                throw new IgniteSpiException("Test exception.");
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public void remove(@Nullable String spaceName, Object k)
-            throws IgniteSpiException {
-            if (fail) {
-                fail = false;
-
-                throw new IgniteSpiException("Test exception.");
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public void onSwap(@Nullable String spaceName, Object key) throws IgniteSpiException {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public void onUnswap(@Nullable String spaceName, Object key, Object val) throws IgniteSpiException {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public void spiStart(@Nullable String gridName) throws IgniteSpiException {
-            // No-op.
-        }
-
-        /** {@inheritDoc} */
-        @Override public void spiStop() throws IgniteSpiException {
-            // No-op.
-        }
-    }
-}


[41/50] [abbrv] incubator-ignite git commit: GG-9141 - Fixed tests.

Posted by sb...@apache.org.
GG-9141 - Fixed tests.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/f7118cea
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/f7118cea
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/f7118cea

Branch: refs/heads/ignite-32
Commit: f7118ceac46930b1c2cb24af7cce89ecb26a0d9d
Parents: 2f62dc6
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Sun Dec 21 15:03:25 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Sun Dec 21 15:03:25 2014 -0800

----------------------------------------------------------------------
 .../TransactionsConfiguration.java              |   4 +-
 .../tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java |   7 +-
 .../transactions/IgniteTxMetricsAdapter.java    | 107 -------------------
 .../core/src/test/config/spring-multicache.xml  |  16 ---
 .../processors/cache/IgniteCacheTest.java       |   4 +-
 5 files changed, 7 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f7118cea/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
index 5aa700a..7c975af 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/TransactionsConfiguration.java
@@ -11,10 +11,12 @@ package org.apache.ignite.configuration;
 
 import org.apache.ignite.transactions.*;
 
+import java.io.*;
+
 /**
  * Transactions configuration.
  */
-public class TransactionsConfiguration {
+public class TransactionsConfiguration implements Serializable {
     /** Default value for 'txSerializableEnabled' flag. */
     public static final boolean DFLT_TX_SERIALIZABLE_ENABLED = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f7118cea/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
index 5763a88..29b7b1a 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.java
@@ -12,7 +12,6 @@ package org.apache.ignite.spi.discovery.tcp.ipfinder.vm;
 import org.apache.ignite.*;
 import org.apache.ignite.resources.*;
 import org.apache.ignite.spi.*;
-import org.gridgain.grid.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
@@ -116,7 +115,7 @@ public class TcpDiscoveryVmIpFinder extends TcpDiscoveryIpFinderAdapter {
      * </ul>
      *
      * @param addrs Known nodes addresses.
-     * @throws org.apache.ignite.spi.IgniteSpiException If any error occurs.
+     * @throws IgniteSpiException If any error occurs.
      */
     @IgniteSpiConfiguration(optional = true)
     public synchronized void setAddresses(Collection<String> addrs) throws IgniteSpiException {
@@ -137,7 +136,7 @@ public class TcpDiscoveryVmIpFinder extends TcpDiscoveryIpFinderAdapter {
      * @param ipStr Address string.
      * @return Socket addresses (may contain 1 or more addresses if provided string
      *      includes port range).
-     * @throws org.apache.ignite.spi.IgniteSpiException If failed.
+     * @throws IgniteSpiException If failed.
      */
     private static Collection<InetSocketAddress> address(String ipStr) throws IgniteSpiException {
         ipStr = ipStr.trim();
@@ -180,7 +179,7 @@ public class TcpDiscoveryVmIpFinder extends TcpDiscoveryIpFinderAdapter {
      * @param errMsg Error message.
      * @return Socket addresses (may contain 1 or more addresses if provided string
      *      includes port range).
-     * @throws org.apache.ignite.spi.IgniteSpiException If failed.
+     * @throws IgniteSpiException If failed.
      */
     private static Collection<InetSocketAddress> addresses(String ipStr, String regexDelim, String errMsg)
         throws IgniteSpiException {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f7118cea/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java
deleted file mode 100644
index 9bc084a..0000000
--- a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxMetricsAdapter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.apache.ignite.transactions;
-
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-
-/**
- * Tx metrics adapter.
- */
-public class IgniteTxMetricsAdapter implements IgniteTxMetrics, Externalizable {
-    /** Number of transaction commits. */
-    private volatile int txCommits;
-
-    /** Number of transaction rollbacks. */
-    private volatile int txRollbacks;
-
-    /** Last commit time. */
-    private volatile long commitTime;
-
-    /** Last rollback time. */
-    private volatile long rollbackTime;
-
-    /**
-     *
-     */
-    public IgniteTxMetricsAdapter() {
-
-    }
-
-    /**
-     * @param m Transaction metrics to copy.
-     */
-    public IgniteTxMetricsAdapter(IgniteTxMetrics m) {
-        commitTime = m.commitTime();
-        rollbackTime = m.rollbackTime();
-        txCommits = m.txCommits();
-        txRollbacks = m.txRollbacks();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long commitTime() {
-        return commitTime;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long rollbackTime() {
-        return rollbackTime;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int txCommits() {
-        return txCommits;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int txRollbacks() {
-        return txRollbacks;
-    }
-
-    /**
-     * Transaction commit callback.
-     */
-    public void onTxCommit() {
-        commitTime = U.currentTimeMillis();
-
-        txCommits++;
-    }
-
-    /**
-     * Transaction rollback callback.
-     */
-    public void onTxRollback() {
-        rollbackTime = U.currentTimeMillis();
-
-        txRollbacks++;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeLong(commitTime);
-        out.writeLong(rollbackTime);
-        out.writeInt(txCommits);
-        out.writeInt(txRollbacks);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        commitTime = in.readLong();
-        rollbackTime = in.readLong();
-        txCommits = in.readInt();
-        txRollbacks = in.readInt();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteTxMetricsAdapter.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f7118cea/modules/core/src/test/config/spring-multicache.xml
----------------------------------------------------------------------
diff --git a/modules/core/src/test/config/spring-multicache.xml b/modules/core/src/test/config/spring-multicache.xml
index af55077..3111e34 100644
--- a/modules/core/src/test/config/spring-multicache.xml
+++ b/modules/core/src/test/config/spring-multicache.xml
@@ -73,8 +73,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -97,8 +95,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -121,8 +117,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -145,8 +139,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -170,8 +162,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -194,8 +184,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -218,8 +206,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
 
                 <bean class="org.gridgain.grid.cache.GridCacheConfiguration">
@@ -242,8 +228,6 @@
                     </property>
 
                     <property name="backups" value="1"/>
-
-                    <property name="dgcFrequency" value="0"/>
                 </bean>
             </list>
         </property>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f7118cea/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTest.java
index a390fad..414981c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheTest.java
@@ -74,9 +74,7 @@ public class IgniteCacheTest extends GridCommonAbstractTest {
      * @throws Exception In case of error.
      */
     protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration cfg = defaultCacheConfiguration();
-
-        return cfg;
+        return defaultCacheConfiguration();
     }
 
     /**


[19/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
index 5a4fb1f..23979f1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
@@ -36,8 +36,8 @@ import java.util.concurrent.atomic.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test for group locking.
@@ -130,7 +130,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupLockPutOneKey(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockPutOneKey(IgniteTxConcurrency concurrency) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -197,7 +197,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupLockRemoveOneKey(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockRemoveOneKey(IgniteTxConcurrency concurrency) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -277,7 +277,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupLockGetOneKey(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockGetOneKey(IgniteTxConcurrency concurrency) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -340,7 +340,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     }
 
     /** @throws IgniteCheckedException */
-    private void checkGroupLockWithExternalLock(final GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockWithExternalLock(final IgniteTxConcurrency concurrency) throws Exception {
         assert sanityCheckEnabled();
 
         final UUID affinityKey = primaryKeyForCache(grid(0));
@@ -425,7 +425,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkSanityCheckDisabled(final GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkSanityCheckDisabled(final IgniteTxConcurrency concurrency) throws Exception {
         assert !sanityCheckEnabled();
 
         final UUID affinityKey = primaryKeyForCache(grid(0));
@@ -486,7 +486,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupPartitionLock(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupPartitionLock(IgniteTxConcurrency concurrency) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -610,7 +610,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGetPut(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkGetPut(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -669,7 +669,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGetPutEmptyCache(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkGetPutEmptyCache(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -750,7 +750,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGetRemove(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkGetRemove(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -830,7 +830,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGetAfterPut(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGetAfterPut(IgniteTxConcurrency concurrency) throws Exception {
         CollectingEventListener locks = new CollectingEventListener();
         CollectingEventListener unlocks = new CollectingEventListener();
 
@@ -911,7 +911,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGetRepeatableRead(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGetRepeatableRead(IgniteTxConcurrency concurrency) throws Exception {
         UUID key = primaryKeyForCache(grid(0));
 
         cache(0).put(key, "val");
@@ -939,7 +939,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupLockPutWrongKey(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockPutWrongKey(IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
         final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
@@ -974,7 +974,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupLockRemoveWrongKey(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockRemoveWrongKey(IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
         final GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);
@@ -1029,7 +1029,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
      * @param isolation Isolation.
      * @throws Exception If failed.
      */
-    private void checkGroupLockReadAffinityKey(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    private void checkGroupLockReadAffinityKey(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
@@ -1080,7 +1080,7 @@ public abstract class GridCacheGroupLockAbstractSelfTest extends GridCommonAbstr
     /**
      * @throws Exception If failed.
      */
-    private void checkGroupLockWriteThrough(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkGroupLockWriteThrough(IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
         GridCache<GridCacheAffinityKey<String>, String> cache = grid(0).cache(null);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
index d6f6e47..8669b06 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
@@ -21,8 +21,8 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Puts all the passed data into partitioned cache in small chunks.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
index c97379a..73d59ab 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
@@ -24,7 +24,7 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicWriteOrderMode.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 
 /**
  * Tests {@link GridCacheInterceptor}.
@@ -815,8 +815,8 @@ public abstract class GridCacheInterceptorAbstractSelfTest extends GridCacheAbst
             return;
 
         if (atomicityMode() == TRANSACTIONAL) {
-            for (GridCacheTxConcurrency txConcurrency : GridCacheTxConcurrency.values()) {
-                for (GridCacheTxIsolation txIsolation : GridCacheTxIsolation.values()) {
+            for (IgniteTxConcurrency txConcurrency : IgniteTxConcurrency.values()) {
+                for (IgniteTxIsolation txIsolation : IgniteTxIsolation.values()) {
                     for (Operation op : Operation.values()) {
                         // TODO: GG-8118 enable when fixed.
                         if (op == Operation.UPDATE_FILTER && txConcurrency == OPTIMISTIC)
@@ -839,8 +839,8 @@ public abstract class GridCacheInterceptorAbstractSelfTest extends GridCacheAbst
      * @param op Operation type.
      * @throws Exception If failed.
      */
-    private void testNearNodeKey(@Nullable GridCacheTxConcurrency txConcurrency,
-        @Nullable GridCacheTxIsolation txIsolation, @Nullable Operation op) throws Exception {
+    private void testNearNodeKey(@Nullable IgniteTxConcurrency txConcurrency,
+        @Nullable IgniteTxIsolation txIsolation, @Nullable Operation op) throws Exception {
         // Interceptor returns incremented new value.
         interceptor.retInterceptor = new InterceptorAdapter() {
             @Nullable @Override public Object onBeforePut(Object key, @Nullable Object oldVal, Object newVal) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
index 03b400e..855109e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
@@ -19,8 +19,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.io.*;
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test transaction with wrong marshalling.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
index b1217a6..7fe5d54 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
@@ -24,8 +24,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test case checks partition exchange when non-cache node joins topology (partition

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
index 152602e..71fda30 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
@@ -29,8 +29,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
index 7d9be00..d0d24e5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
@@ -23,8 +23,8 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Nested transaction emulation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
index 3a60003..88b9288 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
@@ -27,8 +27,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests that common cache objects' toString() methods do not lead to stack overflow.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
index 1a9b121..f84e9c7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
@@ -15,8 +15,8 @@ import org.gridgain.testframework.*;
 
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Multithreaded update test with off heap enabled.
@@ -47,7 +47,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void testTransformTx(final Integer key, final GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void testTransformTx(final Integer key, final IgniteTxConcurrency txConcurrency) throws Exception {
         final GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         cache.put(key, 0);
@@ -111,7 +111,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void testPutTx(final Integer key, final GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void testPutTx(final Integer key, final IgniteTxConcurrency txConcurrency) throws Exception {
         final GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         cache.put(key, 0);
@@ -167,7 +167,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void testPutWithFilterTx(final Integer key, final GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void testPutWithFilterTx(final Integer key, final IgniteTxConcurrency txConcurrency) throws Exception {
         final GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         cache.put(key, 0);
@@ -223,7 +223,7 @@ public class GridCacheOffHeapMultiThreadedUpdateSelfTest extends GridCacheOffHea
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void testPutxIfAbsentTx(final Integer key, final GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void testPutxIfAbsentTx(final Integer key, final IgniteTxConcurrency txConcurrency) throws Exception {
         final GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         cache.put(key, 0);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
index 7ae9e9d..4456346 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
@@ -25,8 +25,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMemoryMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  *
@@ -223,7 +223,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void checkPutGetRemoveTx(Integer key, GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void checkPutGetRemoveTx(Integer key, IgniteTxConcurrency txConcurrency) throws Exception {
         GridCache<Integer, Integer> c = grid(0).cache(null);
 
         IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
@@ -248,7 +248,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void checkPutGetRemoveTxByteArray(Integer key, GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void checkPutGetRemoveTxByteArray(Integer key, IgniteTxConcurrency txConcurrency) throws Exception {
         GridCache<Integer, byte[]> c = grid(0).cache(null);
 
         IgniteTx tx = c.txStart(txConcurrency, REPEATABLE_READ);
@@ -358,7 +358,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void checkPutAllGetAllRemoveAllTx(GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void checkPutAllGetAllRemoveAllTx(IgniteTxConcurrency txConcurrency) throws Exception {
         Map<Integer, Integer> map = new HashMap<>();
 
         for (int i = 0; i < 100; i++)
@@ -453,7 +453,7 @@ public abstract class GridCacheOffHeapTieredAbstractSelfTest extends GridCacheAb
      * @param txConcurrency Transaction concurrency.
      * @throws Exception If failed.
      */
-    private void checkPutGetRemoveObjectTx(Integer key, GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void checkPutGetRemoveObjectTx(Integer key, IgniteTxConcurrency txConcurrency) throws Exception {
         GridCache<Integer, TestValue> c = grid(0).cache(null);
 
         TestValue val = new TestValue(new byte[10]);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
index 7adacd7..34c01e2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
@@ -16,8 +16,8 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.testframework.junits.common.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Check for specific support issue.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
index 90ca487..cc056ac 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
@@ -12,8 +12,8 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Transactional cache metrics test.
@@ -196,7 +196,7 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
      * @param put Put some data if {@code true}.
      * @throws Exception If failed.
      */
-    private void testCommits(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, boolean put)
+    private void testCommits(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation, boolean put)
         throws Exception {
         GridCache<Integer, Integer> cache = grid(0).cache(null);
 
@@ -236,7 +236,7 @@ public abstract class GridCacheTransactionalAbstractMetricsSelfTest extends Grid
      * @param put Put some data if {@code true}.
      * @throws Exception If failed.
      */
-    private void testRollbacks(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    private void testRollbacks(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation,
         boolean put) throws Exception {
         GridCache<Integer, Integer> cache = grid(0).cache(null);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
index e8b7b14..484c793 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Basic store test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
index 675bf73..782f0a0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
@@ -23,8 +23,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests write-behind store with near and dht commit option.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
index 58c3333..c6a9c09 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxAbstractTest.java
@@ -26,8 +26,8 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests for local transactions.
@@ -156,7 +156,7 @@ abstract class IgniteTxAbstractTest extends GridCommonAbstractTest {
      * @param isolation Isolation.
      * @throws Exception If check failed.
      */
-    protected void checkCommit(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    protected void checkCommit(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         int gridIdx = RAND.nextInt(gridCount());
 
         Ignite ignite = grid(gridIdx);
@@ -281,7 +281,7 @@ abstract class IgniteTxAbstractTest extends GridCommonAbstractTest {
      * @param isolation Isolation.
      * @throws IgniteCheckedException If check failed.
      */
-    protected void checkRollback(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    protected void checkRollback(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws Exception {
         checkRollback(new ConcurrentHashMap<Integer, String>(), concurrency, isolation);
     }
@@ -292,8 +292,8 @@ abstract class IgniteTxAbstractTest extends GridCommonAbstractTest {
      * @param isolation Isolation.
      * @throws IgniteCheckedException If check failed.
      */
-    protected void checkRollback(ConcurrentMap<Integer, String> map, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
+    protected void checkRollback(ConcurrentMap<Integer, String> map, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Exception {
         int gridIdx = RAND.nextInt(gridCount());
 
         Ignite ignite = grid(gridIdx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
index 9548cd0..9e602e6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxConcurrentGetAbstractTest.java
@@ -23,8 +23,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Checks multithreaded put/get cache operations on one node.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
index 7b39975..506a552 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxExceptionAbstractSelfTest.java
@@ -191,8 +191,8 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
      * @throws Exception If failed.
      */
     public void testPutNearTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
 
                 checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
@@ -204,8 +204,8 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
      * @throws Exception If failed.
      */
     public void testPutPrimaryTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
 
                 checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
@@ -217,8 +217,8 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
      * @throws Exception If failed.
      */
     public void testPutBackupTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
 
                 checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
@@ -230,8 +230,8 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
      * @throws Exception If failed.
      */
     public void testPutMultipleKeysTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation,
                     keyForNode(grid(0).localNode(), PRIMARY),
                     keyForNode(grid(0).localNode(), PRIMARY),
@@ -264,8 +264,8 @@ public abstract class IgniteTxExceptionAbstractSelfTest extends GridCacheAbstrac
      * @param isolation Transaction isolation.
      * @throws Exception If failed.
      */
-    private void checkPutTx(boolean putBefore, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, final Integer... keys) throws Exception {
+    private void checkPutTx(boolean putBefore, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, final Integer... keys) throws Exception {
         assertTrue(keys.length > 0);
 
         info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']');

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
index 4822742..50dbcbd 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiNodeAbstractTest.java
@@ -34,8 +34,8 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
index efb7a26..421f307 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxMultiThreadedAbstractTest.java
@@ -18,8 +18,8 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests for local transactions.
@@ -36,8 +36,8 @@ public abstract class IgniteTxMultiThreadedAbstractTest extends IgniteTxAbstract
      * @param isolation Isolation.
      * @throws Exception If check failed.
      */
-    protected void checkCommitMultithreaded(final GridCacheTxConcurrency concurrency,
-        final GridCacheTxIsolation isolation) throws Exception {
+    protected void checkCommitMultithreaded(final IgniteTxConcurrency concurrency,
+        final IgniteTxIsolation isolation) throws Exception {
         GridTestUtils.runMultiThreaded(new Callable<Object>() {
             @Nullable @Override public Object call() throws Exception {
                 Thread t = Thread.currentThread();
@@ -63,8 +63,8 @@ public abstract class IgniteTxMultiThreadedAbstractTest extends IgniteTxAbstract
      * @param isolation Isolation.
      * @throws Exception If check failed.
      */
-    protected void checkRollbackMultithreaded(final GridCacheTxConcurrency concurrency,
-        final GridCacheTxIsolation isolation) throws Exception {
+    protected void checkRollbackMultithreaded(final IgniteTxConcurrency concurrency,
+        final IgniteTxIsolation isolation) throws Exception {
         final ConcurrentMap<Integer, String> map = new ConcurrentHashMap<>();
 
         GridTestUtils.runMultiThreaded(new Callable<Object>() {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
index 8decc56..06c17e8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxReentryAbstractSelfTest.java
@@ -29,8 +29,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests reentry in pessimistic repeatable read tx.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
index 017bc16..4ed449c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
@@ -11,8 +11,8 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests for local transactions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
index f79aea0..443ef33 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
@@ -190,8 +190,8 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
      * @throws Exception If failed.
      */
     public void testPutNearTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
 
                 checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
@@ -203,8 +203,8 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
      * @throws Exception If failed.
      */
     public void testPutPrimaryTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
 
                 checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
@@ -216,8 +216,8 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
      * @throws Exception If failed.
      */
     public void testPutBackupTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
 
                 checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
@@ -229,8 +229,8 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
      * @throws Exception If failed.
      */
     public void testPutMultipleKeysTx() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 checkPutTx(true, concurrency, isolation,
                     keyForNode(grid(0).localNode(), PRIMARY),
                     keyForNode(grid(0).localNode(), PRIMARY),
@@ -263,8 +263,8 @@ public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAb
      * @param isolation Transaction isolation.
      * @throws Exception If failed.
      */
-    private void checkPutTx(boolean putBefore, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation, final Integer... keys) throws Exception {
+    private void checkPutTx(boolean putBefore, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation, final Integer... keys) throws Exception {
         assertTrue(keys.length > 0);
 
         info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']');

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
index db7115b..87abc1a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
@@ -24,8 +24,8 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Cache sequence basic tests.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
index 5ed6edd..e224300 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
@@ -25,8 +25,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
index 84340a9..c86ec66 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
@@ -28,8 +28,8 @@ import static java.util.concurrent.TimeUnit.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
index 24a33bb..ed7c40a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
@@ -19,8 +19,8 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.junit.Assert.*;
 
 /**
@@ -309,7 +309,7 @@ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extend
      * @param val Value.
      * @throws Exception If failed.
      */
-    private void testTransaction0(GridCache<Integer, Object>[] caches, GridCacheTxConcurrency concurrency,
+    private void testTransaction0(GridCache<Integer, Object>[] caches, IgniteTxConcurrency concurrency,
         Integer key, byte[] val) throws Exception {
         testTransactionMixed0(caches, concurrency, key, val, null, null);
     }
@@ -325,7 +325,7 @@ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extend
      * @param val2 Value 2.
      * @throws Exception If failed.
      */
-    private void testTransactionMixed0(GridCache<Integer, Object>[] caches, GridCacheTxConcurrency concurrency,
+    private void testTransactionMixed0(GridCache<Integer, Object>[] caches, IgniteTxConcurrency concurrency,
         Integer key1, byte[] val1, @Nullable Integer key2, @Nullable Object val2) throws Exception {
         for (GridCache<Integer, Object> cache : caches) {
             IgniteTx tx = cache.txStart(concurrency, REPEATABLE_READ);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
index 5773714..b5a59f9 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
@@ -26,8 +26,8 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests cache access from within jobs.
@@ -103,7 +103,7 @@ public abstract class GridCacheAbstractJobExecutionTest extends GridCommonAbstra
      * @param jobCnt Job count.
      * @throws Exception If fails.
      */
-    private void checkTransactions(final GridCacheTxConcurrency concur, final GridCacheTxIsolation isolation,
+    private void checkTransactions(final IgniteTxConcurrency concur, final IgniteTxIsolation isolation,
         final int jobCnt) throws Exception {
 
         info("Grid 0: " + grid(0).localNode().id());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
index 372639f..f8d1574 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
@@ -25,8 +25,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheConfiguration.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test node restart.
@@ -211,7 +211,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs
     /**
      * @return Transaction concurrency to use in tests.
      */
-    protected GridCacheTxConcurrency txConcurrency() {
+    protected IgniteTxConcurrency txConcurrency() {
         return PESSIMISTIC;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
index 1c8bf17..0152c9f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
@@ -20,8 +20,8 @@ import org.gridgain.testframework.junits.common.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
index a05eacc..f272c87 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
@@ -24,8 +24,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.concurrent.*;
 
 import static java.util.concurrent.TimeUnit.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
index a89ced2..90ae42e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
@@ -19,8 +19,8 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
index 6801ffc..9f29f87 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
@@ -27,8 +27,8 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests events.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
index 4238c15..dab4588 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
@@ -26,8 +26,8 @@ import java.util.*;
 
 import static org.apache.ignite.IgniteState.*;
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**
@@ -148,7 +148,7 @@ public abstract class GridCacheNodeFailureAbstractTest extends GridCommonAbstrac
      * @param isolation Isolation.
      * @throws Exception If check failed.
      */
-    private void checkTransaction(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Throwable {
+    private void checkTransaction(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Throwable {
         int idx = RAND.nextInt(GRID_CNT);
 
         info("Grid will be stopped: " + idx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
index ecdbe00..5c7ba54 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
@@ -27,8 +27,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicWriteOrderMode.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
@@ -80,10 +80,10 @@ public class GridCacheTransformEventSelfTest extends GridCommonAbstractTest {
     private GridCacheAtomicityMode atomicityMode;
 
     /** TX concurrency. */
-    private GridCacheTxConcurrency txConcurrency;
+    private IgniteTxConcurrency txConcurrency;
 
     /** TX isolation. */
-    private GridCacheTxIsolation txIsolation;
+    private IgniteTxIsolation txIsolation;
 
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
@@ -145,7 +145,7 @@ public class GridCacheTransformEventSelfTest extends GridCommonAbstractTest {
      */
     @SuppressWarnings("unchecked")
     private void initialize(GridCacheMode cacheMode, GridCacheAtomicityMode atomicityMode,
-        GridCacheTxConcurrency txConcurrency, GridCacheTxIsolation txIsolation) throws Exception {
+        IgniteTxConcurrency txConcurrency, IgniteTxIsolation txIsolation) throws Exception {
         this.cacheMode = cacheMode;
         this.atomicityMode = atomicityMode;
         this.txConcurrency = txConcurrency;
@@ -443,8 +443,8 @@ public class GridCacheTransformEventSelfTest extends GridCommonAbstractTest {
      *
      * @throws Exception If failed.
      */
-    private void checkTx(GridCacheMode cacheMode, GridCacheTxConcurrency txConcurrency,
-        GridCacheTxIsolation txIsolation) throws Exception {
+    private void checkTx(GridCacheMode cacheMode, IgniteTxConcurrency txConcurrency,
+        IgniteTxIsolation txIsolation) throws Exception {
         initialize(cacheMode, TRANSACTIONAL, txConcurrency, txIsolation);
 
         System.out.println("BEFORE: " + evts.size());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
index f2b1640..153ff55 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxConsistencyRestartAbstractSelfTest.java
@@ -24,8 +24,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.IgniteTxIsolation.REPEATABLE_READ;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
index 9f08861..d7da1ab 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
@@ -28,7 +28,7 @@ import org.gridgain.testframework.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 
 /**
  * Abstract test for originating node failure.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
index 0d28928..1b898fc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
@@ -30,7 +30,7 @@ import org.gridgain.testframework.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 
 /**
  * Abstract test for originating node failure.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
index 0483a26..2227e56 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPreloadAbstractTest.java
@@ -21,7 +21,7 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 
 /**
  * Tests transaction during cache preloading.
@@ -129,7 +129,7 @@ public abstract class IgniteTxPreloadAbstractTest extends GridCacheAbstractSelfT
      * @param txConcurrency Transaction concurrency;
      * @throws Exception If failed.
      */
-    private void testLocalTxPreloading(GridCacheTxConcurrency txConcurrency) throws Exception {
+    private void testLocalTxPreloading(IgniteTxConcurrency txConcurrency) throws Exception {
         Map<String, Integer> map = new HashMap<>();
 
         for (int i = 0; i < 10000; i++)
@@ -150,7 +150,7 @@ public abstract class IgniteTxPreloadAbstractTest extends GridCacheAbstractSelfT
 
             GridCache<String, Integer> cache = cache(i);
 
-            try (IgniteTx tx = cache.txStart(txConcurrency, GridCacheTxIsolation.READ_COMMITTED)) {
+            try (IgniteTx tx = cache.txStart(txConcurrency, IgniteTxIsolation.READ_COMMITTED)) {
                 cache.transform(TX_KEY, new C1<Integer, Integer>() {
                     @Override public Integer apply(Integer val) {
                         if (val == null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
index 7a8f65e..7be173d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxTimeoutAbstractTest.java
@@ -16,8 +16,8 @@ import org.gridgain.testframework.junits.common.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Simple cache test.
@@ -107,8 +107,8 @@ public class IgniteTxTimeoutAbstractTest extends GridCommonAbstractTest {
      * @param isolation Isolation.
      * @throws IgniteCheckedException If test failed.
      */
-    private void checkTransactionTimeout(GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
+    private void checkTransactionTimeout(IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Exception {
 
         int idx = RAND.nextInt(GRID_COUNT);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
index f629304..5635ac8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
@@ -24,8 +24,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Tests write-through.
@@ -220,7 +220,7 @@ public abstract class GridCacheAbstractTransformWriteThroughSelfTest extends Gri
      * @param op Op.
      * @throws Exception If failed.
      */
-    protected void checkTransform(GridCacheTxConcurrency concurrency, int nodeType, int op) throws Exception {
+    protected void checkTransform(IgniteTxConcurrency concurrency, int nodeType, int op) throws Exception {
         GridCacheProjection<String, Integer> cache = cache(0);
 
         Collection<String> keys = keysForType(nodeType);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
index 76bf537..794c487 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
@@ -31,8 +31,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -438,7 +438,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
      * @param isolation Tx isolation.
      * @throws Exception If failed.
      */
-    private void checkSinglePut(boolean explicitTx, GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    private void checkSinglePut(boolean explicitTx, IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws Exception {
         startGrid();
 
@@ -472,7 +472,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
      * @param isolation Tx isolation.
      * @throws Exception If failed.
      */
-    private void checkReentry(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkReentry(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         startGrid();
 
         try {
@@ -515,8 +515,8 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     @SuppressWarnings("AssertEqualsBetweenInconvertibleTypes")
-    private void checkDistributedPut(boolean explicitTx, boolean separate, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
+    private void checkDistributedPut(boolean explicitTx, boolean separate, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Exception {
         storeEnabled = false;
 
         startGridsMultiThreaded(3);
@@ -605,8 +605,8 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     @SuppressWarnings("AssertEqualsBetweenInconvertibleTypes")
-    private void checkNonLocalPuts(boolean explicitTx, boolean separate, GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
+    private void checkNonLocalPuts(boolean explicitTx, boolean separate, IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Exception {
         storeEnabled = false;
 
         startGridsMultiThreaded(3);
@@ -778,7 +778,7 @@ public class GridCacheColocatedDebugTest extends GridCommonAbstractTest {
      * @throws Exception If failed.
      */
     @SuppressWarnings("AssertEqualsBetweenInconvertibleTypes")
-    private void checkRollback(boolean separate, GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    private void checkRollback(boolean separate, IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws Exception {
         storeEnabled = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
index 7855a99..275ede0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
@@ -23,8 +23,8 @@ import org.gridgain.testframework.junits.common.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
index bf15118..ade3df0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
@@ -20,8 +20,8 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Group lock abstract test for partitioned cache.
@@ -63,7 +63,7 @@ public abstract class GridCacheGroupLockPartitionedAbstractSelfTest extends Grid
     /**
      * @throws Exception If failed.
      */
-    private void checkUpdateEntry(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void checkUpdateEntry(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
         GridCache<GridCacheAffinityKey<Integer>, Integer> cache = cache(0);


[45/50] [abbrv] incubator-ignite git commit: GG-9580 - Fix for queries in replicated cache

Posted by sb...@apache.org.
GG-9580 - Fix for queries in replicated cache


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1483feb0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1483feb0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1483feb0

Branch: refs/heads/ignite-32
Commit: 1483feb0e2eed3263ea664115385f9bbe48f927a
Parents: 1812040
Author: Valentin Kulichenko <vk...@gridgain.com>
Authored: Mon Dec 22 16:00:22 2014 -0800
Committer: Valentin Kulichenko <vk...@gridgain.com>
Committed: Mon Dec 22 16:00:22 2014 -0800

----------------------------------------------------------------------
 .../cache/query/GridCacheQueryAdapter.java      | 46 ++++++++++++++++----
 .../java/org/gridgain/grid/util/GridUtils.java  | 19 ++++++++
 .../cache/GridCacheAbstractQuerySelfTest.java   |  3 +-
 .../GridCacheReplicatedQuerySelfTest.java       | 39 ++++++++++++++++-
 4 files changed, 96 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1483feb0/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryAdapter.java
index d15d77c..e22b420 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/query/GridCacheQueryAdapter.java
@@ -13,7 +13,6 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -23,6 +22,7 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
+import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.kernal.processors.cache.query.GridCacheQueryType.*;
 
 /**
@@ -447,18 +447,48 @@ public class GridCacheQueryAdapter<T> implements GridCacheQuery<T> {
      * @return Nodes to execute on.
      */
     private Collection<ClusterNode> nodes() {
-        Collection<ClusterNode> nodes = CU.allNodes(cctx);
+        GridCacheMode cacheMode = cctx.config().getCacheMode();
+
+        switch (cacheMode) {
+            case LOCAL:
+                if (prj != null)
+                    U.warn(log, "Ignoring query projection because it's executed over LOCAL cache " +
+                        "(only local node will be queried): " + this);
 
-        if (prj == null) {
-            if (cctx.isReplicated())
                 return Collections.singletonList(cctx.localNode());
 
-            return nodes;
+            case REPLICATED:
+                if (prj != null)
+                    return nodes(cctx, prj);
+
+                GridCacheDistributionMode mode = cctx.config().getDistributionMode();
+
+                return mode == PARTITIONED_ONLY || mode == NEAR_PARTITIONED ?
+                    Collections.singletonList(cctx.localNode()) :
+                    Collections.singletonList(F.rand(nodes(cctx, null)));
+
+            case PARTITIONED:
+                return nodes(cctx, prj);
+
+            default:
+                throw new IllegalStateException("Unknown cache distribution mode: " + cacheMode);
         }
+    }
+
+    /**
+     * @param cctx Cache context.
+     * @param prj Projection (optional).
+     * @return Collection of data nodes in provided projection (if any).
+     */
+    private static Collection<ClusterNode> nodes(final GridCacheContext<?, ?> cctx, @Nullable final ClusterGroup prj) {
+        assert cctx != null;
+
+        return F.view(CU.allNodes(cctx), new P1<ClusterNode>() {
+            @Override public boolean apply(ClusterNode n) {
+                GridCacheDistributionMode mode = U.distributionMode(n, cctx.name());
 
-        return F.view(nodes, new P1<ClusterNode>() {
-            @Override public boolean apply(ClusterNode e) {
-                return prj.node(e.id()) != null;
+                return (mode == PARTITIONED_ONLY || mode == NEAR_PARTITIONED) &&
+                    (prj == null || prj.node(n.id()) != null);
             }
         });
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1483feb0/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java b/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
index 803badd..fb7955d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/GridUtils.java
@@ -7194,6 +7194,25 @@ public abstract class GridUtils {
     }
 
     /**
+     * Gets cache distribution mode on given node or {@code null} if cache is not
+     * present on given node.
+     *
+     * @param n Node to check.
+     * @param cacheName Cache to check.
+     * @return Cache distribution mode or {@code null} if cache is not found.
+     */
+    @Nullable public static GridCacheDistributionMode distributionMode(ClusterNode n, String cacheName) {
+        GridCacheAttributes[] caches = n.attribute(ATTR_CACHE);
+
+        if (caches != null)
+            for (GridCacheAttributes attrs : caches)
+                if (F.eq(cacheName, attrs.cacheName()))
+                    return attrs.partitionedTaxonomy();
+
+        return null;
+    }
+
+    /**
      * Checks if given node has near cache enabled for the specified
      * partitioned cache.
      *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1483feb0/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
index 2883215..4987a8c 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
@@ -18,7 +18,6 @@ import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.spi.swapspace.file.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.cache.store.*;
@@ -117,7 +116,7 @@ public abstract class GridCacheAbstractQuerySelfTest extends GridCommonAbstractT
 
             cc.setCacheMode(cacheMode());
             cc.setAtomicityMode(atomicityMode());
-            cc.setDistributionMode(distributionMode());
+            cc.setDistributionMode(gridName.startsWith("client") ? CLIENT_ONLY :distributionMode());
             cc.setWriteSynchronizationMode(FULL_SYNC);
             cc.setStore(store);
             cc.setPreloadMode(SYNC);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1483feb0/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
index d72d004..c0c3306 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
@@ -13,7 +13,6 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.*;
@@ -98,6 +97,44 @@ public class GridCacheReplicatedQuerySelfTest extends GridCacheAbstractQuerySelf
     }
 
     /**
+     * @throws Exception If failed.
+     */
+    public void testClientOnlyNode() throws Exception {
+        try {
+            Ignite g = startGrid("client");
+
+            GridCache<Integer, Integer> c = g.cache(null);
+
+            for (int i = 0; i < 10; i++)
+                c.putx(i, i);
+
+            // Client cache should be empty.
+            assertEquals(0, c.size());
+
+            Collection<Map.Entry<Integer, Integer>> res =
+                c.queries().createSqlQuery(Integer.class, "_key >= 5 order by _key").execute().get();
+
+            assertEquals(5, res.size());
+
+            Iterator<Map.Entry<Integer, Integer>> it = res.iterator();
+
+            int i = 5;
+
+            while (it.hasNext()) {
+                Map.Entry<Integer, Integer> e  = it.next();
+
+                assertEquals(i, e.getKey().intValue());
+                assertEquals(i, e.getValue().intValue());
+
+                i++;
+            }
+        }
+        finally {
+            stopGrid("client");
+        }
+    }
+
+    /**
      * JUnit.
      *
      * @throws Exception If failed.


[29/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalAdapter.java
new file mode 100644
index 0000000..4fc7140
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@ -0,0 +1,3179 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.plugin.security.*;
+import org.apache.ignite.portables.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.dr.*;
+import org.gridgain.grid.kernal.processors.dr.*;
+import org.gridgain.grid.util.*;
+import org.gridgain.grid.util.future.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.atomic.*;
+
+import static org.apache.ignite.events.IgniteEventType.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
+import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
+import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
+
+/**
+ * Transaction adapter for cache transactions.
+ */
+public abstract class IgniteTxLocalAdapter<K, V> extends IgniteTxAdapter<K, V>
+    implements IgniteTxLocalEx<K, V> {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Per-transaction read map. */
+    @GridToStringExclude
+    protected Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> txMap;
+
+    /** Read view on transaction map. */
+    @GridToStringExclude
+    protected IgniteTxMap<K, V> readView;
+
+    /** Write view on transaction map. */
+    @GridToStringExclude
+    protected IgniteTxMap<K, V> writeView;
+
+    /** Minimal version encountered (either explicit lock or XID of this transaction). */
+    protected GridCacheVersion minVer;
+
+    /** Flag indicating with TM commit happened. */
+    protected AtomicBoolean doneFlag = new AtomicBoolean(false);
+
+    /** Committed versions, relative to base. */
+    private Collection<GridCacheVersion> committedVers = Collections.emptyList();
+
+    /** Rolled back versions, relative to base. */
+    private Collection<GridCacheVersion> rolledbackVers = Collections.emptyList();
+
+    /** Base for completed versions. */
+    private GridCacheVersion completedBase;
+
+    /** Flag indicating partition lock in group lock transaction. */
+    private boolean partLock;
+
+    /** Flag indicating that transformed values should be sent to remote nodes. */
+    private boolean sndTransformedVals;
+
+    /** Commit error. */
+    protected AtomicReference<Throwable> commitErr = new AtomicReference<>();
+
+    /** Active cache IDs. */
+    protected Set<Integer> activeCacheIds = new HashSet<>();
+
+    /**
+     * Empty constructor required for {@link Externalizable}.
+     */
+    protected IgniteTxLocalAdapter() {
+        // No-op.
+    }
+
+    /**
+     * @param cctx Cache registry.
+     * @param xidVer Transaction ID.
+     * @param implicit {@code True} if transaction was implicitly started by the system,
+     *      {@code false} if it was started explicitly by user.
+     * @param implicitSingle {@code True} if transaction is implicit with only one key.
+     * @param sys System flag.
+     * @param concurrency Concurrency.
+     * @param isolation Isolation.
+     * @param timeout Timeout.
+     * @param txSize Expected transaction size.
+     * @param grpLockKey Group lock key if this is a group-lock transaction.
+     * @param partLock {@code True} if this is a group-lock transaction and lock is acquired for whole partition.
+     */
+    protected IgniteTxLocalAdapter(
+        GridCacheSharedContext<K, V> cctx,
+        GridCacheVersion xidVer,
+        boolean implicit,
+        boolean implicitSingle,
+        boolean sys,
+        IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation,
+        long timeout,
+        boolean invalidate,
+        boolean storeEnabled,
+        int txSize,
+        @Nullable IgniteTxKey grpLockKey,
+        boolean partLock,
+        @Nullable UUID subjId,
+        int taskNameHash
+    ) {
+        super(cctx, xidVer, implicit, implicitSingle, /*local*/true, sys, concurrency, isolation, timeout, invalidate,
+            storeEnabled, txSize, grpLockKey, subjId, taskNameHash);
+
+        assert !partLock || grpLockKey != null;
+
+        this.partLock = partLock;
+
+        minVer = xidVer;
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID eventNodeId() {
+        return cctx.localNodeId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID originatingNodeId() {
+        return cctx.localNodeId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean empty() {
+        return txMap.isEmpty();
+    }
+
+    /** {@inheritDoc} */
+    @Override public Collection<UUID> masterNodeIds() {
+        return Collections.singleton(nodeId);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean partitionLock() {
+        return partLock;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Throwable commitError() {
+        return commitErr.get();
+    }
+
+    /** {@inheritDoc} */
+    @Override public void commitError(Throwable e) {
+        commitErr.compareAndSet(null, e);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner) {
+        assert false;
+        return false;
+    }
+
+    /**
+     * Gets collection of active cache IDs for this transaction.
+     *
+     * @return Collection of active cache IDs.
+     */
+    @Override public Collection<Integer> activeCacheIds() {
+        return activeCacheIds;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isStarted() {
+        return txMap != null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean hasWriteKey(IgniteTxKey<K> key) {
+        return writeView.containsKey(key);
+    }
+
+    /**
+     * @return Transaction read set.
+     */
+    @Override public Set<IgniteTxKey<K>> readSet() {
+        return txMap == null ? Collections.<IgniteTxKey<K>>emptySet() : readView.keySet();
+    }
+
+    /**
+     * @return Transaction write set.
+     */
+    @Override public Set<IgniteTxKey<K>> writeSet() {
+        return txMap == null ? Collections.<IgniteTxKey<K>>emptySet() : writeView.keySet();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean removed(IgniteTxKey<K> key) {
+        if (txMap == null)
+            return false;
+
+        IgniteTxEntry<K, V> e = txMap.get(key);
+
+        return e != null && e.op() == DELETE;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> readMap() {
+        return readView == null ? Collections.<IgniteTxKey<K>, IgniteTxEntry<K, V>>emptyMap() : readView;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> writeMap() {
+        return writeView == null ? Collections.<IgniteTxKey<K>, IgniteTxEntry<K, V>>emptyMap() : writeView;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Collection<IgniteTxEntry<K, V>> allEntries() {
+        return txMap == null ? Collections.<IgniteTxEntry<K, V>>emptySet() : txMap.values();
+    }
+
+    /** {@inheritDoc} */
+    @Override public Collection<IgniteTxEntry<K, V>> readEntries() {
+        return readView == null ? Collections.<IgniteTxEntry<K, V>>emptyList() : readView.values();
+    }
+
+    /** {@inheritDoc} */
+    @Override public Collection<IgniteTxEntry<K, V>> writeEntries() {
+        return writeView == null ? Collections.<IgniteTxEntry<K, V>>emptyList() : writeView.values();
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public IgniteTxEntry<K, V> entry(IgniteTxKey<K> key) {
+        return txMap == null ? null : txMap.get(key);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void seal() {
+        if (readView != null)
+            readView.seal();
+
+        if (writeView != null)
+            writeView.seal();
+    }
+
+    /**
+     * @param snd {@code True} if values in tx entries should be replaced with transformed values and sent
+     * to remote nodes.
+     */
+    public void sendTransformedValues(boolean snd) {
+        sndTransformedVals = snd;
+    }
+
+    /**
+     * @return {@code True} if should be committed after lock is acquired.
+     */
+    protected boolean commitAfterLock() {
+        return implicit() && (!dht() || colocated());
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Nullable @Override public GridTuple<V> peek(
+        GridCacheContext<K, V> cacheCtx,
+        boolean failFast,
+        K key,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter
+    ) throws GridCacheFilterFailedException {
+        IgniteTxEntry<K, V> e = txMap == null ? null : txMap.get(cacheCtx.txKey(key));
+
+        if (e != null) {
+            // We should look at tx entry previous value. If this is a user peek then previous
+            // value is the same as value. If this is a filter evaluation peek then previous value holds
+            // value visible to filter while value contains value enlisted for write.
+            if (!F.isAll(e.cached().wrap(false), filter))
+                return e.hasPreviousValue() ? F.t(CU.<V>failed(failFast, e.previousValue())) : null;
+
+            return e.hasPreviousValue() ? F.t(e.previousValue()) : null;
+        }
+
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<Boolean> loadMissing(
+        final GridCacheContext<K, V> cacheCtx,
+        boolean async,
+        final Collection<? extends K> keys,
+        boolean deserializePortable,
+        final IgniteBiInClosure<K, V> c
+    ) {
+        if (!async) {
+            try {
+                return new GridFinishedFuture<>(cctx.kernalContext(),
+                    cacheCtx.store().loadAllFromStore(this, keys, c));
+            }
+            catch (IgniteCheckedException e) {
+                return new GridFinishedFuture<>(cctx.kernalContext(), e);
+            }
+        }
+        else
+            return cctx.kernalContext().closure().callLocalSafe(
+                new GPC<Boolean>() {
+                    @Override public Boolean call() throws Exception {
+                        return cacheCtx.store().loadAllFromStore(IgniteTxLocalAdapter.this, keys, c);
+                    }
+                },
+                true);
+    }
+
+    /**
+     * Gets minimum version present in transaction.
+     *
+     * @return Minimum versions.
+     */
+    @Override public GridCacheVersion minVersion() {
+        return minVer;
+    }
+
+    /**
+     * @throws IgniteCheckedException If prepare step failed.
+     */
+    @SuppressWarnings({"CatchGenericClass"})
+    public void userPrepare() throws IgniteCheckedException {
+        if (state() != PREPARING) {
+            if (timedOut())
+                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
+
+            IgniteTxState state = state();
+
+            setRollbackOnly();
+
+            throw new IgniteCheckedException("Invalid transaction state for prepare [state=" + state + ", tx=" + this + ']');
+        }
+
+        checkValid();
+
+        try {
+            cctx.tm().prepareTx(this);
+        }
+        catch (IgniteCheckedException e) {
+            throw e;
+        }
+        catch (Throwable e) {
+            setRollbackOnly();
+
+            throw new IgniteCheckedException("Transaction validation produced a runtime exception: " + this, e);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void commit() throws IgniteCheckedException {
+        try {
+            commitAsync().get();
+        }
+        finally {
+            cctx.tm().txContextReset();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void prepare() throws IgniteCheckedException {
+        prepareAsync().get();
+    }
+
+    /**
+     * Checks that locks are in proper state for commit.
+     *
+     * @param entry Cache entry to check.
+     */
+    private void checkCommitLocks(GridCacheEntryEx<K, V> entry) {
+        assert ownsLockUnsafe(entry) : "Lock is not owned for commit in PESSIMISTIC mode [entry=" + entry +
+            ", tx=" + this + ']';
+    }
+
+    /**
+     * Uncommits transaction by invalidating all of its entries.
+     */
+    @SuppressWarnings({"CatchGenericClass"})
+    private void uncommit() {
+        for (IgniteTxEntry<K, V> e : writeMap().values()) {
+            try {
+                GridCacheEntryEx<K, V> cacheEntry = e.cached();
+
+                if (e.op() != NOOP)
+                    cacheEntry.invalidate(null, xidVer);
+            }
+            catch (Throwable t) {
+                U.error(log, "Failed to invalidate transaction entries while reverting a commit.", t);
+
+                break;
+            }
+        }
+
+        cctx.tm().uncommitTx(this);
+    }
+
+    /**
+     * Gets cache entry for given key.
+     *
+     * @param key Key.
+     * @return Cache entry.
+     */
+    protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, IgniteTxKey<K> key) {
+        return cacheCtx.cache().entryEx(key.key());
+    }
+
+    /**
+     * Gets cache entry for given key and topology version.
+     *
+     * @param key Key.
+     * @param topVer Topology version.
+     * @return Cache entry.
+     */
+    protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, IgniteTxKey<K> key, long topVer) {
+        return cacheCtx.cache().entryEx(key.key(), topVer);
+    }
+
+    /**
+     * Performs batch database operations. This commit must be called
+     * before {@link #userCommit()}. This way if there is a DB failure,
+     * cache transaction can still be rolled back.
+     *
+     * @param writeEntries Transaction write set.
+     * @throws IgniteCheckedException If batch update failed.
+     */
+    @SuppressWarnings({"CatchGenericClass"})
+    protected void batchStoreCommit(Iterable<IgniteTxEntry<K, V>> writeEntries) throws IgniteCheckedException {
+        GridCacheStoreManager<K, V> store = store();
+
+        if (store != null && storeEnabled() && (!internal() || groupLock()) && (near() || store.writeToStoreFromDht())) {
+            try {
+                if (writeEntries != null) {
+                    Map<K, IgniteBiTuple<V, GridCacheVersion>> putMap = null;
+                    List<K> rmvCol = null;
+
+                    boolean skipNear = near() && store.writeToStoreFromDht();
+
+                    for (IgniteTxEntry<K, V> e : writeEntries) {
+                        if (skipNear && e.cached().isNear())
+                            continue;
+
+                        boolean intercept = e.context().config().getInterceptor() != null;
+
+                        if (intercept || !F.isEmpty(e.transformClosures()))
+                            e.cached().unswap(true, false);
+
+                        GridTuple3<GridCacheOperation, V, byte[]> res = applyTransformClosures(e, false);
+
+                        GridCacheContext<K, V> cacheCtx = e.context();
+
+                        GridCacheOperation op = res.get1();
+                        K key = e.key();
+                        V val = res.get2();
+                        GridCacheVersion ver = writeVersion();
+
+                        if (op == CREATE || op == UPDATE) {
+                            // Batch-process all removes if needed.
+                            if (rmvCol != null && !rmvCol.isEmpty()) {
+                                store.removeAllFromStore(this, rmvCol);
+
+                                // Reset.
+                                rmvCol.clear();
+                            }
+
+                            if (intercept) {
+                                V old = e.cached().rawGetOrUnmarshal(true);
+
+                                val = (V)cacheCtx.config().getInterceptor().onBeforePut(key, old, val);
+
+                                if (val == null)
+                                    continue;
+
+                                val = cacheCtx.unwrapTemporary(val);
+                            }
+
+                            if (putMap == null)
+                                putMap = new LinkedHashMap<>(writeMap().size(), 1.0f);
+
+                            putMap.put(key, F.t(val, ver));
+                        }
+                        else if (op == DELETE) {
+                            // Batch-process all puts if needed.
+                            if (putMap != null && !putMap.isEmpty()) {
+                                store.putAllToStore(this, putMap);
+
+                                // Reset.
+                                putMap.clear();
+                            }
+
+                            if (intercept) {
+                                V old = e.cached().rawGetOrUnmarshal(true);
+
+                                IgniteBiTuple<Boolean, V> t = cacheCtx.config().<K, V>getInterceptor()
+                                    .onBeforeRemove(key, old);
+
+                                if (cacheCtx.cancelRemove(t))
+                                    continue;
+                            }
+
+                            if (rmvCol == null)
+                                rmvCol = new LinkedList<>();
+
+                            rmvCol.add(key);
+                        }
+                        else if (log.isDebugEnabled())
+                            log.debug("Ignoring NOOP entry for batch store commit: " + e);
+                    }
+
+                    if (putMap != null && !putMap.isEmpty()) {
+                        assert rmvCol == null || rmvCol.isEmpty();
+
+                        // Batch put at the end of transaction.
+                        store.putAllToStore(this, putMap);
+                    }
+
+                    if (rmvCol != null && !rmvCol.isEmpty()) {
+                        assert putMap == null || putMap.isEmpty();
+
+                        // Batch remove at the end of transaction.
+                        store.removeAllFromStore(this, rmvCol);
+                    }
+                }
+
+                // Commit while locks are held.
+                store.txEnd(this, true);
+            }
+            catch (IgniteCheckedException ex) {
+                commitError(ex);
+
+                setRollbackOnly();
+
+                // Safe to remove transaction from committed tx list because nothing was committed yet.
+                cctx.tm().removeCommittedTx(this);
+
+                throw ex;
+            }
+            catch (Throwable ex) {
+                commitError(ex);
+
+                setRollbackOnly();
+
+                // Safe to remove transaction from committed tx list because nothing was committed yet.
+                cctx.tm().removeCommittedTx(this);
+
+                throw new IgniteCheckedException("Failed to commit transaction to database: " + this, ex);
+            }
+        }
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"CatchGenericClass"})
+    @Override public void userCommit() throws IgniteCheckedException {
+        IgniteTxState state = state();
+
+        if (state != COMMITTING) {
+            if (timedOut())
+                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
+
+            setRollbackOnly();
+
+            throw new IgniteCheckedException("Invalid transaction state for commit [state=" + state + ", tx=" + this + ']');
+        }
+
+        checkValid();
+
+        boolean empty = F.isEmpty(near() ? txMap : writeMap());
+
+        // Register this transaction as completed prior to write-phase to
+        // ensure proper lock ordering for removed entries.
+        // We add colocated transaction to committed set even if it is empty to correctly order
+        // locks on backup nodes.
+        if (!empty || colocated())
+            cctx.tm().addCommittedTx(this);
+
+        if (groupLock())
+            addGroupTxMapping(writeSet());
+
+        if (!empty) {
+            // We are holding transaction-level locks for entries here, so we can get next write version.
+            writeVersion(cctx.versions().next(topologyVersion()));
+
+            batchStoreCommit(writeMap().values());
+
+            try {
+                cctx.tm().txContext(this);
+
+                long topVer = topologyVersion();
+
+                /*
+                 * Commit to cache. Note that for 'near' transaction we loop through all the entries.
+                 */
+                for (IgniteTxEntry<K, V> txEntry : (near() ? allEntries() : writeEntries())) {
+                    GridCacheContext<K, V> cacheCtx = txEntry.context();
+
+                    GridDrType drType = cacheCtx.isDrEnabled() ? DR_PRIMARY : DR_NONE;
+
+                    UUID nodeId = txEntry.nodeId() == null ? this.nodeId : txEntry.nodeId();
+
+                    try {
+                        while (true) {
+                            try {
+                                GridCacheEntryEx<K, V> cached = txEntry.cached();
+
+                                // Must try to evict near entries before committing from
+                                // transaction manager to make sure locks are held.
+                                if (!evictNearEntry(txEntry, false)) {
+                                    if (cacheCtx.isNear() && cacheCtx.dr().receiveEnabled()) {
+                                        cached.markObsolete(xidVer);
+
+                                        break;
+                                    }
+
+                                    if (cached.detached())
+                                        break;
+
+                                    GridCacheEntryEx<K, V> nearCached = null;
+
+                                    boolean metrics = true;
+
+                                    if (updateNearCache(cacheCtx, txEntry.key(), topVer))
+                                        nearCached = cacheCtx.dht().near().peekEx(txEntry.key());
+                                    else if (cacheCtx.isNear() && txEntry.locallyMapped())
+                                        metrics = false;
+
+                                    boolean evt = !isNearLocallyMapped(txEntry, false);
+
+                                    // For near local transactions we must record DHT version
+                                    // in order to keep near entries on backup nodes until
+                                    // backup remote transaction completes.
+                                    if (cacheCtx.isNear())
+                                        ((GridNearCacheEntry<K, V>)cached).recordDhtVersion(txEntry.dhtVersion());
+
+                                    if (!F.isEmpty(txEntry.transformClosures()) || !F.isEmpty(txEntry.filters()))
+                                        txEntry.cached().unswap(true, false);
+
+                                    GridTuple3<GridCacheOperation, V, byte[]> res = applyTransformClosures(txEntry,
+                                        true);
+
+                                    GridCacheOperation op = res.get1();
+                                    V val = res.get2();
+                                    byte[] valBytes = res.get3();
+
+                                    // Preserve TTL if needed.
+                                    if (txEntry.ttl() < 0)
+                                        txEntry.ttl(cached.ttl());
+
+                                    // Deal with DR conflicts.
+                                    GridCacheVersion explicitVer = txEntry.drVersion() != null ?
+                                        txEntry.drVersion() : writeVersion();
+
+                                    GridDrResolveResult<V> drRes = cacheCtx.dr().resolveTx(cached,
+                                        txEntry,
+                                        explicitVer,
+                                        op,
+                                        val,
+                                        valBytes,
+                                        txEntry.ttl(),
+                                        txEntry.drExpireTime());
+
+                                    if (drRes != null) {
+                                        op = drRes.operation();
+                                        val = drRes.value();
+                                        valBytes = drRes.valueBytes();
+
+                                        if (drRes.isMerge())
+                                            explicitVer = writeVersion();
+                                    }
+                                    else
+                                        // Nullify explicit version so that innerSet/innerRemove will work as usual.
+                                        explicitVer = null;
+
+                                    if (sndTransformedVals || (drRes != null)) {
+                                        assert sndTransformedVals && cacheCtx.isReplicated() || (drRes != null);
+
+                                        txEntry.value(val, true, false);
+                                        txEntry.valueBytes(valBytes);
+                                        txEntry.op(op);
+                                        txEntry.transformClosures(null);
+                                        txEntry.drVersion(explicitVer);
+                                    }
+
+                                    if (op == CREATE || op == UPDATE) {
+                                        GridCacheUpdateTxResult<V> updRes = cached.innerSet(
+                                            this,
+                                            eventNodeId(),
+                                            txEntry.nodeId(),
+                                            val,
+                                            valBytes,
+                                            false,
+                                            false,
+                                            txEntry.ttl(),
+                                            evt,
+                                            metrics,
+                                            topVer,
+                                            txEntry.filters(),
+                                            cached.detached() ? DR_NONE : drType,
+                                            txEntry.drExpireTime(),
+                                            cached.isNear() ? null : explicitVer,
+                                            CU.subjectId(this, cctx),
+                                            resolveTaskName());
+
+                                        if (nearCached != null && updRes.success())
+                                            nearCached.innerSet(
+                                                null,
+                                                eventNodeId(),
+                                                nodeId,
+                                                val,
+                                                valBytes,
+                                                false,
+                                                false,
+                                                txEntry.ttl(),
+                                                false,
+                                                metrics,
+                                                topVer,
+                                                CU.<K, V>empty(),
+                                                DR_NONE,
+                                                txEntry.drExpireTime(),
+                                                null,
+                                                CU.subjectId(this, cctx),
+                                                resolveTaskName());
+                                    }
+                                    else if (op == DELETE) {
+                                        GridCacheUpdateTxResult<V> updRes = cached.innerRemove(
+                                            this,
+                                            eventNodeId(),
+                                            txEntry.nodeId(),
+                                            false,
+                                            false,
+                                            evt,
+                                            metrics,
+                                            topVer,
+                                            txEntry.filters(),
+                                            cached.detached()  ? DR_NONE : drType,
+                                            cached.isNear() ? null : explicitVer,
+                                            CU.subjectId(this, cctx),
+                                            resolveTaskName());
+
+                                        if (nearCached != null && updRes.success())
+                                            nearCached.innerRemove(
+                                                null,
+                                                eventNodeId(),
+                                                nodeId,
+                                                false,
+                                                false,
+                                                false,
+                                                metrics,
+                                                topVer,
+                                                CU.<K, V>empty(),
+                                                DR_NONE,
+                                                null,
+                                                CU.subjectId(this, cctx),
+                                                resolveTaskName());
+                                    }
+                                    else if (op == RELOAD) {
+                                        cached.innerReload(CU.<K, V>empty());
+
+                                        if (nearCached != null)
+                                            nearCached.innerReload(CU.<K, V>empty());
+                                    }
+                                    else if (op == READ) {
+                                        if (log.isDebugEnabled())
+                                            log.debug("Ignoring READ entry when committing: " + txEntry);
+                                    }
+                                    else {
+                                        assert !groupLock() || txEntry.groupLockEntry() || ownsLock(txEntry.cached()):
+                                            "Transaction does not own lock for group lock entry during  commit [tx=" +
+                                                this + ", txEntry=" + txEntry + ']';
+
+                                        if (log.isDebugEnabled())
+                                            log.debug("Ignoring NOOP entry when committing: " + txEntry);
+                                    }
+                                }
+
+                                // Check commit locks after set, to make sure that
+                                // we are not changing obsolete entries.
+                                // (innerSet and innerRemove will throw an exception
+                                // if an entry is obsolete).
+                                if (txEntry.op() != READ && !txEntry.groupLockEntry())
+                                    checkCommitLocks(cached);
+
+                                // Break out of while loop.
+                                break;
+                            }
+                            // If entry cached within transaction got removed.
+                            catch (GridCacheEntryRemovedException ignored) {
+                                if (log.isDebugEnabled())
+                                    log.debug("Got removed entry during transaction commit (will retry): " + txEntry);
+
+                                txEntry.cached(entryEx(cacheCtx, txEntry.txKey()), txEntry.keyBytes());
+                            }
+                        }
+                    }
+                    catch (Throwable ex) {
+                        // We are about to initiate transaction rollback when tx has started to committing.
+                        // Need to remove version from committed list.
+                        cctx.tm().removeCommittedTx(this);
+
+                        if (X.hasCause(ex, GridCacheIndexUpdateException.class) && cacheCtx.cache().isMongoDataCache()) {
+                            if (log.isDebugEnabled())
+                                log.debug("Failed to update mongo document index (transaction entry will " +
+                                    "be ignored): " + txEntry);
+
+                            // Set operation to NOOP.
+                            txEntry.op(NOOP);
+
+                            setRollbackOnly();
+
+                            throw ex;
+                        }
+                        else {
+                            IgniteCheckedException err = new IgniteTxHeuristicException("Failed to locally write to cache " +
+                                "(all transaction entries will be invalidated, however there was a window when " +
+                                "entries for this transaction were visible to others): " + this, ex);
+
+                            U.error(log, "Heuristic transaction failure.", err);
+
+                            commitErr.compareAndSet(null, err);
+
+                            state(UNKNOWN);
+
+                            try {
+                                // Courtesy to minimize damage.
+                                uncommit();
+                            }
+                            catch (Throwable ex1) {
+                                U.error(log, "Failed to uncommit transaction: " + this, ex1);
+                            }
+
+                            throw err;
+                        }
+                    }
+                }
+            }
+            finally {
+                cctx.tm().txContextReset();
+            }
+        }
+        else {
+            GridCacheStoreManager<K, V> store = store();
+
+            if (store != null && (!internal() || groupLock())) {
+                try {
+                    store.txEnd(this, true);
+                }
+                catch (IgniteCheckedException e) {
+                    commitError(e);
+
+                    setRollbackOnly();
+
+                    cctx.tm().removeCommittedTx(this);
+
+                    throw e;
+                }
+            }
+        }
+
+        // Do not unlock transaction entries if one-phase commit.
+        if (!onePhaseCommit()) {
+            if (doneFlag.compareAndSet(false, true)) {
+                // Unlock all locks.
+                cctx.tm().commitTx(this);
+
+                boolean needsCompletedVersions = needsCompletedVersions();
+
+                assert !needsCompletedVersions || completedBase != null;
+                assert !needsCompletedVersions || committedVers != null;
+                assert !needsCompletedVersions || rolledbackVers != null;
+            }
+        }
+    }
+
+    /**
+     * Commits transaction to transaction manager. Used for one-phase commit transactions only.
+     */
+    public void tmCommit() {
+        assert onePhaseCommit();
+
+        if (doneFlag.compareAndSet(false, true)) {
+            // Unlock all locks.
+            cctx.tm().commitTx(this);
+
+            state(COMMITTED);
+
+            boolean needsCompletedVersions = needsCompletedVersions();
+
+            assert !needsCompletedVersions || completedBase != null;
+            assert !needsCompletedVersions || committedVers != null;
+            assert !needsCompletedVersions || rolledbackVers != null;
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void completedVersions(
+        GridCacheVersion completedBase,
+        Collection<GridCacheVersion> committedVers,
+        Collection<GridCacheVersion> rolledbackVers) {
+        this.completedBase = completedBase;
+        this.committedVers = committedVers;
+        this.rolledbackVers = rolledbackVers;
+    }
+
+    /**
+     * @return Completed base for ordering.
+     */
+    public GridCacheVersion completedBase() {
+        return completedBase;
+    }
+
+    /**
+     * @return Committed versions.
+     */
+    public Collection<GridCacheVersion> committedVersions() {
+        return committedVers;
+    }
+
+    /**
+     * @return Rolledback versions.
+     */
+    public Collection<GridCacheVersion> rolledbackVersions() {
+        return rolledbackVers;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void userRollback() throws IgniteCheckedException {
+        IgniteTxState state = state();
+
+        if (state != ROLLING_BACK && state != ROLLED_BACK) {
+            setRollbackOnly();
+
+            throw new IgniteCheckedException("Invalid transaction state for rollback [state=" + state + ", tx=" + this + ']',
+                commitErr.get());
+        }
+
+        if (doneFlag.compareAndSet(false, true)) {
+            try {
+                if (near())
+                    // Must evict near entries before rolling back from
+                    // transaction manager, so they will be removed from cache.
+                    for (IgniteTxEntry<K, V> e : allEntries())
+                        evictNearEntry(e, false);
+
+                cctx.tm().rollbackTx(this);
+
+                GridCacheStoreManager<K, V> store = store();
+
+                if (store != null && (near() || store.writeToStoreFromDht())) {
+                    if (!internal() || groupLock())
+                        store.txEnd(this, false);
+                }
+            }
+            catch (Error | IgniteCheckedException | RuntimeException e) {
+                U.addLastCause(e, commitErr.get(), log);
+
+                throw e;
+            }
+        }
+    }
+
+    /**
+     * Checks if there is a cached or swapped value for
+     * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, IgnitePredicate[])} method.
+     *
+     *
+     * @param keys Key to enlist.
+     * @param cached Cached entry, if called from entry wrapper.
+     * @param map Return map.
+     * @param missed Map of missed keys.
+     * @param keysCnt Keys count (to avoid call to {@code Collection.size()}).
+     * @param deserializePortable Deserialize portable flag.
+     * @param filter Filter to test.
+     * @throws IgniteCheckedException If failed.
+     * @return Enlisted keys.
+     */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    private Collection<K> enlistRead(
+        final GridCacheContext<K, V> cacheCtx,
+        Collection<? extends K> keys,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        Map<K, V> map,
+        Map<K, GridCacheVersion> missed,
+        int keysCnt,
+        boolean deserializePortable,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter) throws IgniteCheckedException {
+        assert !F.isEmpty(keys);
+        assert keysCnt == keys.size();
+        assert cached == null || F.first(keys).equals(cached.key());
+
+        cacheCtx.checkSecurity(GridSecurityPermission.CACHE_READ);
+
+        groupLockSanityCheck(cacheCtx, keys);
+
+        boolean single = keysCnt == 1;
+
+        Collection<K> lockKeys = null;
+
+        long topVer = topologyVersion();
+
+        // In this loop we cover only read-committed or optimistic transactions.
+        // Transactions that are pessimistic and not read-committed are covered
+        // outside of this loop.
+        for (K key : keys) {
+            if (key == null)
+                continue;
+
+            if (pessimistic() && !readCommitted())
+                addActiveCache(cacheCtx);
+
+            IgniteTxKey<K> txKey = cacheCtx.txKey(key);
+
+            // Check write map (always check writes first).
+            IgniteTxEntry<K, V> txEntry = entry(txKey);
+
+            // Either non-read-committed or there was a previous write.
+            if (txEntry != null) {
+                if (cacheCtx.isAll(txEntry.cached(), filter)) {
+                    V val = txEntry.value();
+
+                    // Read value from locked entry in group-lock transaction as well.
+                    if (txEntry.hasValue()) {
+                        if (!F.isEmpty(txEntry.transformClosures())) {
+                            for (IgniteClosure<V, V> clos : txEntry.transformClosures())
+                                val = clos.apply(val);
+                        }
+
+                        if (val != null) {
+                            V val0 = val;
+
+                            if (cacheCtx.portableEnabled())
+                                val0 = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
+
+                            map.put(key, val0);
+                        }
+                    }
+                    else {
+                        assert txEntry.op() == TRANSFORM || (groupLock() && !txEntry.groupLockEntry());
+
+                        while (true) {
+                            try {
+                                Object transformClo =
+                                    (txEntry.op() == TRANSFORM  && cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ)) ?
+                                        F.first(txEntry.transformClosures()) : null;
+
+                                val = txEntry.cached().innerGet(this,
+                                    /*swap*/true,
+                                    /*read-through*/false,
+                                    /*fail fast*/true,
+                                    /*unmarshal*/true,
+                                    /*metrics*/true,
+                                    /*event*/true,
+                                    /*temporary*/false,
+                                    CU.subjectId(this, cctx),
+                                    transformClo,
+                                    resolveTaskName(),
+                                    filter);
+
+                                if (val != null) {
+                                    if (!readCommitted())
+                                        txEntry.readValue(val);
+
+                                    if (!F.isEmpty(txEntry.transformClosures())) {
+                                        for (IgniteClosure<V, V> clos : txEntry.transformClosures())
+                                            val = clos.apply(val);
+                                    }
+
+                                    V val0 = val;
+
+                                    if (cacheCtx.portableEnabled())
+                                        val0 = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
+
+                                    map.put(key, val0);
+                                }
+                                else
+                                    missed.put(key, txEntry.cached().version());
+
+                                break;
+                            }
+                            catch (GridCacheFilterFailedException e) {
+                                if (log.isDebugEnabled())
+                                    log.debug("Filter validation failed for entry: " + txEntry);
+
+                                if (!readCommitted())
+                                    txEntry.readValue(e.<V>value());
+                            }
+                            catch (GridCacheEntryRemovedException ignored) {
+                                txEntry.cached(entryEx(cacheCtx, txEntry.txKey(), topVer), txEntry.keyBytes());
+                            }
+                        }
+                    }
+                }
+            }
+            // First time access within transaction.
+            else {
+                if (lockKeys == null)
+                    lockKeys = single ? (Collection<K>)keys : new ArrayList<K>(keysCnt);
+
+                if (!single)
+                    lockKeys.add(key);
+
+                while (true) {
+                    GridCacheEntryEx<K, V> entry;
+
+                    if (cached != null) {
+                        entry = cached;
+
+                        cached = null;
+                    }
+                    else
+                        entry = entryEx(cacheCtx, txKey, topVer);
+
+                    try {
+                        GridCacheVersion ver = entry.version();
+
+                        V val = null;
+
+                        if (!pessimistic() || readCommitted() || groupLock()) {
+                            // This call will check for filter.
+                            val = entry.innerGet(this,
+                                /*swap*/true,
+                                /*no read-through*/false,
+                                /*fail-fast*/true,
+                                /*unmarshal*/true,
+                                /*metrics*/true,
+                                /*event*/true,
+                                /*temporary*/false,
+                                CU.subjectId(this, cctx),
+                                null,
+                                resolveTaskName(),
+                                filter);
+
+                            if (val != null) {
+                                V val0 = val;
+
+                                if (cacheCtx.portableEnabled())
+                                    val0 = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
+
+                                map.put(key, val0);
+                            }
+                            else
+                                missed.put(key, ver);
+                        }
+                        else
+                            // We must wait for the lock in pessimistic mode.
+                            missed.put(key, ver);
+
+                        if (!readCommitted()) {
+                            txEntry = addEntry(READ, val, null, entry, -1, filter, true, -1L, -1L, null);
+
+                            if (groupLock())
+                                txEntry.groupLockEntry(true);
+
+                            // As optimization, mark as checked immediately
+                            // for non-pessimistic if value is not null.
+                            if (val != null && !pessimistic())
+                                txEntry.markValid();
+                        }
+
+                        break; // While.
+                    }
+                    catch (GridCacheEntryRemovedException ignored) {
+                        if (log.isDebugEnabled())
+                            log.debug("Got removed entry in transaction getAllAsync(..) (will retry): " + key);
+                    }
+                    catch (GridCacheFilterFailedException e) {
+                        if (log.isDebugEnabled())
+                            log.debug("Filter validation failed for entry: " + entry);
+
+                        if (!readCommitted()) {
+                            // Value for which failure occurred.
+                            V val = e.<V>value();
+
+                            txEntry = addEntry(READ, val, null, entry, -1, CU.<K, V>empty(), false, -1L, -1L, null);
+
+                            // Mark as checked immediately for non-pessimistic.
+                            if (val != null && !pessimistic())
+                                txEntry.markValid();
+                        }
+
+                        break; // While loop.
+                    }
+                }
+            }
+        }
+
+        return lockKeys != null ? lockKeys : Collections.<K>emptyList();
+    }
+
+    /**
+     * Adds skipped key.
+     *
+     * @param skipped Skipped set (possibly {@code null}).
+     * @param key Key to add.
+     * @return Skipped set.
+     */
+    private Set<K> skip(Set<K> skipped, K key) {
+        if (skipped == null)
+            skipped = new GridLeanSet<>();
+
+        skipped.add(key);
+
+        if (log.isDebugEnabled())
+            log.debug("Added key to skipped set: " + key);
+
+        return skipped;
+    }
+
+    /**
+     * Loads all missed keys for
+     * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, IgnitePredicate[])} method.
+     *
+     * @param map Return map.
+     * @param missedMap Missed keys.
+     * @param redos Keys to retry.
+     * @param deserializePortable Deserialize portable flag.
+     * @param filter Filter.
+     * @return Loaded key-value pairs.
+     */
+    private IgniteFuture<Map<K, V>> checkMissed(
+        final GridCacheContext<K, V> cacheCtx,
+        final Map<K, V> map,
+        final Map<K, GridCacheVersion> missedMap,
+        @Nullable final Collection<K> redos,
+        final boolean deserializePortable,
+        final IgnitePredicate<GridCacheEntry<K, V>>[] filter
+    ) {
+        assert redos != null || pessimistic();
+
+        if (log.isDebugEnabled())
+            log.debug("Loading missed values for missed map: " + missedMap);
+
+        final Collection<K> loaded = new HashSet<>();
+
+        return new GridEmbeddedFuture<>(cctx.kernalContext(),
+            loadMissing(
+                cacheCtx,
+                false, missedMap.keySet(), deserializePortable, new CI2<K, V>() {
+                /** */
+                private GridCacheVersion nextVer;
+
+                @Override public void apply(K key, V val) {
+                    if (isRollbackOnly()) {
+                        if (log.isDebugEnabled())
+                            log.debug("Ignoring loaded value for read because transaction was rolled back: " +
+                                IgniteTxLocalAdapter.this);
+
+                        return;
+                    }
+
+                    GridCacheVersion ver = missedMap.get(key);
+
+                    if (ver == null) {
+                        if (log.isDebugEnabled())
+                            log.debug("Value from storage was never asked for [key=" + key + ", val=" + val + ']');
+
+                        return;
+                    }
+
+                    V visibleVal = val;
+
+                    IgniteTxKey<K> txKey = cacheCtx.txKey(key);
+
+                    IgniteTxEntry<K, V> txEntry = entry(txKey);
+
+                    if (txEntry != null) {
+                        if (!readCommitted())
+                            txEntry.readValue(val);
+
+                        if (!F.isEmpty(txEntry.transformClosures())) {
+                            for (IgniteClosure<V, V> clos : txEntry.transformClosures())
+                                visibleVal = clos.apply(visibleVal);
+                        }
+                    }
+
+                    // In pessimistic mode we hold the lock, so filter validation
+                    // should always be valid.
+                    if (pessimistic())
+                        ver = null;
+
+                    // Initialize next version.
+                    if (nextVer == null)
+                        nextVer = cctx.versions().next(topologyVersion());
+
+                    while (true) {
+                        assert txEntry != null || readCommitted() || groupLock();
+
+                        GridCacheEntryEx<K, V> e = txEntry == null ? entryEx(cacheCtx, txKey) : txEntry.cached();
+
+                        try {
+                            boolean pass = cacheCtx.isAll(e, filter);
+
+                            // Must initialize to true since even if filter didn't pass,
+                            // we still record the transaction value.
+                            boolean set = true;
+
+                            if (pass) {
+                                try {
+                                    set = e.versionedValue(val, ver, nextVer);
+                                }
+                                catch (GridCacheEntryRemovedException ignore) {
+                                    if (log.isDebugEnabled())
+                                        log.debug("Got removed entry in transaction getAll method " +
+                                            "(will try again): " + e);
+
+                                    if (pessimistic() && !readCommitted() && !isRollbackOnly() &&
+                                        (!groupLock() || F.eq(e.key(), groupLockKey()))) {
+                                        U.error(log, "Inconsistent transaction state (entry got removed while " +
+                                            "holding lock) [entry=" + e + ", tx=" + IgniteTxLocalAdapter.this + "]");
+
+                                        setRollbackOnly();
+
+                                        return;
+                                    }
+
+                                    if (txEntry != null)
+                                        txEntry.cached(entryEx(cacheCtx, txKey), txEntry.keyBytes());
+
+                                    continue; // While loop.
+                                }
+                            }
+
+                            // In pessimistic mode, we should always be able to set.
+                            assert set || !pessimistic();
+
+                            if (readCommitted() || groupLock()) {
+                                cacheCtx.evicts().touch(e, topologyVersion());
+
+                                if (pass && visibleVal != null)
+                                    map.put(key, visibleVal);
+                            }
+                            else {
+                                assert txEntry != null;
+
+                                if (set || F.isEmptyOrNulls(filter)) {
+                                    txEntry.setAndMarkValid(val);
+
+                                    if (pass && visibleVal != null)
+                                        map.put(key, visibleVal);
+                                }
+                                else {
+                                    assert !pessimistic() : "Pessimistic transaction should not have to redo gets: " +
+                                        this;
+
+                                    if (log.isDebugEnabled())
+                                        log.debug("Failed to set versioned value for entry (will redo): " + e);
+
+                                    redos.add(key);
+                                }
+                            }
+
+                            loaded.add(key);
+
+                            if (log.isDebugEnabled())
+                                log.debug("Set value loaded from store into entry from transaction [set=" + set +
+                                    ", matchVer=" + ver + ", newVer=" + nextVer + ", entry=" + e + ']');
+
+                            break; // While loop.
+                        }
+                        catch (IgniteCheckedException ex) {
+                            throw new IgniteException("Failed to put value for cache entry: " + e, ex);
+                        }
+                    }
+                }
+            }),
+            new C2<Boolean, Exception, Map<K, V>>() {
+                @Override public Map<K, V> apply(Boolean b, Exception e) {
+                    if (e != null) {
+                        setRollbackOnly();
+
+                        throw new GridClosureException(e);
+                    }
+
+                    if (!b && !readCommitted()) {
+                        // There is no store - we must mark the entries.
+                        for (K key : missedMap.keySet()) {
+                            IgniteTxEntry<K, V> txEntry = entry(cacheCtx.txKey(key));
+
+                            if (txEntry != null)
+                                txEntry.markValid();
+                        }
+                    }
+
+                    if (readCommitted()) {
+                        Collection<K> notFound = new HashSet<>(missedMap.keySet());
+
+                        notFound.removeAll(loaded);
+
+                        // In read-committed mode touch entries that have just been read.
+                        for (K key : notFound) {
+                            IgniteTxEntry<K, V> txEntry = entry(cacheCtx.txKey(key));
+
+                            GridCacheEntryEx<K, V> entry = txEntry == null ? cacheCtx.cache().peekEx(key) :
+                                txEntry.cached();
+
+                            if (entry != null)
+                                cacheCtx.evicts().touch(entry, topologyVersion());
+                        }
+                    }
+
+                    return map;
+                }
+            });
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<Map<K, V>> getAllAsync(
+        final GridCacheContext<K, V> cacheCtx,
+        Collection<? extends K> keys,
+        @Nullable GridCacheEntryEx<K, V> cached, final boolean deserializePortable,
+        final IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
+        if (F.isEmpty(keys))
+            return new GridFinishedFuture<>(cctx.kernalContext(), Collections.<K, V>emptyMap());
+
+        init();
+
+        int keysCnt = keys.size();
+
+        boolean single = keysCnt == 1;
+
+        try {
+            checkValid();
+
+            final Map<K, V> retMap = new GridLeanMap<>(keysCnt);
+
+            final Map<K, GridCacheVersion> missed = new GridLeanMap<>(pessimistic() ? keysCnt : 0);
+
+            final Collection<K> lockKeys = enlistRead(cacheCtx, keys, cached, retMap, missed, keysCnt,
+                deserializePortable, filter);
+
+            if (single && missed.isEmpty())
+                return new GridFinishedFuture<>(cctx.kernalContext(), retMap);
+
+            // Handle locks.
+            if (pessimistic() && !readCommitted() && !groupLock()) {
+                IgniteFuture<Boolean> fut = cacheCtx.cache().txLockAsync(lockKeys, lockTimeout(), this, true, true,
+                    isolation, isInvalidate(), CU.<K, V>empty());
+
+                PLC2<Map<K, V>> plc2 = new PLC2<Map<K, V>>() {
+                    @Override public IgniteFuture<Map<K, V>> postLock() throws IgniteCheckedException {
+                        if (log.isDebugEnabled())
+                            log.debug("Acquired transaction lock for read on keys: " + lockKeys);
+
+                        // Load keys only after the locks have been acquired.
+                        for (K key : lockKeys) {
+                            if (retMap.containsKey(key))
+                                // We already have a return value.
+                                continue;
+
+                            IgniteTxKey<K> txKey = cacheCtx.txKey(key);
+
+                            IgniteTxEntry<K, V> txEntry = entry(txKey);
+
+                            assert txEntry != null;
+
+                            // Check if there is cached value.
+                            while (true) {
+                                GridCacheEntryEx<K, V> cached = txEntry.cached();
+
+                                try {
+                                    Object transformClo =
+                                        (!F.isEmpty(txEntry.transformClosures()) &&
+                                            cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ)) ?
+                                            F.first(txEntry.transformClosures()) : null;
+
+                                    V val = cached.innerGet(IgniteTxLocalAdapter.this,
+                                        cacheCtx.isSwapOrOffheapEnabled(),
+                                        /*read-through*/false,
+                                        /*fail-fast*/true,
+                                        /*unmarshal*/true,
+                                        /*metrics*/true,
+                                        /*events*/true,
+                                        /*temporary*/true,
+                                        CU.subjectId(IgniteTxLocalAdapter.this, cctx),
+                                        transformClo,
+                                        resolveTaskName(),
+                                        filter);
+
+                                    // If value is in cache and passed the filter.
+                                    if (val != null) {
+                                        missed.remove(key);
+
+                                        txEntry.setAndMarkValid(val);
+
+                                        if (!F.isEmpty(txEntry.transformClosures())) {
+                                            for (IgniteClosure<V, V> clos : txEntry.transformClosures())
+                                                val = clos.apply(val);
+                                        }
+
+                                        if (cacheCtx.portableEnabled())
+                                            val = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
+
+                                        retMap.put(key, val);
+                                    }
+
+                                    // Even though we bring the value back from lock acquisition,
+                                    // we still need to recheck primary node for consistent values
+                                    // in case of concurrent transactional locks.
+
+                                    break; // While.
+                                }
+                                catch (GridCacheEntryRemovedException ignore) {
+                                    if (log.isDebugEnabled())
+                                        log.debug("Got removed exception in get postLock (will retry): " +
+                                            cached);
+
+                                    txEntry.cached(entryEx(cacheCtx, txKey), txEntry.keyBytes());
+                                }
+                                catch (GridCacheFilterFailedException e) {
+                                    // Failed value for the filter.
+                                    V val = e.value();
+
+                                    if (val != null) {
+                                        // If filter fails after lock is acquired, we don't reload,
+                                        // regardless if value is null or not.
+                                        missed.remove(key);
+
+                                        txEntry.setAndMarkValid(val);
+                                    }
+
+                                    break; // While.
+                                }
+                            }
+                        }
+
+                        if (!missed.isEmpty() && (cacheCtx.isReplicated() || cacheCtx.isLocal()))
+                            return checkMissed(cacheCtx, retMap, missed, null, deserializePortable, filter);
+
+                        return new GridFinishedFuture<>(cctx.kernalContext(), Collections.<K, V>emptyMap());
+                    }
+                };
+
+                FinishClosure<Map<K, V>> finClos = new FinishClosure<Map<K, V>>() {
+                    @Override Map<K, V> finish(Map<K, V> loaded) {
+                        retMap.putAll(loaded);
+
+                        return retMap;
+                    }
+                };
+
+                if (fut.isDone()) {
+                    try {
+                        IgniteFuture<Map<K, V>> fut1 = plc2.apply(fut.get(), null);
+
+                        return fut1.isDone() ?
+                            new GridFinishedFutureEx<>(finClos.apply(fut1.get(), null)) :
+                            new GridEmbeddedFuture<>(cctx.kernalContext(), fut1, finClos);
+                    }
+                    catch (GridClosureException e) {
+                        return new GridFinishedFuture<>(cctx.kernalContext(), e.unwrap());
+                    }
+                    catch (IgniteCheckedException e) {
+                        try {
+                            return plc2.apply(false, e);
+                        }
+                        catch (Exception e1) {
+                            return new GridFinishedFuture<>(cctx.kernalContext(), e1);
+                        }
+                    }
+                }
+                else {
+                    return new GridEmbeddedFuture<>(
+                        cctx.kernalContext(),
+                        fut,
+                        plc2,
+                        finClos);
+                }
+            }
+            else {
+                assert optimistic() || readCommitted() || groupLock();
+
+                final Collection<K> redos = new LinkedList<>();
+
+                if (!missed.isEmpty()) {
+                    if (!readCommitted())
+                        for (Iterator<K> it = missed.keySet().iterator(); it.hasNext(); )
+                            if (retMap.containsKey(it.next()))
+                                it.remove();
+
+                    if (missed.isEmpty())
+                        return new GridFinishedFuture<>(cctx.kernalContext(), retMap);
+
+                    return new GridEmbeddedFuture<>(
+                        cctx.kernalContext(),
+                        // First future.
+                        checkMissed(cacheCtx, retMap, missed, redos, deserializePortable, filter),
+                        // Closure that returns another future, based on result from first.
+                        new PMC<Map<K, V>>() {
+                            @Override public IgniteFuture<Map<K, V>> postMiss(Map<K, V> map) {
+                                if (redos.isEmpty())
+                                    return new GridFinishedFuture<>(cctx.kernalContext(),
+                                        Collections.<K, V>emptyMap());
+
+                                if (log.isDebugEnabled())
+                                    log.debug("Starting to future-recursively get values for keys: " + redos);
+
+                                // Future recursion.
+                                return getAllAsync(cacheCtx, redos, null, deserializePortable, filter);
+                            }
+                        },
+                        // Finalize.
+                        new FinishClosure<Map<K, V>>() {
+                            @Override Map<K, V> finish(Map<K, V> loaded) {
+                                for (Map.Entry<K, V> entry : loaded.entrySet()) {
+                                    IgniteTxEntry<K, V> txEntry = entry(cacheCtx.txKey(entry.getKey()));
+
+                                    V val = entry.getValue();
+
+                                    if (!readCommitted())
+                                        txEntry.readValue(val);
+
+                                    if (!F.isEmpty(txEntry.transformClosures())) {
+                                        for (IgniteClosure<V, V> clos : txEntry.transformClosures())
+                                            val = clos.apply(val);
+                                    }
+
+                                    retMap.put(entry.getKey(), val);
+                                }
+
+                                return retMap;
+                            }
+                        }
+                    );
+                }
+
+                return new GridFinishedFuture<>(cctx.kernalContext(), retMap);
+            }
+        }
+        catch (IgniteCheckedException e) {
+            setRollbackOnly();
+
+            return new GridFinishedFuture<>(cctx.kernalContext(), e);
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<GridCacheReturn<V>> putAllAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Map<? extends K, ? extends V> map,
+        boolean retval,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        long ttl,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter
+    ) {
+        return putAllAsync0(cacheCtx, map, null, null, retval, cached, ttl, filter);
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<?> putAllDrAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Map<? extends K, GridCacheDrInfo<V>> drMap
+    ) {
+        return putAllAsync0(cacheCtx, null, null, drMap, false, null, -1, null);
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<GridCacheReturn<V>> transformAllAsync(
+        GridCacheContext<K, V> cacheCtx,
+        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> map,
+        boolean retval,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        long ttl
+    ) {
+        return putAllAsync0(cacheCtx, null, map, null, retval, null, -1, null);
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<?> removeAllDrAsync(
+        GridCacheContext<K, V> cacheCtx,
+        Map<? extends K, GridCacheVersion> drMap
+    ) {
+        return removeAllAsync0(cacheCtx, null, drMap, null, false, null);
+    }
+
+    /**
+     * Checks filter for non-pessimistic transactions.
+     *
+     * @param cached Cached entry.
+     * @param filter Filter to check.
+     * @return {@code True} if passed or pessimistic.
+     * @throws IgniteCheckedException If failed.
+     */
+    private boolean filter(GridCacheEntryEx<K, V> cached,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter) throws IgniteCheckedException {
+        return pessimistic() || cached.context().isAll(cached, filter);
+    }
+
+    /**
+     * Internal routine for <tt>putAll(..)</tt>
+     *
+     * @param keys Keys to enlist.
+     * @param cached Cached entry.
+     * @param ttl Time to live for entry. If negative, leave unchanged.
+     * @param implicit Implicit flag.
+     * @param lookup Value lookup map ({@code null} for remove).
+     * @param transformMap Map with transform closures if this is a transform operation.
+     * @param retval Flag indicating whether a value should be returned.
+     * @param lockOnly If {@code true}, then entry will be enlisted as noop.
+     * @param filter User filters.
+     * @param ret Return value.
+     * @param enlisted Collection of keys enlisted into this transaction.
+     * @param drPutMap DR put map (optional).
+     * @param drRmvMap DR remove map (optional).
+     * @return Future with skipped keys (the ones that didn't pass filter for pessimistic transactions).
+     */
+    protected IgniteFuture<Set<K>> enlistWrite(
+        GridCacheContext<K, V> cacheCtx,
+        Collection<? extends K> keys,
+        @Nullable GridCacheEntryEx<K, V> cached,
+        long ttl,
+        boolean implicit,
+        @Nullable Map<? extends K, ? extends V> lookup,
+        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> transformMap,
+        boolean retval,
+        boolean lockOnly,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter,
+        final GridCacheReturn<V> ret,
+        Collection<K> enlisted,
+        @Nullable Map<? extends K, GridCacheDrInfo<V>> drPutMap,
+        @Nullable Map<? extends K, GridCacheVersion> drRmvMap
+    ) {
+        assert cached == null || keys.size() == 1;
+        assert cached == null || F.first(keys).equals(cached.key());
+
+        try {
+            addActiveCache(cacheCtx);
+        }
+        catch (IgniteCheckedException e) {
+            return new GridFinishedFuture<>(cctx.kernalContext(), e);
+        }
+
+        Set<K> skipped = null;
+
+        boolean rmv = lookup == null && transformMap == null;
+
+        try {
+            // Set transform flag for transaction.
+            if (transformMap != null)
+                transform = true;
+
+            groupLockSanityCheck(cacheCtx, keys);
+
+            for (K key : keys) {
+                V val = rmv || lookup == null ? null : lookup.get(key);
+                IgniteClosure<V, V> transformClo = transformMap == null ? null : transformMap.get(key);
+
+                GridCacheVersion drVer;
+                long drTtl;
+                long drExpireTime;
+
+                if (drPutMap != null) {
+                    GridCacheDrInfo<V> info = drPutMap.get(key);
+
+                    assert info != null;
+
+                    drVer = info.version();
+                    drTtl = info.ttl();
+                    drExpireTime = info.expireTime();
+                }
+                else if (drRmvMap != null) {
+                    assert drRmvMap.get(key) != null;
+
+                    drVer = drRmvMap.get(key);
+                    drTtl = -1L;
+                    drExpireTime = -1L;
+                }
+                else {
+                    drVer = null;
+                    drTtl = -1L;
+                    drExpireTime = -1L;
+                }
+
+                if (key == null)
+                    continue;
+
+                if (!rmv && val == null && transformClo == null) {
+                    skipped = skip(skipped, key);
+
+                    continue;
+                }
+
+                if (cacheCtx.portableEnabled())
+                    key = (K)cacheCtx.marshalToPortable(key);
+
+                IgniteTxKey<K> txKey = cacheCtx.txKey(key);
+
+                IgniteTxEntry<K, V> txEntry = entry(txKey);
+
+                // First time access.
+                if (txEntry == null) {
+                    while (true) {
+                        GridCacheEntryEx<K, V> entry;
+
+                        if (cached != null) {
+                            entry = cached;
+
+                            cached = null;
+                        }
+                        else {
+                            entry = entryEx(cacheCtx, txKey, topologyVersion());
+
+                            entry.unswap(true, false);
+                        }
+
+                        try {
+                            // Check if lock is being explicitly acquired by the same thread.
+                            if (!implicit && cctx.kernalContext().config().isCacheSanityCheckEnabled() &&
+                                entry.lockedByThread(threadId, xidVer))
+                                throw new IgniteCheckedException("Cannot access key within transaction if lock is " +
+                                    "externally held [key=" + key + ", entry=" + entry + ", xidVer=" + xidVer +
+                                    ", threadId=" + threadId +
+                                    ", locNodeId=" + cctx.localNodeId() + ']');
+
+                            V old = null;
+
+                            boolean readThrough = !F.isEmptyOrNulls(filter) && !F.isAlwaysTrue(filter);
+
+                            if (optimistic()) {
+                                try {
+                                    //Should read through if filter is specified.
+                                    old = entry.innerGet(this,
+                                        /*swap*/false,
+                                        /*read-through*/readThrough,
+                                        /*fail-fast*/false,
+                                        /*unmarshal*/retval,
+                                        /*metrics*/retval,
+                                        /*events*/retval,
+                                        /*temporary*/false,
+                                        CU.subjectId(this, cctx),
+                                        transformClo,
+                                        resolveTaskName(),
+                                        CU.<K, V>empty());
+                                }
+                                catch (GridCacheFilterFailedException e) {
+                                    e.printStackTrace();
+
+                                    assert false : "Empty filter failed: " + e;
+                                }
+                            }
+                            else
+                                old = retval ? entry.rawGetOrUnmarshal(false) : entry.rawGet();
+
+                            if (!filter(entry, filter)) {
+                                skipped = skip(skipped, key);
+
+                                ret.set(old, false);
+
+                                if (!readCommitted() && old != null) {
+                                    // Enlist failed filters as reads for non-read-committed mode,
+                                    // so future ops will get the same values.
+                                    txEntry = addEntry(READ, old, null, entry, -1, CU.<K, V>empty(), false, -1L, -1L,
+                                        null);
+
+                                    txEntry.markValid();
+                                }
+
+                                if (readCommitted() || old == null)
+                                    cacheCtx.evicts().touch(entry, topologyVersion());
+
+                                break; // While.
+                            }
+
+                            txEntry = addEntry(lockOnly ? NOOP : rmv ? DELETE : transformClo != null ? TRANSFORM :
+                                old != null ? UPDATE : CREATE, val, transformClo, entry, ttl, filter, true, drTtl,
+                                drExpireTime, drVer);
+
+                            if (!implicit() && readCommitted())
+                                cacheCtx.evicts().touch(entry, topologyVersion());
+
+                            if (groupLock() && !lockOnly)
+                                txEntry.groupLockEntry(true);
+
+                            enlisted.add(key);
+
+                            if (!pessimistic() || (groupLock() && !lockOnly)) {
+                                txEntry.markValid();
+
+                                if (old == null) {
+                                    if (retval && !readThrough) {
+                                        // If return value is required, then we know for sure that there is only
+                                        // one key in the keys collection.
+                                        assert keys.size() == 1;
+
+                                        IgniteFuture<Boolean> fut = loadMissing(
+                                            cacheCtx,
+                                            true,
+                                            F.asList(key),
+                                            deserializePortables(cacheCtx),
+                                            new CI2<K, V>() {
+                                                @Override public void apply(K k, V v) {
+                                                    if (log.isDebugEnabled())
+                                                        log.debug("Loaded value from remote node [key=" + k + ", val=" +
+                                                            v + ']');
+
+                                                    ret.set(v, true);
+                                                }
+                                            });
+
+                                        return new GridEmbeddedFuture<>(
+                                            cctx.kernalContext(),
+                                            fut,
+                                            new C2<Boolean, Exception, Set<K>>() {
+                                                @Override public Set<K> apply(Boolean b, Exception e) {
+                                                    if (e != null)
+                                                        throw new GridClosureException(e);
+
+                                                    return Collections.emptySet();
+                                                }
+                                            }
+                                        );
+                                    }
+                                    else
+                                        ret.set(null, true);
+                                }
+                                else
+                                    ret.set(old, true);
+                            }
+                            // Pessimistic.
+                            else
+                                ret.set(old, true);
+
+                            break; // While.
+                        }
+                        catch (GridCacheEntryRemovedException ignore) {
+                            if (log.isDebugEnabled())
+                                log.debug("Got removed entry in transaction putAll0 method: " + entry);
+                        }
+                    }
+                }
+                else {
+                    if (transformClo == null && txEntry.op() == TRANSFORM)
+                        throw new IgniteCheckedException("Failed to enlist write value for key (cannot have update value in " +
+                            "transaction after transform closure is applied): " + key);
+
+                    GridCacheEntryEx<K, V> entry = txEntry.cached();
+
+                    V v = txEntry.value();
+
+                    boolean del = txEntry.op() == DELETE && rmv;
+
+                    if (!del) {
+                        if (!filter(entry, filter)) {
+                            skipped = skip(skipped, key);
+
+                            ret.set(v, false);
+
+                            continue;
+                        }
+
+                        txEntry = addEntry(rmv ? DELETE : transformClo != null ? TRANSFORM :
+                            v != null ? UPDATE : CREATE, val, transformClo, entry, ttl, filter, true, drTtl,
+                            drExpireTime, drVer);
+
+                        enlisted.add(key);
+                    }
+
+                    if (!pessimistic()) {
+                        txEntry.markValid();
+
+                        // Set tx entry and return values.
+                        ret.set(v, true);
+                    }
+                }
+            }
+        }
+        catch (IgniteCheckedException e) {
+            return new GridFinishedFuture<>(cctx.kernalContext(), e);
+        }
+
+        return new GridFinishedFuture<>(cctx.kernalContext(), skipped);
+    }
+
+    /**
+     * Post lock processing for put or remove.
+     *
+     * @param keys Keys.
+     * @param failed Collection of potentially failed keys (need to populate in this method).
+     * @param transformed Output map where transformed values will be placed.
+     * @param transformMap Transform map.
+     * @param ret Return value.
+     * @param rmv {@code True} if remove.
+     * @param retval Flag to return value or not.
+     * @param filter Filter to check entries.
+     * @return Failed keys.
+     * @throws IgniteCheckedException If error.
+     */
+    protected Set<K> postLockWrite(
+        GridCacheContext<K, V> cacheCtx,
+        Iterable<? extends K> keys,
+        Set<K> failed,
+        @Nullable Map<K, V> transformed,
+        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> transformMap,
+        GridCacheReturn<V> ret,
+        boolean rmv,
+        boolean retval,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter
+    ) throws IgniteCheckedException {
+        for (K k : keys) {
+            IgniteTxEntry<K, V> txEntry = entry(cacheCtx.txKey(k));
+
+            if (txEntry == null)
+                throw new IgniteCheckedException("Transaction entry is null (most likely collection of keys passed into cache " +
+                    "operation was changed before operation completed) [missingKey=" + k + ", tx=" + this + ']');
+
+            while (true) {
+                GridCacheEntryEx<K, V> cached = txEntry.cached();
+
+                try {
+                    assert cached.detached() || cached.lockedByThread(threadId) || isRollbackOnly() :
+                        "Transaction lock is not acquired [entry=" + cached + ", tx=" + this +
+                            ", nodeId=" + cctx.localNodeId() + ", threadId=" + threadId + ']';
+
+                    if (log.isDebugEnabled())
+                        log.debug("Post lock write entry: " + cached);
+
+                    V v = txEntry.previousValue();
+                    boolean hasPrevVal = txEntry.hasPreviousValue();
+
+                    if (onePhaseCommit())
+                        filter = txEntry.filters();
+
+                    // If we have user-passed filter, we must read value into entry for peek().
+                    if (!F.isEmptyOrNulls(filter) && !F.isAlwaysTrue(filter))
+                        retval = true;
+
+                    if (retval) {
+                        if (!cacheCtx.isNear()) {
+                            try {
+                                if (!hasPrevVal)
+                                    v = cached.innerGet(this,
+                                        /*swap*/retval,
+                                        /*read-through*/retval,
+                                        /*failFast*/false,
+                                        /*unmarshal*/retval,
+                                        /*metrics*/true,
+                                        /*event*/!dht(),
+                                        /*temporary*/false,
+                                        CU.subjectId(this, cctx),
+                                        null,
+                                        resolveTaskName(),
+                                        CU.<K, V>empty());
+                            }
+                            catch (GridCacheFilterFailedException e) {
+                                e.printStackTrace();
+
+                                assert false : "Empty filter failed: " + e;
+                            }
+                        }
+                        else {
+                            if (!hasPrevVal)
+                                v = retval ? cached.rawGetOrUnmarshal(false) : cached.rawGet();
+                        }
+
+                        ret.value(v);
+                    }
+
+                    boolean pass = cacheCtx.isAll(cached, filter);
+
+                    // For remove operation we return true only if we are removing s/t,
+                    // i.e. cached value is not null.
+                    ret.success(pass && (!retval ? !rmv || cached.hasValue() || v != null : !rmv || v != null));
+
+                    if (onePhaseCommit())
+                        txEntry.filtersPassed(pass);
+
+                    if (pass) {
+                        txEntry.markValid();
+
+                        if (log.isDebugEnabled())
+                            log.debug("Filter passed in post lock for key: " + k);
+                    }
+                    else {
+                        failed = skip(failed, k);
+
+                        // Revert operation to previous. (if no - NOOP, so entry will be unlocked).
+                        txEntry.setAndMarkValid(txEntry.previousOperation(), ret.value());
+                        txEntry.filters(CU.<K, V>empty());
+                        txEntry.filtersSet(false);
+                    }
+
+                    break; // While.
+                }
+                // If entry cached within transaction got removed before lock.
+                catch (GridCacheEntryRemovedException ignore) {
+                    if (log.isDebugEnabled())
+                        log.debug("Got removed entry in putAllAsync method (will retry): " + cached);
+
+                    txEntry.cached(entryEx(cached.context(), txEntry.txKey()), txEntry.keyBytes());
+                }
+            }
+        }
+
+        if (log.isDebugEnabled())
+            log.debug("Entries that failed after lock filter check: " + failed);
+
+        return failed;
+    }
+
+    /**
+     * Internal method for all put and transform operations. Only one of {@code map}, {@code transformMap}
+     * maps must be non-null.
+     *
+     * @param map Key-value map to store.
+     * @param transformMap Transform map.
+     * @param drMap DR map.
+     * @param retval Key-transform value map to store.
+     * @param cached Cached entry, if any.
+     * @param ttl Time to live.
+     * @param filter Filter.
+     * @return Operation future.
+     */
+    private IgniteFuture<GridCacheReturn<V>> putAllAsync0(
+        final GridCacheContext<K, V> cacheCtx,
+        @Nullable Map<? extends K, ? extends V> ma

<TRUNCATED>

[36/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
deleted file mode 100644
index 003315b..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ /dev/null
@@ -1,3178 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.plugin.security.*;
-import org.apache.ignite.portables.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.grid.kernal.processors.cache.dr.*;
-import org.gridgain.grid.kernal.processors.dr.*;
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.future.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.events.IgniteEventType.*;
-import static org.apache.ignite.transactions.IgniteTxState.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
-import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
-
-/**
- * Transaction adapter for cache transactions.
- */
-public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K, V>
-    implements GridCacheTxLocalEx<K, V> {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Per-transaction read map. */
-    @GridToStringExclude
-    protected Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> txMap;
-
-    /** Read view on transaction map. */
-    @GridToStringExclude
-    protected GridCacheTxMap<K, V> readView;
-
-    /** Write view on transaction map. */
-    @GridToStringExclude
-    protected GridCacheTxMap<K, V> writeView;
-
-    /** Minimal version encountered (either explicit lock or XID of this transaction). */
-    protected GridCacheVersion minVer;
-
-    /** Flag indicating with TM commit happened. */
-    protected AtomicBoolean doneFlag = new AtomicBoolean(false);
-
-    /** Committed versions, relative to base. */
-    private Collection<GridCacheVersion> committedVers = Collections.emptyList();
-
-    /** Rolled back versions, relative to base. */
-    private Collection<GridCacheVersion> rolledbackVers = Collections.emptyList();
-
-    /** Base for completed versions. */
-    private GridCacheVersion completedBase;
-
-    /** Flag indicating partition lock in group lock transaction. */
-    private boolean partLock;
-
-    /** Flag indicating that transformed values should be sent to remote nodes. */
-    private boolean sndTransformedVals;
-
-    /** Commit error. */
-    protected AtomicReference<Throwable> commitErr = new AtomicReference<>();
-
-    /** Active cache IDs. */
-    protected Set<Integer> activeCacheIds = new HashSet<>();
-
-    /**
-     * Empty constructor required for {@link Externalizable}.
-     */
-    protected GridCacheTxLocalAdapter() {
-        // No-op.
-    }
-
-    /**
-     * @param cctx Cache registry.
-     * @param xidVer Transaction ID.
-     * @param implicit {@code True} if transaction was implicitly started by the system,
-     *      {@code false} if it was started explicitly by user.
-     * @param implicitSingle {@code True} if transaction is implicit with only one key.
-     * @param sys System flag.
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @param timeout Timeout.
-     * @param txSize Expected transaction size.
-     * @param grpLockKey Group lock key if this is a group-lock transaction.
-     * @param partLock {@code True} if this is a group-lock transaction and lock is acquired for whole partition.
-     */
-    protected GridCacheTxLocalAdapter(
-        GridCacheSharedContext<K, V> cctx,
-        GridCacheVersion xidVer,
-        boolean implicit,
-        boolean implicitSingle,
-        boolean sys,
-        IgniteTxConcurrency concurrency,
-        IgniteTxIsolation isolation,
-        long timeout,
-        boolean invalidate,
-        boolean storeEnabled,
-        int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
-        boolean partLock,
-        @Nullable UUID subjId,
-        int taskNameHash
-    ) {
-        super(cctx, xidVer, implicit, implicitSingle, /*local*/true, sys, concurrency, isolation, timeout, invalidate,
-            storeEnabled, txSize, grpLockKey, subjId, taskNameHash);
-
-        assert !partLock || grpLockKey != null;
-
-        this.partLock = partLock;
-
-        minVer = xidVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID eventNodeId() {
-        return cctx.localNodeId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID originatingNodeId() {
-        return cctx.localNodeId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean empty() {
-        return txMap.isEmpty();
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<UUID> masterNodeIds() {
-        return Collections.singleton(nodeId);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean partitionLock() {
-        return partLock;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Throwable commitError() {
-        return commitErr.get();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void commitError(Throwable e) {
-        commitErr.compareAndSet(null, e);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner) {
-        assert false;
-        return false;
-    }
-
-    /**
-     * Gets collection of active cache IDs for this transaction.
-     *
-     * @return Collection of active cache IDs.
-     */
-    @Override public Collection<Integer> activeCacheIds() {
-        return activeCacheIds;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isStarted() {
-        return txMap != null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean hasWriteKey(GridCacheTxKey<K> key) {
-        return writeView.containsKey(key);
-    }
-
-    /**
-     * @return Transaction read set.
-     */
-    @Override public Set<GridCacheTxKey<K>> readSet() {
-        return txMap == null ? Collections.<GridCacheTxKey<K>>emptySet() : readView.keySet();
-    }
-
-    /**
-     * @return Transaction write set.
-     */
-    @Override public Set<GridCacheTxKey<K>> writeSet() {
-        return txMap == null ? Collections.<GridCacheTxKey<K>>emptySet() : writeView.keySet();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean removed(GridCacheTxKey<K> key) {
-        if (txMap == null)
-            return false;
-
-        GridCacheTxEntry<K, V> e = txMap.get(key);
-
-        return e != null && e.op() == DELETE;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> readMap() {
-        return readView == null ? Collections.<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>emptyMap() : readView;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> writeMap() {
-        return writeView == null ? Collections.<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>emptyMap() : writeView;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> allEntries() {
-        return txMap == null ? Collections.<GridCacheTxEntry<K, V>>emptySet() : txMap.values();
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> readEntries() {
-        return readView == null ? Collections.<GridCacheTxEntry<K, V>>emptyList() : readView.values();
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> writeEntries() {
-        return writeView == null ? Collections.<GridCacheTxEntry<K, V>>emptyList() : writeView.values();
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public GridCacheTxEntry<K, V> entry(GridCacheTxKey<K> key) {
-        return txMap == null ? null : txMap.get(key);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void seal() {
-        if (readView != null)
-            readView.seal();
-
-        if (writeView != null)
-            writeView.seal();
-    }
-
-    /**
-     * @param snd {@code True} if values in tx entries should be replaced with transformed values and sent
-     * to remote nodes.
-     */
-    public void sendTransformedValues(boolean snd) {
-        sndTransformedVals = snd;
-    }
-
-    /**
-     * @return {@code True} if should be committed after lock is acquired.
-     */
-    protected boolean commitAfterLock() {
-        return implicit() && (!dht() || colocated());
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Nullable @Override public GridTuple<V> peek(
-        GridCacheContext<K, V> cacheCtx,
-        boolean failFast,
-        K key,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter
-    ) throws GridCacheFilterFailedException {
-        GridCacheTxEntry<K, V> e = txMap == null ? null : txMap.get(cacheCtx.txKey(key));
-
-        if (e != null) {
-            // We should look at tx entry previous value. If this is a user peek then previous
-            // value is the same as value. If this is a filter evaluation peek then previous value holds
-            // value visible to filter while value contains value enlisted for write.
-            if (!F.isAll(e.cached().wrap(false), filter))
-                return e.hasPreviousValue() ? F.t(CU.<V>failed(failFast, e.previousValue())) : null;
-
-            return e.hasPreviousValue() ? F.t(e.previousValue()) : null;
-        }
-
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<Boolean> loadMissing(
-        final GridCacheContext<K, V> cacheCtx,
-        boolean async,
-        final Collection<? extends K> keys,
-        boolean deserializePortable,
-        final IgniteBiInClosure<K, V> c
-    ) {
-        if (!async) {
-            try {
-                return new GridFinishedFuture<>(cctx.kernalContext(),
-                    cacheCtx.store().loadAllFromStore(this, keys, c));
-            }
-            catch (IgniteCheckedException e) {
-                return new GridFinishedFuture<>(cctx.kernalContext(), e);
-            }
-        }
-        else
-            return cctx.kernalContext().closure().callLocalSafe(
-                new GPC<Boolean>() {
-                    @Override public Boolean call() throws Exception {
-                        return cacheCtx.store().loadAllFromStore(GridCacheTxLocalAdapter.this, keys, c);
-                    }
-                },
-                true);
-    }
-
-    /**
-     * Gets minimum version present in transaction.
-     *
-     * @return Minimum versions.
-     */
-    @Override public GridCacheVersion minVersion() {
-        return minVer;
-    }
-
-    /**
-     * @throws IgniteCheckedException If prepare step failed.
-     */
-    @SuppressWarnings({"CatchGenericClass"})
-    public void userPrepare() throws IgniteCheckedException {
-        if (state() != PREPARING) {
-            if (timedOut())
-                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
-
-            IgniteTxState state = state();
-
-            setRollbackOnly();
-
-            throw new IgniteCheckedException("Invalid transaction state for prepare [state=" + state + ", tx=" + this + ']');
-        }
-
-        checkValid();
-
-        try {
-            cctx.tm().prepareTx(this);
-        }
-        catch (IgniteCheckedException e) {
-            throw e;
-        }
-        catch (Throwable e) {
-            setRollbackOnly();
-
-            throw new IgniteCheckedException("Transaction validation produced a runtime exception: " + this, e);
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void commit() throws IgniteCheckedException {
-        try {
-            commitAsync().get();
-        }
-        finally {
-            cctx.tm().txContextReset();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void prepare() throws IgniteCheckedException {
-        prepareAsync().get();
-    }
-
-    /**
-     * Checks that locks are in proper state for commit.
-     *
-     * @param entry Cache entry to check.
-     */
-    private void checkCommitLocks(GridCacheEntryEx<K, V> entry) {
-        assert ownsLockUnsafe(entry) : "Lock is not owned for commit in PESSIMISTIC mode [entry=" + entry +
-            ", tx=" + this + ']';
-    }
-
-    /**
-     * Uncommits transaction by invalidating all of its entries.
-     */
-    @SuppressWarnings({"CatchGenericClass"})
-    private void uncommit() {
-        for (GridCacheTxEntry<K, V> e : writeMap().values()) {
-            try {
-                GridCacheEntryEx<K, V> cacheEntry = e.cached();
-
-                if (e.op() != NOOP)
-                    cacheEntry.invalidate(null, xidVer);
-            }
-            catch (Throwable t) {
-                U.error(log, "Failed to invalidate transaction entries while reverting a commit.", t);
-
-                break;
-            }
-        }
-
-        cctx.tm().uncommitTx(this);
-    }
-
-    /**
-     * Gets cache entry for given key.
-     *
-     * @param key Key.
-     * @return Cache entry.
-     */
-    protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, GridCacheTxKey<K> key) {
-        return cacheCtx.cache().entryEx(key.key());
-    }
-
-    /**
-     * Gets cache entry for given key and topology version.
-     *
-     * @param key Key.
-     * @param topVer Topology version.
-     * @return Cache entry.
-     */
-    protected GridCacheEntryEx<K, V> entryEx(GridCacheContext<K, V> cacheCtx, GridCacheTxKey<K> key, long topVer) {
-        return cacheCtx.cache().entryEx(key.key(), topVer);
-    }
-
-    /**
-     * Performs batch database operations. This commit must be called
-     * before {@link #userCommit()}. This way if there is a DB failure,
-     * cache transaction can still be rolled back.
-     *
-     * @param writeEntries Transaction write set.
-     * @throws IgniteCheckedException If batch update failed.
-     */
-    @SuppressWarnings({"CatchGenericClass"})
-    protected void batchStoreCommit(Iterable<GridCacheTxEntry<K, V>> writeEntries) throws IgniteCheckedException {
-        GridCacheStoreManager<K, V> store = store();
-
-        if (store != null && storeEnabled() && (!internal() || groupLock()) && (near() || store.writeToStoreFromDht())) {
-            try {
-                if (writeEntries != null) {
-                    Map<K, IgniteBiTuple<V, GridCacheVersion>> putMap = null;
-                    List<K> rmvCol = null;
-
-                    boolean skipNear = near() && store.writeToStoreFromDht();
-
-                    for (GridCacheTxEntry<K, V> e : writeEntries) {
-                        if (skipNear && e.cached().isNear())
-                            continue;
-
-                        boolean intercept = e.context().config().getInterceptor() != null;
-
-                        if (intercept || !F.isEmpty(e.transformClosures()))
-                            e.cached().unswap(true, false);
-
-                        GridTuple3<GridCacheOperation, V, byte[]> res = applyTransformClosures(e, false);
-
-                        GridCacheContext<K, V> cacheCtx = e.context();
-
-                        GridCacheOperation op = res.get1();
-                        K key = e.key();
-                        V val = res.get2();
-                        GridCacheVersion ver = writeVersion();
-
-                        if (op == CREATE || op == UPDATE) {
-                            // Batch-process all removes if needed.
-                            if (rmvCol != null && !rmvCol.isEmpty()) {
-                                store.removeAllFromStore(this, rmvCol);
-
-                                // Reset.
-                                rmvCol.clear();
-                            }
-
-                            if (intercept) {
-                                V old = e.cached().rawGetOrUnmarshal(true);
-
-                                val = (V)cacheCtx.config().getInterceptor().onBeforePut(key, old, val);
-
-                                if (val == null)
-                                    continue;
-
-                                val = cacheCtx.unwrapTemporary(val);
-                            }
-
-                            if (putMap == null)
-                                putMap = new LinkedHashMap<>(writeMap().size(), 1.0f);
-
-                            putMap.put(key, F.t(val, ver));
-                        }
-                        else if (op == DELETE) {
-                            // Batch-process all puts if needed.
-                            if (putMap != null && !putMap.isEmpty()) {
-                                store.putAllToStore(this, putMap);
-
-                                // Reset.
-                                putMap.clear();
-                            }
-
-                            if (intercept) {
-                                V old = e.cached().rawGetOrUnmarshal(true);
-
-                                IgniteBiTuple<Boolean, V> t = cacheCtx.config().<K, V>getInterceptor()
-                                    .onBeforeRemove(key, old);
-
-                                if (cacheCtx.cancelRemove(t))
-                                    continue;
-                            }
-
-                            if (rmvCol == null)
-                                rmvCol = new LinkedList<>();
-
-                            rmvCol.add(key);
-                        }
-                        else if (log.isDebugEnabled())
-                            log.debug("Ignoring NOOP entry for batch store commit: " + e);
-                    }
-
-                    if (putMap != null && !putMap.isEmpty()) {
-                        assert rmvCol == null || rmvCol.isEmpty();
-
-                        // Batch put at the end of transaction.
-                        store.putAllToStore(this, putMap);
-                    }
-
-                    if (rmvCol != null && !rmvCol.isEmpty()) {
-                        assert putMap == null || putMap.isEmpty();
-
-                        // Batch remove at the end of transaction.
-                        store.removeAllFromStore(this, rmvCol);
-                    }
-                }
-
-                // Commit while locks are held.
-                store.txEnd(this, true);
-            }
-            catch (IgniteCheckedException ex) {
-                commitError(ex);
-
-                setRollbackOnly();
-
-                // Safe to remove transaction from committed tx list because nothing was committed yet.
-                cctx.tm().removeCommittedTx(this);
-
-                throw ex;
-            }
-            catch (Throwable ex) {
-                commitError(ex);
-
-                setRollbackOnly();
-
-                // Safe to remove transaction from committed tx list because nothing was committed yet.
-                cctx.tm().removeCommittedTx(this);
-
-                throw new IgniteCheckedException("Failed to commit transaction to database: " + this, ex);
-            }
-        }
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"CatchGenericClass"})
-    @Override public void userCommit() throws IgniteCheckedException {
-        IgniteTxState state = state();
-
-        if (state != COMMITTING) {
-            if (timedOut())
-                throw new IgniteTxTimeoutException("Transaction timed out: " + this);
-
-            setRollbackOnly();
-
-            throw new IgniteCheckedException("Invalid transaction state for commit [state=" + state + ", tx=" + this + ']');
-        }
-
-        checkValid();
-
-        boolean empty = F.isEmpty(near() ? txMap : writeMap());
-
-        // Register this transaction as completed prior to write-phase to
-        // ensure proper lock ordering for removed entries.
-        // We add colocated transaction to committed set even if it is empty to correctly order
-        // locks on backup nodes.
-        if (!empty || colocated())
-            cctx.tm().addCommittedTx(this);
-
-        if (groupLock())
-            addGroupTxMapping(writeSet());
-
-        if (!empty) {
-            // We are holding transaction-level locks for entries here, so we can get next write version.
-            writeVersion(cctx.versions().next(topologyVersion()));
-
-            batchStoreCommit(writeMap().values());
-
-            try {
-                cctx.tm().txContext(this);
-
-                long topVer = topologyVersion();
-
-                /*
-                 * Commit to cache. Note that for 'near' transaction we loop through all the entries.
-                 */
-                for (GridCacheTxEntry<K, V> txEntry : (near() ? allEntries() : writeEntries())) {
-                    GridCacheContext<K, V> cacheCtx = txEntry.context();
-
-                    GridDrType drType = cacheCtx.isDrEnabled() ? DR_PRIMARY : DR_NONE;
-
-                    UUID nodeId = txEntry.nodeId() == null ? this.nodeId : txEntry.nodeId();
-
-                    try {
-                        while (true) {
-                            try {
-                                GridCacheEntryEx<K, V> cached = txEntry.cached();
-
-                                // Must try to evict near entries before committing from
-                                // transaction manager to make sure locks are held.
-                                if (!evictNearEntry(txEntry, false)) {
-                                    if (cacheCtx.isNear() && cacheCtx.dr().receiveEnabled()) {
-                                        cached.markObsolete(xidVer);
-
-                                        break;
-                                    }
-
-                                    if (cached.detached())
-                                        break;
-
-                                    GridCacheEntryEx<K, V> nearCached = null;
-
-                                    boolean metrics = true;
-
-                                    if (updateNearCache(cacheCtx, txEntry.key(), topVer))
-                                        nearCached = cacheCtx.dht().near().peekEx(txEntry.key());
-                                    else if (cacheCtx.isNear() && txEntry.locallyMapped())
-                                        metrics = false;
-
-                                    boolean evt = !isNearLocallyMapped(txEntry, false);
-
-                                    // For near local transactions we must record DHT version
-                                    // in order to keep near entries on backup nodes until
-                                    // backup remote transaction completes.
-                                    if (cacheCtx.isNear())
-                                        ((GridNearCacheEntry<K, V>)cached).recordDhtVersion(txEntry.dhtVersion());
-
-                                    if (!F.isEmpty(txEntry.transformClosures()) || !F.isEmpty(txEntry.filters()))
-                                        txEntry.cached().unswap(true, false);
-
-                                    GridTuple3<GridCacheOperation, V, byte[]> res = applyTransformClosures(txEntry,
-                                        true);
-
-                                    GridCacheOperation op = res.get1();
-                                    V val = res.get2();
-                                    byte[] valBytes = res.get3();
-
-                                    // Preserve TTL if needed.
-                                    if (txEntry.ttl() < 0)
-                                        txEntry.ttl(cached.ttl());
-
-                                    // Deal with DR conflicts.
-                                    GridCacheVersion explicitVer = txEntry.drVersion() != null ?
-                                        txEntry.drVersion() : writeVersion();
-
-                                    GridDrResolveResult<V> drRes = cacheCtx.dr().resolveTx(cached,
-                                        txEntry,
-                                        explicitVer,
-                                        op,
-                                        val,
-                                        valBytes,
-                                        txEntry.ttl(),
-                                        txEntry.drExpireTime());
-
-                                    if (drRes != null) {
-                                        op = drRes.operation();
-                                        val = drRes.value();
-                                        valBytes = drRes.valueBytes();
-
-                                        if (drRes.isMerge())
-                                            explicitVer = writeVersion();
-                                    }
-                                    else
-                                        // Nullify explicit version so that innerSet/innerRemove will work as usual.
-                                        explicitVer = null;
-
-                                    if (sndTransformedVals || (drRes != null)) {
-                                        assert sndTransformedVals && cacheCtx.isReplicated() || (drRes != null);
-
-                                        txEntry.value(val, true, false);
-                                        txEntry.valueBytes(valBytes);
-                                        txEntry.op(op);
-                                        txEntry.transformClosures(null);
-                                        txEntry.drVersion(explicitVer);
-                                    }
-
-                                    if (op == CREATE || op == UPDATE) {
-                                        GridCacheUpdateTxResult<V> updRes = cached.innerSet(
-                                            this,
-                                            eventNodeId(),
-                                            txEntry.nodeId(),
-                                            val,
-                                            valBytes,
-                                            false,
-                                            false,
-                                            txEntry.ttl(),
-                                            evt,
-                                            metrics,
-                                            topVer,
-                                            txEntry.filters(),
-                                            cached.detached() ? DR_NONE : drType,
-                                            txEntry.drExpireTime(),
-                                            cached.isNear() ? null : explicitVer,
-                                            CU.subjectId(this, cctx),
-                                            resolveTaskName());
-
-                                        if (nearCached != null && updRes.success())
-                                            nearCached.innerSet(
-                                                null,
-                                                eventNodeId(),
-                                                nodeId,
-                                                val,
-                                                valBytes,
-                                                false,
-                                                false,
-                                                txEntry.ttl(),
-                                                false,
-                                                metrics,
-                                                topVer,
-                                                CU.<K, V>empty(),
-                                                DR_NONE,
-                                                txEntry.drExpireTime(),
-                                                null,
-                                                CU.subjectId(this, cctx),
-                                                resolveTaskName());
-                                    }
-                                    else if (op == DELETE) {
-                                        GridCacheUpdateTxResult<V> updRes = cached.innerRemove(
-                                            this,
-                                            eventNodeId(),
-                                            txEntry.nodeId(),
-                                            false,
-                                            false,
-                                            evt,
-                                            metrics,
-                                            topVer,
-                                            txEntry.filters(),
-                                            cached.detached()  ? DR_NONE : drType,
-                                            cached.isNear() ? null : explicitVer,
-                                            CU.subjectId(this, cctx),
-                                            resolveTaskName());
-
-                                        if (nearCached != null && updRes.success())
-                                            nearCached.innerRemove(
-                                                null,
-                                                eventNodeId(),
-                                                nodeId,
-                                                false,
-                                                false,
-                                                false,
-                                                metrics,
-                                                topVer,
-                                                CU.<K, V>empty(),
-                                                DR_NONE,
-                                                null,
-                                                CU.subjectId(this, cctx),
-                                                resolveTaskName());
-                                    }
-                                    else if (op == RELOAD) {
-                                        cached.innerReload(CU.<K, V>empty());
-
-                                        if (nearCached != null)
-                                            nearCached.innerReload(CU.<K, V>empty());
-                                    }
-                                    else if (op == READ) {
-                                        if (log.isDebugEnabled())
-                                            log.debug("Ignoring READ entry when committing: " + txEntry);
-                                    }
-                                    else {
-                                        assert !groupLock() || txEntry.groupLockEntry() || ownsLock(txEntry.cached()):
-                                            "Transaction does not own lock for group lock entry during  commit [tx=" +
-                                                this + ", txEntry=" + txEntry + ']';
-
-                                        if (log.isDebugEnabled())
-                                            log.debug("Ignoring NOOP entry when committing: " + txEntry);
-                                    }
-                                }
-
-                                // Check commit locks after set, to make sure that
-                                // we are not changing obsolete entries.
-                                // (innerSet and innerRemove will throw an exception
-                                // if an entry is obsolete).
-                                if (txEntry.op() != READ && !txEntry.groupLockEntry())
-                                    checkCommitLocks(cached);
-
-                                // Break out of while loop.
-                                break;
-                            }
-                            // If entry cached within transaction got removed.
-                            catch (GridCacheEntryRemovedException ignored) {
-                                if (log.isDebugEnabled())
-                                    log.debug("Got removed entry during transaction commit (will retry): " + txEntry);
-
-                                txEntry.cached(entryEx(cacheCtx, txEntry.txKey()), txEntry.keyBytes());
-                            }
-                        }
-                    }
-                    catch (Throwable ex) {
-                        // We are about to initiate transaction rollback when tx has started to committing.
-                        // Need to remove version from committed list.
-                        cctx.tm().removeCommittedTx(this);
-
-                        if (X.hasCause(ex, GridCacheIndexUpdateException.class) && cacheCtx.cache().isMongoDataCache()) {
-                            if (log.isDebugEnabled())
-                                log.debug("Failed to update mongo document index (transaction entry will " +
-                                    "be ignored): " + txEntry);
-
-                            // Set operation to NOOP.
-                            txEntry.op(NOOP);
-
-                            setRollbackOnly();
-
-                            throw ex;
-                        }
-                        else {
-                            IgniteCheckedException err = new IgniteTxHeuristicException("Failed to locally write to cache " +
-                                "(all transaction entries will be invalidated, however there was a window when " +
-                                "entries for this transaction were visible to others): " + this, ex);
-
-                            U.error(log, "Heuristic transaction failure.", err);
-
-                            commitErr.compareAndSet(null, err);
-
-                            state(UNKNOWN);
-
-                            try {
-                                // Courtesy to minimize damage.
-                                uncommit();
-                            }
-                            catch (Throwable ex1) {
-                                U.error(log, "Failed to uncommit transaction: " + this, ex1);
-                            }
-
-                            throw err;
-                        }
-                    }
-                }
-            }
-            finally {
-                cctx.tm().txContextReset();
-            }
-        }
-        else {
-            GridCacheStoreManager<K, V> store = store();
-
-            if (store != null && (!internal() || groupLock())) {
-                try {
-                    store.txEnd(this, true);
-                }
-                catch (IgniteCheckedException e) {
-                    commitError(e);
-
-                    setRollbackOnly();
-
-                    cctx.tm().removeCommittedTx(this);
-
-                    throw e;
-                }
-            }
-        }
-
-        // Do not unlock transaction entries if one-phase commit.
-        if (!onePhaseCommit()) {
-            if (doneFlag.compareAndSet(false, true)) {
-                // Unlock all locks.
-                cctx.tm().commitTx(this);
-
-                boolean needsCompletedVersions = needsCompletedVersions();
-
-                assert !needsCompletedVersions || completedBase != null;
-                assert !needsCompletedVersions || committedVers != null;
-                assert !needsCompletedVersions || rolledbackVers != null;
-            }
-        }
-    }
-
-    /**
-     * Commits transaction to transaction manager. Used for one-phase commit transactions only.
-     */
-    public void tmCommit() {
-        assert onePhaseCommit();
-
-        if (doneFlag.compareAndSet(false, true)) {
-            // Unlock all locks.
-            cctx.tm().commitTx(this);
-
-            state(COMMITTED);
-
-            boolean needsCompletedVersions = needsCompletedVersions();
-
-            assert !needsCompletedVersions || completedBase != null;
-            assert !needsCompletedVersions || committedVers != null;
-            assert !needsCompletedVersions || rolledbackVers != null;
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void completedVersions(
-        GridCacheVersion completedBase,
-        Collection<GridCacheVersion> committedVers,
-        Collection<GridCacheVersion> rolledbackVers) {
-        this.completedBase = completedBase;
-        this.committedVers = committedVers;
-        this.rolledbackVers = rolledbackVers;
-    }
-
-    /**
-     * @return Completed base for ordering.
-     */
-    public GridCacheVersion completedBase() {
-        return completedBase;
-    }
-
-    /**
-     * @return Committed versions.
-     */
-    public Collection<GridCacheVersion> committedVersions() {
-        return committedVers;
-    }
-
-    /**
-     * @return Rolledback versions.
-     */
-    public Collection<GridCacheVersion> rolledbackVersions() {
-        return rolledbackVers;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void userRollback() throws IgniteCheckedException {
-        IgniteTxState state = state();
-
-        if (state != ROLLING_BACK && state != ROLLED_BACK) {
-            setRollbackOnly();
-
-            throw new IgniteCheckedException("Invalid transaction state for rollback [state=" + state + ", tx=" + this + ']',
-                commitErr.get());
-        }
-
-        if (doneFlag.compareAndSet(false, true)) {
-            try {
-                if (near())
-                    // Must evict near entries before rolling back from
-                    // transaction manager, so they will be removed from cache.
-                    for (GridCacheTxEntry<K, V> e : allEntries())
-                        evictNearEntry(e, false);
-
-                cctx.tm().rollbackTx(this);
-
-                GridCacheStoreManager<K, V> store = store();
-
-                if (store != null && (near() || store.writeToStoreFromDht())) {
-                    if (!internal() || groupLock())
-                        store.txEnd(this, false);
-                }
-            }
-            catch (Error | IgniteCheckedException | RuntimeException e) {
-                U.addLastCause(e, commitErr.get(), log);
-
-                throw e;
-            }
-        }
-    }
-
-    /**
-     * Checks if there is a cached or swapped value for
-     * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, IgnitePredicate[])} method.
-     *
-     *
-     * @param keys Key to enlist.
-     * @param cached Cached entry, if called from entry wrapper.
-     * @param map Return map.
-     * @param missed Map of missed keys.
-     * @param keysCnt Keys count (to avoid call to {@code Collection.size()}).
-     * @param deserializePortable Deserialize portable flag.
-     * @param filter Filter to test.
-     * @throws IgniteCheckedException If failed.
-     * @return Enlisted keys.
-     */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    private Collection<K> enlistRead(
-        final GridCacheContext<K, V> cacheCtx,
-        Collection<? extends K> keys,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        Map<K, V> map,
-        Map<K, GridCacheVersion> missed,
-        int keysCnt,
-        boolean deserializePortable,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter) throws IgniteCheckedException {
-        assert !F.isEmpty(keys);
-        assert keysCnt == keys.size();
-        assert cached == null || F.first(keys).equals(cached.key());
-
-        cacheCtx.checkSecurity(GridSecurityPermission.CACHE_READ);
-
-        groupLockSanityCheck(cacheCtx, keys);
-
-        boolean single = keysCnt == 1;
-
-        Collection<K> lockKeys = null;
-
-        long topVer = topologyVersion();
-
-        // In this loop we cover only read-committed or optimistic transactions.
-        // Transactions that are pessimistic and not read-committed are covered
-        // outside of this loop.
-        for (K key : keys) {
-            if (key == null)
-                continue;
-
-            if (pessimistic() && !readCommitted())
-                addActiveCache(cacheCtx);
-
-            GridCacheTxKey<K> txKey = cacheCtx.txKey(key);
-
-            // Check write map (always check writes first).
-            GridCacheTxEntry<K, V> txEntry = entry(txKey);
-
-            // Either non-read-committed or there was a previous write.
-            if (txEntry != null) {
-                if (cacheCtx.isAll(txEntry.cached(), filter)) {
-                    V val = txEntry.value();
-
-                    // Read value from locked entry in group-lock transaction as well.
-                    if (txEntry.hasValue()) {
-                        if (!F.isEmpty(txEntry.transformClosures())) {
-                            for (IgniteClosure<V, V> clos : txEntry.transformClosures())
-                                val = clos.apply(val);
-                        }
-
-                        if (val != null) {
-                            V val0 = val;
-
-                            if (cacheCtx.portableEnabled())
-                                val0 = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
-
-                            map.put(key, val0);
-                        }
-                    }
-                    else {
-                        assert txEntry.op() == TRANSFORM || (groupLock() && !txEntry.groupLockEntry());
-
-                        while (true) {
-                            try {
-                                Object transformClo =
-                                    (txEntry.op() == TRANSFORM  && cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ)) ?
-                                        F.first(txEntry.transformClosures()) : null;
-
-                                val = txEntry.cached().innerGet(this,
-                                    /*swap*/true,
-                                    /*read-through*/false,
-                                    /*fail fast*/true,
-                                    /*unmarshal*/true,
-                                    /*metrics*/true,
-                                    /*event*/true,
-                                    /*temporary*/false,
-                                    CU.subjectId(this, cctx),
-                                    transformClo,
-                                    resolveTaskName(),
-                                    filter);
-
-                                if (val != null) {
-                                    if (!readCommitted())
-                                        txEntry.readValue(val);
-
-                                    if (!F.isEmpty(txEntry.transformClosures())) {
-                                        for (IgniteClosure<V, V> clos : txEntry.transformClosures())
-                                            val = clos.apply(val);
-                                    }
-
-                                    V val0 = val;
-
-                                    if (cacheCtx.portableEnabled())
-                                        val0 = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
-
-                                    map.put(key, val0);
-                                }
-                                else
-                                    missed.put(key, txEntry.cached().version());
-
-                                break;
-                            }
-                            catch (GridCacheFilterFailedException e) {
-                                if (log.isDebugEnabled())
-                                    log.debug("Filter validation failed for entry: " + txEntry);
-
-                                if (!readCommitted())
-                                    txEntry.readValue(e.<V>value());
-                            }
-                            catch (GridCacheEntryRemovedException ignored) {
-                                txEntry.cached(entryEx(cacheCtx, txEntry.txKey(), topVer), txEntry.keyBytes());
-                            }
-                        }
-                    }
-                }
-            }
-            // First time access within transaction.
-            else {
-                if (lockKeys == null)
-                    lockKeys = single ? (Collection<K>)keys : new ArrayList<K>(keysCnt);
-
-                if (!single)
-                    lockKeys.add(key);
-
-                while (true) {
-                    GridCacheEntryEx<K, V> entry;
-
-                    if (cached != null) {
-                        entry = cached;
-
-                        cached = null;
-                    }
-                    else
-                        entry = entryEx(cacheCtx, txKey, topVer);
-
-                    try {
-                        GridCacheVersion ver = entry.version();
-
-                        V val = null;
-
-                        if (!pessimistic() || readCommitted() || groupLock()) {
-                            // This call will check for filter.
-                            val = entry.innerGet(this,
-                                /*swap*/true,
-                                /*no read-through*/false,
-                                /*fail-fast*/true,
-                                /*unmarshal*/true,
-                                /*metrics*/true,
-                                /*event*/true,
-                                /*temporary*/false,
-                                CU.subjectId(this, cctx),
-                                null,
-                                resolveTaskName(),
-                                filter);
-
-                            if (val != null) {
-                                V val0 = val;
-
-                                if (cacheCtx.portableEnabled())
-                                    val0 = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
-
-                                map.put(key, val0);
-                            }
-                            else
-                                missed.put(key, ver);
-                        }
-                        else
-                            // We must wait for the lock in pessimistic mode.
-                            missed.put(key, ver);
-
-                        if (!readCommitted()) {
-                            txEntry = addEntry(READ, val, null, entry, -1, filter, true, -1L, -1L, null);
-
-                            if (groupLock())
-                                txEntry.groupLockEntry(true);
-
-                            // As optimization, mark as checked immediately
-                            // for non-pessimistic if value is not null.
-                            if (val != null && !pessimistic())
-                                txEntry.markValid();
-                        }
-
-                        break; // While.
-                    }
-                    catch (GridCacheEntryRemovedException ignored) {
-                        if (log.isDebugEnabled())
-                            log.debug("Got removed entry in transaction getAllAsync(..) (will retry): " + key);
-                    }
-                    catch (GridCacheFilterFailedException e) {
-                        if (log.isDebugEnabled())
-                            log.debug("Filter validation failed for entry: " + entry);
-
-                        if (!readCommitted()) {
-                            // Value for which failure occurred.
-                            V val = e.<V>value();
-
-                            txEntry = addEntry(READ, val, null, entry, -1, CU.<K, V>empty(), false, -1L, -1L, null);
-
-                            // Mark as checked immediately for non-pessimistic.
-                            if (val != null && !pessimistic())
-                                txEntry.markValid();
-                        }
-
-                        break; // While loop.
-                    }
-                }
-            }
-        }
-
-        return lockKeys != null ? lockKeys : Collections.<K>emptyList();
-    }
-
-    /**
-     * Adds skipped key.
-     *
-     * @param skipped Skipped set (possibly {@code null}).
-     * @param key Key to add.
-     * @return Skipped set.
-     */
-    private Set<K> skip(Set<K> skipped, K key) {
-        if (skipped == null)
-            skipped = new GridLeanSet<>();
-
-        skipped.add(key);
-
-        if (log.isDebugEnabled())
-            log.debug("Added key to skipped set: " + key);
-
-        return skipped;
-    }
-
-    /**
-     * Loads all missed keys for
-     * {@link #getAllAsync(GridCacheContext, Collection, GridCacheEntryEx, boolean, IgnitePredicate[])} method.
-     *
-     * @param map Return map.
-     * @param missedMap Missed keys.
-     * @param redos Keys to retry.
-     * @param deserializePortable Deserialize portable flag.
-     * @param filter Filter.
-     * @return Loaded key-value pairs.
-     */
-    private IgniteFuture<Map<K, V>> checkMissed(
-        final GridCacheContext<K, V> cacheCtx,
-        final Map<K, V> map,
-        final Map<K, GridCacheVersion> missedMap,
-        @Nullable final Collection<K> redos,
-        final boolean deserializePortable,
-        final IgnitePredicate<GridCacheEntry<K, V>>[] filter
-    ) {
-        assert redos != null || pessimistic();
-
-        if (log.isDebugEnabled())
-            log.debug("Loading missed values for missed map: " + missedMap);
-
-        final Collection<K> loaded = new HashSet<>();
-
-        return new GridEmbeddedFuture<>(cctx.kernalContext(),
-            loadMissing(
-                cacheCtx,
-                false, missedMap.keySet(), deserializePortable, new CI2<K, V>() {
-                /** */
-                private GridCacheVersion nextVer;
-
-                @Override public void apply(K key, V val) {
-                    if (isRollbackOnly()) {
-                        if (log.isDebugEnabled())
-                            log.debug("Ignoring loaded value for read because transaction was rolled back: " +
-                                GridCacheTxLocalAdapter.this);
-
-                        return;
-                    }
-
-                    GridCacheVersion ver = missedMap.get(key);
-
-                    if (ver == null) {
-                        if (log.isDebugEnabled())
-                            log.debug("Value from storage was never asked for [key=" + key + ", val=" + val + ']');
-
-                        return;
-                    }
-
-                    V visibleVal = val;
-
-                    GridCacheTxKey<K> txKey = cacheCtx.txKey(key);
-
-                    GridCacheTxEntry<K, V> txEntry = entry(txKey);
-
-                    if (txEntry != null) {
-                        if (!readCommitted())
-                            txEntry.readValue(val);
-
-                        if (!F.isEmpty(txEntry.transformClosures())) {
-                            for (IgniteClosure<V, V> clos : txEntry.transformClosures())
-                                visibleVal = clos.apply(visibleVal);
-                        }
-                    }
-
-                    // In pessimistic mode we hold the lock, so filter validation
-                    // should always be valid.
-                    if (pessimistic())
-                        ver = null;
-
-                    // Initialize next version.
-                    if (nextVer == null)
-                        nextVer = cctx.versions().next(topologyVersion());
-
-                    while (true) {
-                        assert txEntry != null || readCommitted() || groupLock();
-
-                        GridCacheEntryEx<K, V> e = txEntry == null ? entryEx(cacheCtx, txKey) : txEntry.cached();
-
-                        try {
-                            boolean pass = cacheCtx.isAll(e, filter);
-
-                            // Must initialize to true since even if filter didn't pass,
-                            // we still record the transaction value.
-                            boolean set = true;
-
-                            if (pass) {
-                                try {
-                                    set = e.versionedValue(val, ver, nextVer);
-                                }
-                                catch (GridCacheEntryRemovedException ignore) {
-                                    if (log.isDebugEnabled())
-                                        log.debug("Got removed entry in transaction getAll method " +
-                                            "(will try again): " + e);
-
-                                    if (pessimistic() && !readCommitted() && !isRollbackOnly() &&
-                                        (!groupLock() || F.eq(e.key(), groupLockKey()))) {
-                                        U.error(log, "Inconsistent transaction state (entry got removed while " +
-                                            "holding lock) [entry=" + e + ", tx=" + GridCacheTxLocalAdapter.this + "]");
-
-                                        setRollbackOnly();
-
-                                        return;
-                                    }
-
-                                    if (txEntry != null)
-                                        txEntry.cached(entryEx(cacheCtx, txKey), txEntry.keyBytes());
-
-                                    continue; // While loop.
-                                }
-                            }
-
-                            // In pessimistic mode, we should always be able to set.
-                            assert set || !pessimistic();
-
-                            if (readCommitted() || groupLock()) {
-                                cacheCtx.evicts().touch(e, topologyVersion());
-
-                                if (pass && visibleVal != null)
-                                    map.put(key, visibleVal);
-                            }
-                            else {
-                                assert txEntry != null;
-
-                                if (set || F.isEmptyOrNulls(filter)) {
-                                    txEntry.setAndMarkValid(val);
-
-                                    if (pass && visibleVal != null)
-                                        map.put(key, visibleVal);
-                                }
-                                else {
-                                    assert !pessimistic() : "Pessimistic transaction should not have to redo gets: " +
-                                        this;
-
-                                    if (log.isDebugEnabled())
-                                        log.debug("Failed to set versioned value for entry (will redo): " + e);
-
-                                    redos.add(key);
-                                }
-                            }
-
-                            loaded.add(key);
-
-                            if (log.isDebugEnabled())
-                                log.debug("Set value loaded from store into entry from transaction [set=" + set +
-                                    ", matchVer=" + ver + ", newVer=" + nextVer + ", entry=" + e + ']');
-
-                            break; // While loop.
-                        }
-                        catch (IgniteCheckedException ex) {
-                            throw new IgniteException("Failed to put value for cache entry: " + e, ex);
-                        }
-                    }
-                }
-            }),
-            new C2<Boolean, Exception, Map<K, V>>() {
-                @Override public Map<K, V> apply(Boolean b, Exception e) {
-                    if (e != null) {
-                        setRollbackOnly();
-
-                        throw new GridClosureException(e);
-                    }
-
-                    if (!b && !readCommitted()) {
-                        // There is no store - we must mark the entries.
-                        for (K key : missedMap.keySet()) {
-                            GridCacheTxEntry<K, V> txEntry = entry(cacheCtx.txKey(key));
-
-                            if (txEntry != null)
-                                txEntry.markValid();
-                        }
-                    }
-
-                    if (readCommitted()) {
-                        Collection<K> notFound = new HashSet<>(missedMap.keySet());
-
-                        notFound.removeAll(loaded);
-
-                        // In read-committed mode touch entries that have just been read.
-                        for (K key : notFound) {
-                            GridCacheTxEntry<K, V> txEntry = entry(cacheCtx.txKey(key));
-
-                            GridCacheEntryEx<K, V> entry = txEntry == null ? cacheCtx.cache().peekEx(key) :
-                                txEntry.cached();
-
-                            if (entry != null)
-                                cacheCtx.evicts().touch(entry, topologyVersion());
-                        }
-                    }
-
-                    return map;
-                }
-            });
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<Map<K, V>> getAllAsync(
-        final GridCacheContext<K, V> cacheCtx,
-        Collection<? extends K> keys,
-        @Nullable GridCacheEntryEx<K, V> cached, final boolean deserializePortable,
-        final IgnitePredicate<GridCacheEntry<K, V>>[] filter) {
-        if (F.isEmpty(keys))
-            return new GridFinishedFuture<>(cctx.kernalContext(), Collections.<K, V>emptyMap());
-
-        init();
-
-        int keysCnt = keys.size();
-
-        boolean single = keysCnt == 1;
-
-        try {
-            checkValid();
-
-            final Map<K, V> retMap = new GridLeanMap<>(keysCnt);
-
-            final Map<K, GridCacheVersion> missed = new GridLeanMap<>(pessimistic() ? keysCnt : 0);
-
-            final Collection<K> lockKeys = enlistRead(cacheCtx, keys, cached, retMap, missed, keysCnt,
-                deserializePortable, filter);
-
-            if (single && missed.isEmpty())
-                return new GridFinishedFuture<>(cctx.kernalContext(), retMap);
-
-            // Handle locks.
-            if (pessimistic() && !readCommitted() && !groupLock()) {
-                IgniteFuture<Boolean> fut = cacheCtx.cache().txLockAsync(lockKeys, lockTimeout(), this, true, true,
-                    isolation, isInvalidate(), CU.<K, V>empty());
-
-                PLC2<Map<K, V>> plc2 = new PLC2<Map<K, V>>() {
-                    @Override public IgniteFuture<Map<K, V>> postLock() throws IgniteCheckedException {
-                        if (log.isDebugEnabled())
-                            log.debug("Acquired transaction lock for read on keys: " + lockKeys);
-
-                        // Load keys only after the locks have been acquired.
-                        for (K key : lockKeys) {
-                            if (retMap.containsKey(key))
-                                // We already have a return value.
-                                continue;
-
-                            GridCacheTxKey<K> txKey = cacheCtx.txKey(key);
-
-                            GridCacheTxEntry<K, V> txEntry = entry(txKey);
-
-                            assert txEntry != null;
-
-                            // Check if there is cached value.
-                            while (true) {
-                                GridCacheEntryEx<K, V> cached = txEntry.cached();
-
-                                try {
-                                    Object transformClo =
-                                        (!F.isEmpty(txEntry.transformClosures()) &&
-                                            cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ)) ?
-                                            F.first(txEntry.transformClosures()) : null;
-
-                                    V val = cached.innerGet(GridCacheTxLocalAdapter.this,
-                                        cacheCtx.isSwapOrOffheapEnabled(),
-                                        /*read-through*/false,
-                                        /*fail-fast*/true,
-                                        /*unmarshal*/true,
-                                        /*metrics*/true,
-                                        /*events*/true,
-                                        /*temporary*/true,
-                                        CU.subjectId(GridCacheTxLocalAdapter.this, cctx),
-                                        transformClo,
-                                        resolveTaskName(),
-                                        filter);
-
-                                    // If value is in cache and passed the filter.
-                                    if (val != null) {
-                                        missed.remove(key);
-
-                                        txEntry.setAndMarkValid(val);
-
-                                        if (!F.isEmpty(txEntry.transformClosures())) {
-                                            for (IgniteClosure<V, V> clos : txEntry.transformClosures())
-                                                val = clos.apply(val);
-                                        }
-
-                                        if (cacheCtx.portableEnabled())
-                                            val = (V)cacheCtx.unwrapPortableIfNeeded(val, !deserializePortable);
-
-                                        retMap.put(key, val);
-                                    }
-
-                                    // Even though we bring the value back from lock acquisition,
-                                    // we still need to recheck primary node for consistent values
-                                    // in case of concurrent transactional locks.
-
-                                    break; // While.
-                                }
-                                catch (GridCacheEntryRemovedException ignore) {
-                                    if (log.isDebugEnabled())
-                                        log.debug("Got removed exception in get postLock (will retry): " +
-                                            cached);
-
-                                    txEntry.cached(entryEx(cacheCtx, txKey), txEntry.keyBytes());
-                                }
-                                catch (GridCacheFilterFailedException e) {
-                                    // Failed value for the filter.
-                                    V val = e.value();
-
-                                    if (val != null) {
-                                        // If filter fails after lock is acquired, we don't reload,
-                                        // regardless if value is null or not.
-                                        missed.remove(key);
-
-                                        txEntry.setAndMarkValid(val);
-                                    }
-
-                                    break; // While.
-                                }
-                            }
-                        }
-
-                        if (!missed.isEmpty() && (cacheCtx.isReplicated() || cacheCtx.isLocal()))
-                            return checkMissed(cacheCtx, retMap, missed, null, deserializePortable, filter);
-
-                        return new GridFinishedFuture<>(cctx.kernalContext(), Collections.<K, V>emptyMap());
-                    }
-                };
-
-                FinishClosure<Map<K, V>> finClos = new FinishClosure<Map<K, V>>() {
-                    @Override Map<K, V> finish(Map<K, V> loaded) {
-                        retMap.putAll(loaded);
-
-                        return retMap;
-                    }
-                };
-
-                if (fut.isDone()) {
-                    try {
-                        IgniteFuture<Map<K, V>> fut1 = plc2.apply(fut.get(), null);
-
-                        return fut1.isDone() ?
-                            new GridFinishedFutureEx<>(finClos.apply(fut1.get(), null)) :
-                            new GridEmbeddedFuture<>(cctx.kernalContext(), fut1, finClos);
-                    }
-                    catch (GridClosureException e) {
-                        return new GridFinishedFuture<>(cctx.kernalContext(), e.unwrap());
-                    }
-                    catch (IgniteCheckedException e) {
-                        try {
-                            return plc2.apply(false, e);
-                        }
-                        catch (Exception e1) {
-                            return new GridFinishedFuture<>(cctx.kernalContext(), e1);
-                        }
-                    }
-                }
-                else {
-                    return new GridEmbeddedFuture<>(
-                        cctx.kernalContext(),
-                        fut,
-                        plc2,
-                        finClos);
-                }
-            }
-            else {
-                assert optimistic() || readCommitted() || groupLock();
-
-                final Collection<K> redos = new LinkedList<>();
-
-                if (!missed.isEmpty()) {
-                    if (!readCommitted())
-                        for (Iterator<K> it = missed.keySet().iterator(); it.hasNext(); )
-                            if (retMap.containsKey(it.next()))
-                                it.remove();
-
-                    if (missed.isEmpty())
-                        return new GridFinishedFuture<>(cctx.kernalContext(), retMap);
-
-                    return new GridEmbeddedFuture<>(
-                        cctx.kernalContext(),
-                        // First future.
-                        checkMissed(cacheCtx, retMap, missed, redos, deserializePortable, filter),
-                        // Closure that returns another future, based on result from first.
-                        new PMC<Map<K, V>>() {
-                            @Override public IgniteFuture<Map<K, V>> postMiss(Map<K, V> map) {
-                                if (redos.isEmpty())
-                                    return new GridFinishedFuture<>(cctx.kernalContext(),
-                                        Collections.<K, V>emptyMap());
-
-                                if (log.isDebugEnabled())
-                                    log.debug("Starting to future-recursively get values for keys: " + redos);
-
-                                // Future recursion.
-                                return getAllAsync(cacheCtx, redos, null, deserializePortable, filter);
-                            }
-                        },
-                        // Finalize.
-                        new FinishClosure<Map<K, V>>() {
-                            @Override Map<K, V> finish(Map<K, V> loaded) {
-                                for (Map.Entry<K, V> entry : loaded.entrySet()) {
-                                    GridCacheTxEntry<K, V> txEntry = entry(cacheCtx.txKey(entry.getKey()));
-
-                                    V val = entry.getValue();
-
-                                    if (!readCommitted())
-                                        txEntry.readValue(val);
-
-                                    if (!F.isEmpty(txEntry.transformClosures())) {
-                                        for (IgniteClosure<V, V> clos : txEntry.transformClosures())
-                                            val = clos.apply(val);
-                                    }
-
-                                    retMap.put(entry.getKey(), val);
-                                }
-
-                                return retMap;
-                            }
-                        }
-                    );
-                }
-
-                return new GridFinishedFuture<>(cctx.kernalContext(), retMap);
-            }
-        }
-        catch (IgniteCheckedException e) {
-            setRollbackOnly();
-
-            return new GridFinishedFuture<>(cctx.kernalContext(), e);
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheReturn<V>> putAllAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Map<? extends K, ? extends V> map,
-        boolean retval,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        long ttl,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter
-    ) {
-        return putAllAsync0(cacheCtx, map, null, null, retval, cached, ttl, filter);
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<?> putAllDrAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Map<? extends K, GridCacheDrInfo<V>> drMap
-    ) {
-        return putAllAsync0(cacheCtx, null, null, drMap, false, null, -1, null);
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheReturn<V>> transformAllAsync(
-        GridCacheContext<K, V> cacheCtx,
-        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> map,
-        boolean retval,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        long ttl
-    ) {
-        return putAllAsync0(cacheCtx, null, map, null, retval, null, -1, null);
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<?> removeAllDrAsync(
-        GridCacheContext<K, V> cacheCtx,
-        Map<? extends K, GridCacheVersion> drMap
-    ) {
-        return removeAllAsync0(cacheCtx, null, drMap, null, false, null);
-    }
-
-    /**
-     * Checks filter for non-pessimistic transactions.
-     *
-     * @param cached Cached entry.
-     * @param filter Filter to check.
-     * @return {@code True} if passed or pessimistic.
-     * @throws IgniteCheckedException If failed.
-     */
-    private boolean filter(GridCacheEntryEx<K, V> cached,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter) throws IgniteCheckedException {
-        return pessimistic() || cached.context().isAll(cached, filter);
-    }
-
-    /**
-     * Internal routine for <tt>putAll(..)</tt>
-     *
-     * @param keys Keys to enlist.
-     * @param cached Cached entry.
-     * @param ttl Time to live for entry. If negative, leave unchanged.
-     * @param implicit Implicit flag.
-     * @param lookup Value lookup map ({@code null} for remove).
-     * @param transformMap Map with transform closures if this is a transform operation.
-     * @param retval Flag indicating whether a value should be returned.
-     * @param lockOnly If {@code true}, then entry will be enlisted as noop.
-     * @param filter User filters.
-     * @param ret Return value.
-     * @param enlisted Collection of keys enlisted into this transaction.
-     * @param drPutMap DR put map (optional).
-     * @param drRmvMap DR remove map (optional).
-     * @return Future with skipped keys (the ones that didn't pass filter for pessimistic transactions).
-     */
-    protected IgniteFuture<Set<K>> enlistWrite(
-        GridCacheContext<K, V> cacheCtx,
-        Collection<? extends K> keys,
-        @Nullable GridCacheEntryEx<K, V> cached,
-        long ttl,
-        boolean implicit,
-        @Nullable Map<? extends K, ? extends V> lookup,
-        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> transformMap,
-        boolean retval,
-        boolean lockOnly,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter,
-        final GridCacheReturn<V> ret,
-        Collection<K> enlisted,
-        @Nullable Map<? extends K, GridCacheDrInfo<V>> drPutMap,
-        @Nullable Map<? extends K, GridCacheVersion> drRmvMap
-    ) {
-        assert cached == null || keys.size() == 1;
-        assert cached == null || F.first(keys).equals(cached.key());
-
-        try {
-            addActiveCache(cacheCtx);
-        }
-        catch (IgniteCheckedException e) {
-            return new GridFinishedFuture<>(cctx.kernalContext(), e);
-        }
-
-        Set<K> skipped = null;
-
-        boolean rmv = lookup == null && transformMap == null;
-
-        try {
-            // Set transform flag for transaction.
-            if (transformMap != null)
-                transform = true;
-
-            groupLockSanityCheck(cacheCtx, keys);
-
-            for (K key : keys) {
-                V val = rmv || lookup == null ? null : lookup.get(key);
-                IgniteClosure<V, V> transformClo = transformMap == null ? null : transformMap.get(key);
-
-                GridCacheVersion drVer;
-                long drTtl;
-                long drExpireTime;
-
-                if (drPutMap != null) {
-                    GridCacheDrInfo<V> info = drPutMap.get(key);
-
-                    assert info != null;
-
-                    drVer = info.version();
-                    drTtl = info.ttl();
-                    drExpireTime = info.expireTime();
-                }
-                else if (drRmvMap != null) {
-                    assert drRmvMap.get(key) != null;
-
-                    drVer = drRmvMap.get(key);
-                    drTtl = -1L;
-                    drExpireTime = -1L;
-                }
-                else {
-                    drVer = null;
-                    drTtl = -1L;
-                    drExpireTime = -1L;
-                }
-
-                if (key == null)
-                    continue;
-
-                if (!rmv && val == null && transformClo == null) {
-                    skipped = skip(skipped, key);
-
-                    continue;
-                }
-
-                if (cacheCtx.portableEnabled())
-                    key = (K)cacheCtx.marshalToPortable(key);
-
-                GridCacheTxKey<K> txKey = cacheCtx.txKey(key);
-
-                GridCacheTxEntry<K, V> txEntry = entry(txKey);
-
-                // First time access.
-                if (txEntry == null) {
-                    while (true) {
-                        GridCacheEntryEx<K, V> entry;
-
-                        if (cached != null) {
-                            entry = cached;
-
-                            cached = null;
-                        }
-                        else {
-                            entry = entryEx(cacheCtx, txKey, topologyVersion());
-
-                            entry.unswap(true, false);
-                        }
-
-                        try {
-                            // Check if lock is being explicitly acquired by the same thread.
-                            if (!implicit && cctx.kernalContext().config().isCacheSanityCheckEnabled() &&
-                                entry.lockedByThread(threadId, xidVer))
-                                throw new IgniteCheckedException("Cannot access key within transaction if lock is " +
-                                    "externally held [key=" + key + ", entry=" + entry + ", xidVer=" + xidVer +
-                                    ", threadId=" + threadId +
-                                    ", locNodeId=" + cctx.localNodeId() + ']');
-
-                            V old = null;
-
-                            boolean readThrough = !F.isEmptyOrNulls(filter) && !F.isAlwaysTrue(filter);
-
-                            if (optimistic()) {
-                                try {
-                                    //Should read through if filter is specified.
-                                    old = entry.innerGet(this,
-                                        /*swap*/false,
-                                        /*read-through*/readThrough,
-                                        /*fail-fast*/false,
-                                        /*unmarshal*/retval,
-                                        /*metrics*/retval,
-                                        /*events*/retval,
-                                        /*temporary*/false,
-                                        CU.subjectId(this, cctx),
-                                        transformClo,
-                                        resolveTaskName(),
-                                        CU.<K, V>empty());
-                                }
-                                catch (GridCacheFilterFailedException e) {
-                                    e.printStackTrace();
-
-                                    assert false : "Empty filter failed: " + e;
-                                }
-                            }
-                            else
-                                old = retval ? entry.rawGetOrUnmarshal(false) : entry.rawGet();
-
-                            if (!filter(entry, filter)) {
-                                skipped = skip(skipped, key);
-
-                                ret.set(old, false);
-
-                                if (!readCommitted() && old != null) {
-                                    // Enlist failed filters as reads for non-read-committed mode,
-                                    // so future ops will get the same values.
-                                    txEntry = addEntry(READ, old, null, entry, -1, CU.<K, V>empty(), false, -1L, -1L,
-                                        null);
-
-                                    txEntry.markValid();
-                                }
-
-                                if (readCommitted() || old == null)
-                                    cacheCtx.evicts().touch(entry, topologyVersion());
-
-                                break; // While.
-                            }
-
-                            txEntry = addEntry(lockOnly ? NOOP : rmv ? DELETE : transformClo != null ? TRANSFORM :
-                                old != null ? UPDATE : CREATE, val, transformClo, entry, ttl, filter, true, drTtl,
-                                drExpireTime, drVer);
-
-                            if (!implicit() && readCommitted())
-                                cacheCtx.evicts().touch(entry, topologyVersion());
-
-                            if (groupLock() && !lockOnly)
-                                txEntry.groupLockEntry(true);
-
-                            enlisted.add(key);
-
-                            if (!pessimistic() || (groupLock() && !lockOnly)) {
-                                txEntry.markValid();
-
-                                if (old == null) {
-                                    if (retval && !readThrough) {
-                                        // If return value is required, then we know for sure that there is only
-                                        // one key in the keys collection.
-                                        assert keys.size() == 1;
-
-                                        IgniteFuture<Boolean> fut = loadMissing(
-                                            cacheCtx,
-                                            true,
-                                            F.asList(key),
-                                            deserializePortables(cacheCtx),
-                                            new CI2<K, V>() {
-                                                @Override public void apply(K k, V v) {
-                                                    if (log.isDebugEnabled())
-                                                        log.debug("Loaded value from remote node [key=" + k + ", val=" +
-                                                            v + ']');
-
-                                                    ret.set(v, true);
-                                                }
-                                            });
-
-                                        return new GridEmbeddedFuture<>(
-                                            cctx.kernalContext(),
-                                            fut,
-                                            new C2<Boolean, Exception, Set<K>>() {
-                                                @Override public Set<K> apply(Boolean b, Exception e) {
-                                                    if (e != null)
-                                                        throw new GridClosureException(e);
-
-                                                    return Collections.emptySet();
-                                                }
-                                            }
-                                        );
-                                    }
-                                    else
-                                        ret.set(null, true);
-                                }
-                                else
-                                    ret.set(old, true);
-                            }
-                            // Pessimistic.
-                            else
-                                ret.set(old, true);
-
-                            break; // While.
-                        }
-                        catch (GridCacheEntryRemovedException ignore) {
-                            if (log.isDebugEnabled())
-                                log.debug("Got removed entry in transaction putAll0 method: " + entry);
-                        }
-                    }
-                }
-                else {
-                    if (transformClo == null && txEntry.op() == TRANSFORM)
-                        throw new IgniteCheckedException("Failed to enlist write value for key (cannot have update value in " +
-                            "transaction after transform closure is applied): " + key);
-
-                    GridCacheEntryEx<K, V> entry = txEntry.cached();
-
-                    V v = txEntry.value();
-
-                    boolean del = txEntry.op() == DELETE && rmv;
-
-                    if (!del) {
-                        if (!filter(entry, filter)) {
-                            skipped = skip(skipped, key);
-
-                            ret.set(v, false);
-
-                            continue;
-                        }
-
-                        txEntry = addEntry(rmv ? DELETE : transformClo != null ? TRANSFORM :
-                            v != null ? UPDATE : CREATE, val, transformClo, entry, ttl, filter, true, drTtl,
-                            drExpireTime, drVer);
-
-                        enlisted.add(key);
-                    }
-
-                    if (!pessimistic()) {
-                        txEntry.markValid();
-
-                        // Set tx entry and return values.
-                        ret.set(v, true);
-                    }
-                }
-            }
-        }
-        catch (IgniteCheckedException e) {
-            return new GridFinishedFuture<>(cctx.kernalContext(), e);
-        }
-
-        return new GridFinishedFuture<>(cctx.kernalContext(), skipped);
-    }
-
-    /**
-     * Post lock processing for put or remove.
-     *
-     * @param keys Keys.
-     * @param failed Collection of potentially failed keys (need to populate in this method).
-     * @param transformed Output map where transformed values will be placed.
-     * @param transformMap Transform map.
-     * @param ret Return value.
-     * @param rmv {@code True} if remove.
-     * @param retval Flag to return value or not.
-     * @param filter Filter to check entries.
-     * @return Failed keys.
-     * @throws IgniteCheckedException If error.
-     */
-    protected Set<K> postLockWrite(
-        GridCacheContext<K, V> cacheCtx,
-        Iterable<? extends K> keys,
-        Set<K> failed,
-        @Nullable Map<K, V> transformed,
-        @Nullable Map<? extends K, ? extends IgniteClosure<V, V>> transformMap,
-        GridCacheReturn<V> ret,
-        boolean rmv,
-        boolean retval,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter
-    ) throws IgniteCheckedException {
-        for (K k : keys) {
-            GridCacheTxEntry<K, V> txEntry = entry(cacheCtx.txKey(k));
-
-            if (txEntry == null)
-                throw new IgniteCheckedException("Transaction entry is null (most likely collection of keys passed into cache " +
-                    "operation was changed before operation completed) [missingKey=" + k + ", tx=" + this + ']');
-
-            while (true) {
-                GridCacheEntryEx<K, V> cached = txEntry.cached();
-
-                try {
-                    assert cached.detached() || cached.lockedByThread(threadId) || isRollbackOnly() :
-                        "Transaction lock is not acquired [entry=" + cached + ", tx=" + this +
-                            ", nodeId=" + cctx.localNodeId() + ", threadId=" + threadId + ']';
-
-                    if (log.isDebugEnabled())
-                        log.debug("Post lock write entry: " + cached);
-
-                    V v = txEntry.previousValue();
-                    boolean hasPrevVal = txEntry.hasPreviousValue();
-
-                    if (onePhaseCommit())
-                        filter = txEntry.filters();
-
-                    // If we have user-passed filter, we must read value into entry for peek().
-                    if (!F.isEmptyOrNulls(filter) && !F.isAlwaysTrue(filter))
-                        retval = true;
-
-                    if (retval) {
-                        if (!cacheCtx.isNear()) {
-                            try {
-                                if (!hasPrevVal)
-                                    v = cached.innerGet(this,
-                                        /*swap*/retval,
-                                        /*read-through*/retval,
-                                        /*failFast*/false,
-                                        /*unmarshal*/retval,
-                                        /*metrics*/true,
-                                        /*event*/!dht(),
-                                        /*temporary*/false,
-                                        CU.subjectId(this, cctx),
-                                        null,
-                                        resolveTaskName(),
-                                        CU.<K, V>empty());
-                            }
-                            catch (GridCacheFilterFailedException e) {
-                                e.printStackTrace();
-
-                                assert false : "Empty filter failed: " + e;
-                            }
-                        }
-                        else {
-                            if (!hasPrevVal)
-                                v = retval ? cached.rawGetOrUnmarshal(false) : cached.rawGet();
-                        }
-
-                        ret.value(v);
-                    }
-
-                    boolean pass = cacheCtx.isAll(cached, filter);
-
-                    // For remove operation we return true only if we are removing s/t,
-                    // i.e. cached value is not null.
-                    ret.success(pass && (!retval ? !rmv || cached.hasValue() || v != null : !rmv || v != null));
-
-                    if (onePhaseCommit())
-                        txEntry.filtersPassed(pass);
-
-                    if (pass) {
-                        txEntry.markValid();
-
-                        if (log.isDebugEnabled())
-                            log.debug("Filter passed in post lock for key: " + k);
-                    }
-                    else {
-                        failed = skip(failed, k);
-
-                        // Revert operation to previous. (if no - NOOP, so entry will be unlocked).
-                        txEntry.setAndMarkValid(txEntry.previousOperation(), ret.value());
-                        txEntry.filters(CU.<K, V>empty());
-                        txEntry.filtersSet(false);
-                    }
-
-                    break; // While.
-                }
-                // If entry cached within transaction got removed before lock.
-                catch (GridCacheEntryRemovedException ignore) {
-                    if (log.isDebugEnabled())
-                        log.debug("Got removed entry in putAllAsync method (will retry): " + cached);
-
-                    txEntry.cached(entryEx(cached.context(), txEntry.txKey()), txEntry.keyBytes());
-                }
-            }
-        }
-
-        if (log.isDebugEnabled())
-            log.debug("Entries that failed after lock filter check: " + failed);
-
-        return failed;
-    }
-
-    /**
-     * Internal method for all put and transform operations. Only one of {@code map}, {@code transformMap}
-     * maps must be non-null.
-     *
-     * @param map Key-value map to store.
-     * @param transformMap Transform map.
-     * @param drMap DR map.
-     * @param retval Key-transform value map to store.
-     * @param cached Cached entry, if any.
-     * @param ttl Time to live.
-     * @param filter Filter.
-     * @return Operation future.
-     */
-    private IgniteFuture<GridCacheReturn<V>> putAllAsync0(
-        final GridCacheCon

<TRUNCATED>

[27/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMap.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMap.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMap.java
new file mode 100644
index 0000000..0c7fce4
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxMap.java
@@ -0,0 +1,179 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.lang.*;
+import org.gridgain.grid.util.*;
+import org.gridgain.grid.util.typedef.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+
+/**
+ * Grid cache transaction read or write set.
+ */
+public class IgniteTxMap<K, V> extends AbstractMap<IgniteTxKey<K>, IgniteTxEntry<K, V>> implements Externalizable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Base transaction map. */
+    private Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> txMap;
+
+    /** Entry set. */
+    private Set<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>> entrySet;
+
+    /** Cached size. */
+    private int size = -1;
+
+    /** Empty flag. */
+    private Boolean empty;
+
+    /** Sealed flag. */
+    private boolean sealed;
+
+    /** Filter. */
+    private IgnitePredicate<IgniteTxEntry<K, V>> filter;
+
+    /**
+     * Empty constructor required for {@link Externalizable}.
+     */
+    public IgniteTxMap() {
+        // No-op.
+    }
+
+    /**
+     * @param txMap Transaction map.
+     * @param filter Filter.
+     */
+    public IgniteTxMap(Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> txMap,
+        IgnitePredicate<IgniteTxEntry<K, V>> filter) {
+        this.txMap = txMap;
+        this.filter = filter;
+    }
+
+    /**
+     * Seals this map.
+     *
+     * @return This map for chaining.
+     */
+    IgniteTxMap<K, V> seal() {
+        sealed = true;
+
+        return this;
+    }
+
+    /**
+     * @return Sealed flag.
+     */
+    boolean sealed() {
+        return sealed;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Set<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>> entrySet() {
+        if (entrySet == null) {
+            entrySet = new GridSerializableSet<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>>() {
+                private Set<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>> set = txMap.entrySet();
+
+                @Override public Iterator<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>> iterator() {
+                    return new GridSerializableIterator<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>>() {
+                        private Iterator<Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>>> it = set.iterator();
+
+                        private Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>> cur;
+
+                        // Constructor.
+                        {
+                            advance();
+                        }
+
+                        @Override public boolean hasNext() {
+                            return cur != null;
+                        }
+
+                        @Override public Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>> next() {
+                            if (cur == null)
+                                throw new NoSuchElementException();
+
+                            Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>> e = cur;
+
+                            advance();
+
+                            return e;
+                        }
+
+                        @Override public void remove() {
+                            throw new UnsupportedOperationException();
+                        }
+
+                        private void advance() {
+                            cur = null;
+
+                            while (cur == null && it.hasNext()) {
+                                Entry<IgniteTxKey<K>, IgniteTxEntry<K, V>> e = it.next();
+
+                                if (filter.apply(e.getValue()))
+                                    cur = e;
+                            }
+                        }
+                    };
+                }
+
+                @Override public int size() {
+                    return !sealed ? F.size(iterator()) : size == -1 ? size = F.size(iterator()) : size;
+                }
+
+                @Override public boolean isEmpty() {
+                    return !sealed ? !iterator().hasNext() : empty == null ? empty = !iterator().hasNext() : empty;
+                }
+            };
+        }
+
+        return entrySet;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isEmpty() {
+        return entrySet().isEmpty();
+    }
+
+    /** {@inheritDoc} */
+    @Override public int size() {
+        return entrySet().size();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean containsKey(Object key) {
+        return get(key) != null;
+    }
+
+    /** {@inheritDoc} */
+    @Nullable
+    @Override public IgniteTxEntry<K, V> get(Object key) {
+        IgniteTxEntry<K, V> e = txMap.get(key);
+
+        return e == null ? null : filter.apply(e) ? e : null;
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteTxEntry<K, V> remove(Object key) {
+        throw new UnsupportedOperationException();
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        throw new IllegalStateException("Transaction view map should never be serialized: " + this);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        throw new IllegalStateException("Transaction view map should never be serialized: " + this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
index e41a5ad..a39a315 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxProxyImpl.java
@@ -31,7 +31,7 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
 
     /** Wrapped transaction. */
     @GridToStringInclude
-    private GridCacheTxEx<K, V> tx;
+    private IgniteTxEx<K, V> tx;
 
     /** Gateway. */
     @GridToStringExclude
@@ -47,7 +47,7 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
     /**
      * @param tx Transaction.
      */
-    public IgniteTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
+    public IgniteTxProxyImpl(IgniteTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
         assert tx != null;
         assert cctx != null;
 
@@ -294,7 +294,7 @@ public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
 
     /** {@inheritDoc} */
     @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        tx = (GridCacheTxAdapter<K, V>)in.readObject();
+        tx = (IgniteTxAdapter<K, V>)in.readObject();
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxRemoteEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxRemoteEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxRemoteEx.java
new file mode 100644
index 0000000..b90ee18
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxRemoteEx.java
@@ -0,0 +1,39 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.gridgain.grid.kernal.processors.cache.*;
+
+import java.util.*;
+
+/**
+ * Local transaction API.
+ */
+public interface IgniteTxRemoteEx<K, V> extends IgniteTxEx<K, V> {
+    /**
+     * @return Remote thread ID.
+     */
+    public long remoteThreadId();
+
+    /**
+     * @param baseVer Base version.
+     * @param committedVers Committed version.
+     * @param rolledbackVers Rolled back version.
+     * @param pendingVers Pending versions.
+     */
+    public void doneRemote(GridCacheVersion baseVer, Collection<GridCacheVersion> committedVers,
+        Collection<GridCacheVersion> rolledbackVers, Collection<GridCacheVersion> pendingVers);
+
+    /**
+     * @param e Sets write value for pessimistic transactions.
+     * @return {@code True} if entry was found.
+     */
+    public boolean setWriteValue(IgniteTxEntry<K, V> e);
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestEntryEx.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestEntryEx.java
index 73a5ed1..191d70c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestEntryEx.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestEntryEx.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;
@@ -295,8 +296,8 @@ public class GridCacheTestEntryEx<K, V> extends GridMetadataAwareAdapter impleme
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxKey<K> txKey() {
-        return new GridCacheTxKey<>(key, 0);
+    @Override public IgniteTxKey<K> txKey() {
+        return new IgniteTxKey<>(key, 0);
     }
 
     /** @inheritDoc */
@@ -390,7 +391,7 @@ public class GridCacheTestEntryEx<K, V> extends GridMetadataAwareAdapter impleme
     }
 
     /** @inheritDoc */
-    @Override public V innerGet(@Nullable GridCacheTxEx<K, V> tx,
+    @Override public V innerGet(@Nullable IgniteTxEx<K, V> tx,
         boolean readSwap,
         boolean readThrough,
         boolean failFast,
@@ -411,7 +412,7 @@ public class GridCacheTestEntryEx<K, V> extends GridMetadataAwareAdapter impleme
     }
 
     /** @inheritDoc */
-    @Override public GridCacheUpdateTxResult<V> innerSet(@Nullable GridCacheTxEx<K, V> tx, UUID evtNodeId, UUID affNodeId,
+    @Override public GridCacheUpdateTxResult<V> innerSet(@Nullable IgniteTxEx<K, V> tx, UUID evtNodeId, UUID affNodeId,
         @Nullable V val, @Nullable byte[] valBytes, boolean writeThrough, boolean retval, long ttl,
         boolean evt, boolean metrics, long topVer, IgnitePredicate<GridCacheEntry<K, V>>[] filter, GridDrType drType,
         long drExpireTime, @Nullable GridCacheVersion drVer, UUID subjId, String taskName) throws IgniteCheckedException,
@@ -439,7 +440,7 @@ public class GridCacheTestEntryEx<K, V> extends GridMetadataAwareAdapter impleme
     }
 
     /** @inheritDoc */
-    @Override public GridCacheUpdateTxResult<V> innerRemove(@Nullable GridCacheTxEx<K, V> tx, UUID evtNodeId,
+    @Override public GridCacheUpdateTxResult<V> innerRemove(@Nullable IgniteTxEx<K, V> tx, UUID evtNodeId,
         UUID affNodeId, boolean writeThrough, boolean retval, boolean evt, boolean metrics, long topVer,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter, GridDrType drType, @Nullable GridCacheVersion drVer, UUID subjId,
         String taskName)
@@ -466,12 +467,12 @@ public class GridCacheTestEntryEx<K, V> extends GridMetadataAwareAdapter impleme
     }
 
     /** @inheritDoc */
-    @Override public boolean tmLock(GridCacheTxEx<K, V> tx, long timeout) {
+    @Override public boolean tmLock(IgniteTxEx<K, V> tx, long timeout) {
         assert false; return false;
     }
 
     /** @inheritDoc */
-    @Override public void txUnlock(GridCacheTxEx<K, V> tx) {
+    @Override public void txUnlock(IgniteTxEx<K, V> tx) {
         assert false;
     }
 
@@ -543,7 +544,7 @@ public class GridCacheTestEntryEx<K, V> extends GridMetadataAwareAdapter impleme
 
     /** @inheritDoc */
     @Override public GridTuple<V> peek0(boolean failFast, GridCachePeekMode mode,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter, GridCacheTxEx<K, V> tx)
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter, IgniteTxEx<K, V> tx)
         throws GridCacheEntryRemovedException, GridCacheFilterFailedException, IgniteCheckedException {
         return F.t(val);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
index bae49d7..133c773 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
@@ -304,7 +305,7 @@ public final class GridCacheTestStore implements GridCacheStore<Integer, String>
 
         txs.add(tx);
 
-        GridCacheTxEx tx0 = (GridCacheTxEx)tx;
+        IgniteTxEx tx0 = (IgniteTxEx)tx;
 
         if (!tx0.local())
             throw new IgniteCheckedException("Tx is not local: " + tx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
index 5e0560e..d5f91c0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxOriginatingNodeFailureAbstractSelfTest.java
@@ -150,7 +150,7 @@ public abstract class IgniteTxOriginatingNodeFailureAbstractSelfTest extends Gri
 
                 IgniteTxProxyImpl tx = (IgniteTxProxyImpl)cache.txStart();
 
-                GridCacheTxEx txEx = GridTestUtils.getFieldValue(tx, "tx");
+                IgniteTxEx txEx = GridTestUtils.getFieldValue(tx, "tx");
 
                 cache.putAll(map);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
index 1b898fc..2f04b85 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
@@ -22,6 +22,7 @@ import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
 import org.apache.ignite.spi.communication.tcp.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.lang.*;
@@ -204,7 +205,7 @@ public abstract class IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest
                 for (GridKernal g : grids) {
                     GridCacheAdapter<?, ?> cache = g.internalCache();
 
-                    GridCacheTxManager txMgr = cache.isNear() ?
+                    IgniteTxManager txMgr = cache.isNear() ?
                         ((GridNearCacheAdapter)cache).dht().context().tm() :
                         cache.context().tm();
 
@@ -335,7 +336,7 @@ public abstract class IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest
                 for (GridKernal g : grids) {
                     GridCacheAdapter<?, ?> cache = g.internalCache();
 
-                    GridCacheTxManager txMgr = cache.isNear() ?
+                    IgniteTxManager txMgr = cache.isNear() ?
                         ((GridNearCacheAdapter)cache).dht().context().tm() :
                         cache.context().tm();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
index 2f02df0..f39a0f5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
@@ -16,7 +16,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.testframework.junits.common.*;
 
 import java.util.*;
@@ -141,7 +141,7 @@ public class GridCacheAtomicPreloadSelfTest extends GridCommonAbstractTest {
      */
     private void checkTransactions() {
         for (int i = 0; i < 3; i++) {
-            GridCacheTxManager<Object, Object> tm = ((GridKernal)grid(i)).context().cache().context().tm();
+            IgniteTxManager<Object, Object> tm = ((GridKernal)grid(i)).context().cache().context().tm();
 
             assertEquals("Uncommitted transactions found on node [idx=" + i + ", mapSize=" + tm.idMapSize() + ']',
                 0, tm.idMapSize());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
index e3aadeae..a966105 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
@@ -16,11 +16,11 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.junits.common.*;
 
@@ -225,13 +225,13 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
      * @param tm Transaction manager.
      */
     @SuppressWarnings( {"unchecked"})
-    private void checkTm(Ignite g, GridCacheTxManager tm) {
-        Collection<GridCacheTxEx> txs = tm.txs();
+    private void checkTm(Ignite g, IgniteTxManager tm) {
+        Collection<IgniteTxEx> txs = tm.txs();
 
         info(">>> Number of transactions in the set [size=" + txs.size() +
             ", nodeId=" + g.cluster().localNode().id() + ']');
 
-        for (GridCacheTxEx tx : txs)
+        for (IgniteTxEx tx : txs)
             assert tx.done() : "Transaction is not finished: " + tx;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
index 0b56ca5..7d1e816 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
@@ -20,6 +20,7 @@ import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.testframework.junits.common.*;
 
@@ -133,7 +134,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
      *
      * @param mode Transaction mode (PESSIMISTIC, OPTIMISTIC).
      * @param prepare Whether to preapre transaction state
-     *                (i.e. call {@link GridCacheTxEx#prepare()}).
+     *                (i.e. call {@link IgniteTxEx#prepare()}).
      * @throws Exception If failed.
      */
     private void checkSalvageAfterTimeout(IgniteTxConcurrency mode, boolean prepare) throws Exception {
@@ -152,7 +153,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
      *
      * @param mode Transaction mode (PESSIMISTIC, OPTIMISTIC).
      * @param prepare Whether to preapre transaction state
-     *                (i.e. call {@link GridCacheTxEx#prepare()}).
+     *                (i.e. call {@link IgniteTxEx#prepare()}).
      * @throws Exception If failed.
      */
     private void checkSalvageBeforeTimeout(IgniteTxConcurrency mode, boolean prepare) throws Exception {
@@ -179,7 +180,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
      *
      * @param mode Transaction mode (PESSIMISTIC, OPTIMISTIC).
      * @param prepare Whether to preapre transaction state
-     *                (i.e. call {@link GridCacheTxEx#prepare()}).
+     *                (i.e. call {@link IgniteTxEx#prepare()}).
      * @throws Exception If failed.
      */
     private void startTxAndPutKeys(final IgniteTxConcurrency mode, final boolean prepare) throws Exception {
@@ -199,7 +200,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
 
                     // Unproxy.
                     if (prepare)
-                        U.<GridCacheTxEx>field(tx, "tx").prepare();
+                        U.<IgniteTxEx>field(tx, "tx").prepare();
                 }
                 catch (IgniteCheckedException e) {
                     info("Failed to put keys to cache: " + e.getMessage());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManagerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManagerSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManagerSelfTest.java
index 565b423..4019b28 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManagerSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManagerSelfTest.java
@@ -18,6 +18,7 @@ import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.testframework.*;
@@ -181,7 +182,7 @@ public class GridGgfsDataManagerSelfTest extends GridGgfsCommonAbstractTest {
             for (int j = 0; j < NODES_CNT; j++) {
                 GridCacheContext<Object, Object> ctx = GridTestUtils.getFieldValue(grid(j).cachex(DATA_CACHE_NAME),
                     "ctx");
-                Collection<GridCacheTxEx<Object, Object>> txs = ctx.tm().txs();
+                Collection<IgniteTxEx<Object, Object>> txs = ctx.tm().txs();
 
                 assert txs.isEmpty() : "Incomplete transactions: " + txs;
             }
@@ -269,7 +270,7 @@ public class GridGgfsDataManagerSelfTest extends GridGgfsCommonAbstractTest {
             for (int j = 0; j < NODES_CNT; j++) {
                 GridCacheContext<Object, Object> ctx = GridTestUtils.getFieldValue(grid(j).cachex(DATA_CACHE_NAME),
                     "ctx");
-                Collection<GridCacheTxEx<Object, Object>> txs = ctx.tm().txs();
+                Collection<IgniteTxEx<Object, Object>> txs = ctx.tm().txs();
 
                 assert txs.isEmpty() : "Incomplete transactions: " + txs;
             }
@@ -349,7 +350,7 @@ public class GridGgfsDataManagerSelfTest extends GridGgfsCommonAbstractTest {
             for (int j = 0; j < NODES_CNT; j++) {
                 GridCacheContext<Object, Object> ctx = GridTestUtils.getFieldValue(grid(j).cachex(DATA_CACHE_NAME),
                     "ctx");
-                Collection<GridCacheTxEx<Object, Object>> txs = ctx.tm().txs();
+                Collection<IgniteTxEx<Object, Object>> txs = ctx.tm().txs();
 
                 assert txs.isEmpty() : "Incomplete transactions: " + txs;
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridCacheTestContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridCacheTestContext.java b/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridCacheTestContext.java
index 3236e99..adae929 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridCacheTestContext.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridCacheTestContext.java
@@ -15,8 +15,8 @@ import org.gridgain.grid.kernal.processors.cache.dr.os.*;
 import org.gridgain.grid.kernal.processors.cache.jta.*;
 import org.gridgain.grid.kernal.processors.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.query.continuous.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.testframework.junits.*;
-import org.gridgain.testframework.junits.logger.*;
 
 import static org.gridgain.testframework.junits.GridAbstractTest.*;
 
@@ -32,7 +32,7 @@ public class GridCacheTestContext<K, V> extends GridCacheContext<K, V> {
             ctx,
             new GridCacheSharedContext<>(
                 ctx,
-                new GridCacheTxManager<K, V>(),
+                new IgniteTxManager<K, V>(),
                 new GridCacheVersionManager<K, V>(),
                 new GridCacheMvccManager<K, V>(),
                 new GridCacheDeploymentManager<K, V>(),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridHashMapLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridHashMapLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridHashMapLoadTest.java
index 87d8dae..a64a733 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridHashMapLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/hashmap/GridHashMapLoadTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.loadtests.hashmap;
 
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.testframework.junits.*;
 import org.gridgain.testframework.junits.common.*;
 import org.gridgain.testframework.junits.logger.*;
@@ -63,11 +64,11 @@ public class GridHashMapLoadTest extends GridCommonAbstractTest {
 
             map.put(key, new GridCacheMapEntry<Integer, Integer>(ctx, key,
                 key.hashCode(), val, null, 0, 1) {
-                @Override public boolean tmLock(GridCacheTxEx<Integer, Integer> tx, long timeout) {
+                @Override public boolean tmLock(IgniteTxEx<Integer, Integer> tx, long timeout) {
                     return false;
                 }
 
-                @Override public void txUnlock(GridCacheTxEx<Integer, Integer> tx) {
+                @Override public void txUnlock(IgniteTxEx<Integer, Integer> tx) {
                     // No-op.
                 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
index f944b38..9fd4ba2 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
@@ -14,7 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.jta.*;
-import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.jetbrains.annotations.*;
 
 import javax.transaction.*;
@@ -80,7 +80,7 @@ public class GridCacheJtaManager<K, V> extends GridCacheJtaManagerAdapter<K, V>
                             );
                         }
 
-                        rsrc = new GridCacheXAResource((GridCacheTxEx)tx, cctx);
+                        rsrc = new GridCacheXAResource((IgniteTxEx)tx, cctx);
 
                         if (!jtaTx.enlistResource(rsrc))
                             throw new IgniteCheckedException("Failed to enlist XA resource to JTA user transaction.");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
index 58c9ce3..bc6dea4 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.jta;
 import org.apache.ignite.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
 import javax.transaction.xa.*;
@@ -33,7 +34,7 @@ public final class GridCacheXAResource implements XAResource {
     private GridCacheContext cctx;
 
     /** Cache transaction. */
-    private GridCacheTxEx cacheTx;
+    private IgniteTxEx cacheTx;
 
     /** */
     private IgniteLogger log;
@@ -45,7 +46,7 @@ public final class GridCacheXAResource implements XAResource {
      * @param cacheTx Cache jta.
      * @param cctx Cache context.
      */
-    public GridCacheXAResource(GridCacheTxEx cacheTx, GridCacheContext cctx) {
+    public GridCacheXAResource(IgniteTxEx cacheTx, GridCacheContext cctx) {
         assert cacheTx != null;
         assert cctx != null;
 


[18/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
index 2f37a2e..f40eecb 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
@@ -17,8 +17,8 @@ import org.gridgain.grid.util.typedef.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Multi-node test for group locking.
@@ -47,7 +47,7 @@ public abstract class GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest ext
     /**
      * @throws Exception If failed.
      */
-    private void checkNonLocalKey(GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkNonLocalKey(IgniteTxConcurrency concurrency) throws Exception {
         final UUID key = primaryKeyForCache(grid(1));
 
         GridCache<Object, Object> cache = grid(0).cache(null);
@@ -104,7 +104,7 @@ public abstract class GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest ext
     /**
      * @throws Exception If failed.
      */
-    private void checkNearReadersUpdate(boolean touchAffKey, GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkNearReadersUpdate(boolean touchAffKey, IgniteTxConcurrency concurrency) throws Exception {
         UUID affinityKey = primaryKeyForCache(grid(0));
 
         GridCacheAffinityKey<String> key1 = new GridCacheAffinityKey<>("key1", affinityKey);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
index bf2bd80..8296f97 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
@@ -32,8 +32,8 @@ import java.util.concurrent.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
index 8884116..2f02df0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
@@ -22,8 +22,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -81,7 +81,7 @@ public class GridCacheAtomicPreloadSelfTest extends GridCommonAbstractTest {
     /**
      * @throws Exception If failed.
      */
-    private void checkSimpleTxs(boolean nearEnabled, GridCacheTxConcurrency concurrency) throws Exception {
+    private void checkSimpleTxs(boolean nearEnabled, IgniteTxConcurrency concurrency) throws Exception {
         try {
             this.nearEnabled = nearEnabled;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
index dadb2d5..28b8dcc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
@@ -26,8 +26,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test getting the same value twice within the same transaction.
@@ -210,7 +210,7 @@ public class GridCacheNearMultiGetSelfTest extends GridCommonAbstractTest {
      * @param put If {@code true}, then value will be pre-stored in cache.
      * @throws Exception If failed.
      */
-    private void checkDoubleGet(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation, boolean put)
+    private void checkDoubleGet(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation, boolean put)
         throws Exception {
         GridCache<Integer, String> cache = grid(0).cache(null);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
index d58da7a..f320a34 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
@@ -35,8 +35,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePeekMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Multi node test for near cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
index 467c71f..335c47a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
@@ -25,8 +25,8 @@ import java.util.concurrent.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Single node test for near cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
index b92f17c..77e6e44 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
@@ -26,8 +26,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Near-only cache node startup test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
index 834c145..e3aadeae 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
@@ -30,8 +30,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -187,7 +187,7 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
      * @param isolation Transaction isolation.
      * @throws Exception If failed.
      */
-    private void testReadersUpdate(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
+    private void testReadersUpdate(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation) throws Exception {
         GridCache<Integer, Integer> cache = grid(0).cache(null);
 
         try (IgniteTx tx = cache.txStart(concurrency, isolation)) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
index 7a553d2..d0657f1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
@@ -25,8 +25,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
index 6d3a51d..2f72666 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
@@ -23,8 +23,8 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.gridgain.grid.util.typedef.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -146,7 +146,7 @@ public class GridCachePartitionedEvictionSelfTest extends GridCacheAbstractSelfT
      * @param concurrency Tx concurrency.
      * @param isolation Tx isolation.
      */
-    private void doTestEviction(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation)
+    private void doTestEviction(IgniteTxConcurrency concurrency, IgniteTxIsolation isolation)
         throws Exception {
         assert concurrency != null;
         assert isolation != null;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
index 8274803..54b103d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
@@ -35,8 +35,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Multiple put test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
index a088915..34ed97a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Multithreaded partition cache put get test.
@@ -160,7 +160,7 @@ public class GridCachePartitionedMultiThreadedPutGetSelfTest extends GridCommonA
      * @throws Exception If failed.
      */
     @SuppressWarnings({"TooBroadScope", "PointlessBooleanExpression"})
-    private void doTest(final GridCacheTxConcurrency concurrency, final GridCacheTxIsolation isolation)
+    private void doTest(final IgniteTxConcurrency concurrency, final IgniteTxIsolation isolation)
         throws Exception {
         final AtomicInteger cntr = new AtomicInteger();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
index 129156a..7ab2f90 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
@@ -16,7 +16,7 @@ import org.gridgain.grid.kernal.processors.cache.distributed.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
index 730c4bc..52dd3b3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
@@ -16,7 +16,7 @@ import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -46,7 +46,7 @@ public class GridCachePartitionedOptimisticTxNodeRestartTest extends GridCacheAb
     }
 
     /** {@inheritDoc} */
-    @Override protected GridCacheTxConcurrency txConcurrency() {
+    @Override protected IgniteTxConcurrency txConcurrency() {
         return OPTIMISTIC;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
index 1370fc3..74374fb 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
@@ -38,8 +38,8 @@ public class GridCachePartitionedPreloadLifecycleSelfTest extends GridCachePrelo
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        c.getTransactionsConfiguration().setDefaultTxConcurrency(GridCacheTxConcurrency.OPTIMISTIC);
-        c.getTransactionsConfiguration().setDefaultTxIsolation(GridCacheTxIsolation.READ_COMMITTED);
+        c.getTransactionsConfiguration().setDefaultTxConcurrency(IgniteTxConcurrency.OPTIMISTIC);
+        c.getTransactionsConfiguration().setDefaultTxIsolation(IgniteTxIsolation.READ_COMMITTED);
 
         GridCacheConfiguration cc1 = defaultCacheConfiguration();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
index 215e846..0b56ca5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
@@ -26,8 +26,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Test tx salvage.
@@ -136,7 +136,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
      *                (i.e. call {@link GridCacheTxEx#prepare()}).
      * @throws Exception If failed.
      */
-    private void checkSalvageAfterTimeout(GridCacheTxConcurrency mode, boolean prepare) throws Exception {
+    private void checkSalvageAfterTimeout(IgniteTxConcurrency mode, boolean prepare) throws Exception {
         startTxAndPutKeys(mode, prepare);
 
         stopNodeAndSleep(SALVAGE_TIMEOUT + DELTA_AFTER);
@@ -155,7 +155,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
      *                (i.e. call {@link GridCacheTxEx#prepare()}).
      * @throws Exception If failed.
      */
-    private void checkSalvageBeforeTimeout(GridCacheTxConcurrency mode, boolean prepare) throws Exception {
+    private void checkSalvageBeforeTimeout(IgniteTxConcurrency mode, boolean prepare) throws Exception {
         startTxAndPutKeys(mode, prepare);
 
         List<Integer> nearSizes = new ArrayList<>(GRID_CNT - 1);
@@ -182,7 +182,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
      *                (i.e. call {@link GridCacheTxEx#prepare()}).
      * @throws Exception If failed.
      */
-    private void startTxAndPutKeys(final GridCacheTxConcurrency mode, final boolean prepare) throws Exception {
+    private void startTxAndPutKeys(final IgniteTxConcurrency mode, final boolean prepare) throws Exception {
         Ignite ignite = grid(0);
 
         final Collection<Integer> keys = nearKeys(ignite);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
index f4febde..5e9a70b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
@@ -28,8 +28,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**
@@ -140,8 +140,8 @@ public class GridCacheReplicatedInvalidateSelfTest extends GridCommonAbstractTes
      * @param isolation Isolation.
      * @throws Throwable If check failed.
      */
-    private void checkCommit(GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Throwable {
+    private void checkCommit(IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Throwable {
         int idx = RAND.nextInt(GRID_CNT);
 
         GridCache<Integer, String> cache = cache(idx);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
index b9434d4..ca20076 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/preloader/GridCacheReplicatedPreloadLifecycleSelfTest.java
@@ -23,8 +23,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
index ea6625f..a5ce8c1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
@@ -28,8 +28,8 @@ import java.util.concurrent.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
index e2dbcd4..252b542 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionsSelfTest.java
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
index 2984d7c..e6146f7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheDistributedEvictionsSelfTest.java
@@ -27,8 +27,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
index df8a76f..7f9d871 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
@@ -45,10 +45,10 @@ public abstract class GridCacheEmptyEntriesAbstractSelfTest extends GridCommonAb
     private GridCacheStore<String, String> testStore;
 
     /** Tx concurrency to use. */
-    private GridCacheTxConcurrency txConcurrency;
+    private IgniteTxConcurrency txConcurrency;
 
     /** Tx isolation to use. */
-    private GridCacheTxIsolation txIsolation;
+    private IgniteTxIsolation txIsolation;
 
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
@@ -147,10 +147,10 @@ public abstract class GridCacheEmptyEntriesAbstractSelfTest extends GridCommonAb
      * @throws Exception If failed.
      */
     private void checkPolicy0() throws Exception {
-        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+        for (IgniteTxConcurrency concurrency : IgniteTxConcurrency.values()) {
             txConcurrency = concurrency;
 
-            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+            for (IgniteTxIsolation isolation : IgniteTxIsolation.values()) {
                 txIsolation = isolation;
 
                 Ignite g = startGrids();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
index 423f35e..1c3102b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
@@ -28,8 +28,8 @@ import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
index 09f8c22..a6a5ee7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
@@ -27,8 +27,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
index f00beaa..0409d24 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
@@ -24,8 +24,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMemoryMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Byte values test for LOCAL cache.
@@ -200,7 +200,7 @@ public class GridCacheLocalByteArrayValuesSelfTest extends GridCacheAbstractByte
      * @param val Value.
      * @throws Exception If failed.
      */
-    private void testTransaction(GridCache<Integer, Object> cache, GridCacheTxConcurrency concurrency,
+    private void testTransaction(GridCache<Integer, Object> cache, IgniteTxConcurrency concurrency,
         Integer key, byte[] val) throws Exception {
         testTransactionMixed(cache, concurrency, key, val, null, null);
     }
@@ -216,7 +216,7 @@ public class GridCacheLocalByteArrayValuesSelfTest extends GridCacheAbstractByte
      * @param val2 Value 2.
      * @throws Exception If failed.
      */
-    private void testTransactionMixed(GridCache<Integer, Object> cache, GridCacheTxConcurrency concurrency,
+    private void testTransactionMixed(GridCache<Integer, Object> cache, IgniteTxConcurrency concurrency,
         Integer key1, byte[] val1, @Nullable Integer key2, @Nullable Object val2) throws Exception {
 
         IgniteTx tx = cache.txStart(concurrency, REPEATABLE_READ);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
index fa5188c..b8b5f17 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
@@ -18,8 +18,8 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.gridgain.testframework.junits.common.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  *
@@ -116,8 +116,8 @@ public class GridCacheLocalTxTimeoutSelfTest extends GridCommonAbstractTest {
      * @param isolation Isolation.
      * @throws IgniteCheckedException If test failed.
      */
-    private void checkTransactionTimeout(GridCacheTxConcurrency concurrency,
-        GridCacheTxIsolation isolation) throws Exception {
+    private void checkTransactionTimeout(IgniteTxConcurrency concurrency,
+        IgniteTxIsolation isolation) throws Exception {
 
         boolean wasEx = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
index e6e54f6..a9573da 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
@@ -36,8 +36,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.processors.ggfs.GridGgfsFileInfo.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
index 846fcbc..f5020fb 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
@@ -51,10 +51,10 @@ abstract class GridCacheAbstractLoadTest {
     protected final int operationsPerTx;
 
     /** Transaction isolation level. */
-    protected final GridCacheTxIsolation isolation;
+    protected final IgniteTxIsolation isolation;
 
     /** Transaction concurrency control. */
-    protected final GridCacheTxConcurrency concurrency;
+    protected final IgniteTxConcurrency concurrency;
 
     /** Threads count. */
     protected final int threads;
@@ -103,8 +103,8 @@ abstract class GridCacheAbstractLoadTest {
 
         tx = Boolean.valueOf(props.getProperty("transactions"));
         operationsPerTx = Integer.valueOf(props.getProperty("operations.per.tx"));
-        isolation = GridCacheTxIsolation.valueOf(props.getProperty("isolation"));
-        concurrency = GridCacheTxConcurrency.valueOf(props.getProperty("concurrency"));
+        isolation = IgniteTxIsolation.valueOf(props.getProperty("isolation"));
+        concurrency = IgniteTxConcurrency.valueOf(props.getProperty("concurrency"));
         threads = Integer.valueOf(props.getProperty("threads"));
         writeRatio = Double.valueOf(props.getProperty("write.ratio"));
         testDuration = Long.valueOf(props.getProperty("duration"));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
index fbfe371..dbc8e31 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
@@ -24,8 +24,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMemoryMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
index 6382f46..c87fcbd 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
@@ -21,8 +21,8 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.IgniteTxIsolation.REPEATABLE_READ;
 
 /**
  * Performance comparison between putAll and group lock.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
index 8777061..12a5782 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
@@ -24,8 +24,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
index 78f678c..4d283a4 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
@@ -428,12 +428,12 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public GridCacheTxIsolation isolation() {
+        @Nullable @Override public IgniteTxIsolation isolation() {
             return null;
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public GridCacheTxConcurrency concurrency() {
+        @Nullable @Override public IgniteTxConcurrency concurrency() {
             return null;
         }
 
@@ -448,7 +448,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public GridCacheTxState state() {
+        @Nullable @Override public IgniteTxState state() {
             return null;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
----------------------------------------------------------------------
diff --git a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
index 2a764d0..56809c3 100644
--- a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
+++ b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
@@ -18,8 +18,8 @@ import org.hibernate.cache.spi.access.*;
 
 import java.util.*;
 
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 
 /**
  * Implementation of {@link AccessType#READ_WRITE} cache access strategy.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
index 0865168..a0db474 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedHitsAndMissesSelfTest.java
@@ -53,8 +53,8 @@ public class GridCachePartitionedHitsAndMissesSelfTest extends GridCommonAbstrac
 
         TransactionsConfiguration tCfg = new TransactionsConfiguration();
 
-        tCfg.setDefaultTxConcurrency(GridCacheTxConcurrency.PESSIMISTIC);
-        tCfg.setDefaultTxIsolation(GridCacheTxIsolation.REPEATABLE_READ);
+        tCfg.setDefaultTxConcurrency(IgniteTxConcurrency.PESSIMISTIC);
+        tCfg.setDefaultTxIsolation(IgniteTxIsolation.REPEATABLE_READ);
 
         cfg.setTransactionsConfiguration(tCfg);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
index 046b6b0..58c9ce3 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheXAResource.java
@@ -17,7 +17,7 @@ import org.gridgain.grid.util.typedef.internal.*;
 import javax.transaction.xa.*;
 import java.util.concurrent.atomic.*;
 
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 
 /**
  * Cache XA resource implementation.
@@ -227,7 +227,7 @@ public final class GridCacheXAResource implements XAResource {
      * @return {@code true} if jta was already committed or rolled back.
      */
     public boolean isFinished() {
-        GridCacheTxState state = cacheTx.state();
+        IgniteTxState state = cacheTx.state();
 
         return state == COMMITTED || state == ROLLED_BACK;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java b/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
index 91805b9..a7080ec 100644
--- a/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
+++ b/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
@@ -19,7 +19,7 @@ import org.objectweb.jotm.*;
 import javax.transaction.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxState.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
 
 /**
  * Abstract class for cache tests.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/80178118/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
----------------------------------------------------------------------
diff --git a/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java b/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
index 8cf66a9..8697366 100644
--- a/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
+++ b/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
@@ -24,8 +24,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**


[07/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java b/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
index 223ebab..2485a14 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/dsi/GridDsiPerfJob.java
@@ -250,7 +250,7 @@ public class GridDsiPerfJob extends ComputeJobAdapter {
             ses = new GridDsiSession(terminalId);
 
         try {
-            try (GridCacheTx tx = cache.txStart()) {
+            try (IgniteTx tx = cache.txStart()) {
                 GridDsiRequest req = new GridDsiRequest(getId());
 
                 req.setMessageId(getId());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java b/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
index f87bea0..fe2bdac 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/swap/GridSwapEvictAllBenchmark.java
@@ -55,7 +55,7 @@ public class GridSwapEvictAllBenchmark {
             String outputFileName = args.length > 0 ? args[0] : null;
 
             Ignite g = start(new GridCacheStoreAdapter<Long, String>() {
-                @Nullable @Override public String load(@Nullable GridCacheTx tx, Long key) {
+                @Nullable @Override public String load(@Nullable IgniteTx tx, Long key) {
                     return null;
                 }
 
@@ -65,12 +65,12 @@ public class GridSwapEvictAllBenchmark {
                         c.apply((long)i, String.valueOf(i));
                 }
 
-                @Override public void put(@Nullable GridCacheTx tx, Long key,
+                @Override public void put(@Nullable IgniteTx tx, Long key,
                     @Nullable String val) {
                     assert false;
                 }
 
-                @Override public void remove(@Nullable GridCacheTx tx, Long key) {
+                @Override public void remove(@Nullable IgniteTx tx, Long key) {
                     assert false;
                 }
             });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
index 7b789ea..78f678c 100644
--- a/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/testframework/junits/cache/GridAbstractCacheStoreSelfTest.java
@@ -48,7 +48,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
      */
     public void testStore() throws Exception {
         // Create dummy transaction
-        GridCacheTx tx = new DummyTx();
+        IgniteTx tx = new DummyTx();
 
         store.put(tx, "k1", "v1");
         store.put(tx, "k2", "v2");
@@ -72,7 +72,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
      * @throws IgniteCheckedException if failed.
      */
     public void testRollback() throws IgniteCheckedException {
-        GridCacheTx tx = new DummyTx();
+        IgniteTx tx = new DummyTx();
 
         // Put.
         store.put(tx, "k1", "v1");
@@ -157,7 +157,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
      * @param commit Commit.
      * @throws IgniteCheckedException If failed.
      */
-    private void doTestAllOps(@Nullable GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    private void doTestAllOps(@Nullable IgniteTx tx, boolean commit) throws IgniteCheckedException {
         try {
             store.put(tx, "key1", "val1");
 
@@ -251,7 +251,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
             @Override
             public Object call() throws Exception {
                 for (int i = 0; i < 1000; i++) {
-                    GridCacheTx tx = rnd.nextBoolean() ? new DummyTx() : null;
+                    IgniteTx tx = rnd.nextBoolean() ? new DummyTx() : null;
 
                     int op = rnd.nextInt(10);
 
@@ -403,7 +403,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
     /**
      * Dummy transaction for test purposes.
      */
-    public static class DummyTx extends GridMetadataAwareAdapter implements GridCacheTx {
+    public static class DummyTx extends GridMetadataAwareAdapter implements IgniteTx {
         /** */
         private final IgniteUuid xid = IgniteUuid.randomUuid();
 
@@ -483,7 +483,7 @@ public abstract class GridAbstractCacheStoreSelfTest<T extends GridCacheStore<Ob
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public IgniteFuture<GridCacheTx> commitAsync() {
+        @Nullable @Override public IgniteFuture<IgniteTx> commitAsync() {
             return null;
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
index 83b812e..1eb6d7e 100644
--- a/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
+++ b/modules/core/src/test/java/org/gridgain/testsuites/bamboo/GridDataGridTestSuite.java
@@ -248,8 +248,8 @@ public class GridDataGridTestSuite extends TestSuite {
         // TODO: GG-7434
         // suite.addTestSuite(GridReplicatedTxPreloadTest.class);
 
-        suite.addTestSuite(GridCacheTxReentryNearSelfTest.class);
-        suite.addTestSuite(GridCacheTxReentryColocatedSelfTest.class);
+        suite.addTestSuite(IgniteTxReentryNearSelfTest.class);
+        suite.addTestSuite(IgniteTxReentryColocatedSelfTest.class);
 
         suite.addTestSuite(GridCacheOrderedPreloadingSelfTest.class);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
----------------------------------------------------------------------
diff --git a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
index 086803f..2a764d0 100644
--- a/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
+++ b/modules/hibernate/src/main/java/org/gridgain/grid/cache/hibernate/GridHibernateReadWriteAccessStrategy.java
@@ -195,7 +195,7 @@ public class GridHibernateReadWriteAccessStrategy extends GridHibernateAccessStr
         if (ctx.unlocked(key)) { // Finish transaction if last key is unlocked.
             txCtx.remove();
 
-            GridCacheTx tx = cache.tx();
+            IgniteTx tx = cache.tx();
 
             assert tx != null;
 
@@ -220,7 +220,7 @@ public class GridHibernateReadWriteAccessStrategy extends GridHibernateAccessStr
             if (ctx != null) {
                 txCtx.remove();
 
-                GridCacheTx tx = cache.tx();
+                IgniteTx tx = cache.tx();
 
                 if (tx != null)
                     tx.rollback();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
----------------------------------------------------------------------
diff --git a/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java b/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
index 49c716a..4d3d5e2 100644
--- a/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
+++ b/modules/hibernate/src/main/java/org/gridgain/grid/cache/store/hibernate/GridCacheHibernateBlobStore.java
@@ -184,7 +184,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked", "RedundantTypeArguments"})
-    @Override public V load(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public V load(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         init();
 
         if (log.isDebugEnabled())
@@ -212,7 +212,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, K key, @Nullable V val)
+    @Override public void put(@Nullable IgniteTx tx, K key, @Nullable V val)
         throws IgniteCheckedException {
         init();
 
@@ -244,7 +244,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
 
     /** {@inheritDoc} */
     @SuppressWarnings({"JpaQueryApiInspection", "JpaQlInspection"})
-    @Override public void remove(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         init();
 
         if (log.isDebugEnabled())
@@ -274,7 +274,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
      * @param ses Hibernate session.
      * @param tx Cache ongoing transaction.
      */
-    private void rollback(SharedSessionContract ses, GridCacheTx tx) {
+    private void rollback(SharedSessionContract ses, IgniteTx tx) {
         // Rollback only if there is no cache transaction,
         // otherwise txEnd() will do all required work.
         if (tx == null) {
@@ -291,7 +291,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
      * @param ses Hibernate session.
      * @param tx Cache ongoing transaction.
      */
-    private void end(Session ses, GridCacheTx tx) {
+    private void end(Session ses, IgniteTx tx) {
         // Commit only if there is no cache transaction,
         // otherwise txEnd() will do all required work.
         if (tx == null) {
@@ -305,7 +305,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         init();
 
         Session ses = tx.removeMeta(ATTR_SES);
@@ -343,7 +343,7 @@ public class GridCacheHibernateBlobStore<K, V> extends GridCacheStoreAdapter<K,
      * @param tx Cache transaction.
      * @return Session.
      */
-    Session session(@Nullable GridCacheTx tx) {
+    Session session(@Nullable IgniteTx tx) {
         Session ses;
 
         if (tx != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
index 48c1db4..8473050 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractQuerySelfTest.java
@@ -2002,19 +2002,19 @@ public abstract class GridCacheAbstractQuerySelfTest extends GridCommonAbstractT
         }
 
         /** {@inheritDoc} */
-        @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             return map.get(key);
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Object key, @Nullable Object val)
+        @Override public void put(IgniteTx tx, Object key, @Nullable Object val)
             throws IgniteCheckedException {
             map.put(key, val);
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Object key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Object key) throws IgniteCheckedException {
             map.remove(key);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
index 5c22a0b..1287e05 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheQueryLoadSelfTest.java
@@ -393,7 +393,7 @@ public class GridCacheQueryLoadSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public ValueObject load(@Nullable GridCacheTx tx,
+        @Override public ValueObject load(@Nullable IgniteTx tx,
             Integer key) throws IgniteCheckedException {
             assert key != null;
 
@@ -401,7 +401,7 @@ public class GridCacheQueryLoadSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx,
+        @Override public void put(@Nullable IgniteTx tx,
             Integer key, ValueObject val) throws IgniteCheckedException {
             assert key != null;
             assert val != null;
@@ -410,7 +410,7 @@ public class GridCacheQueryLoadSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx,
+        @Override public void remove(@Nullable IgniteTx tx,
             Integer key) throws IgniteCheckedException {
             assert key != null;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
index 4953e37..81374da 100644
--- a/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedQuerySelfTest.java
@@ -140,7 +140,7 @@ public class GridCacheReplicatedQuerySelfTest extends GridCacheAbstractQuerySelf
     public void testLocalQuery() throws Exception {
         cache1.clearAll();
 
-        GridCacheTx tx = cache1.txStart();
+        IgniteTx tx = cache1.txStart();
 
         try {
             cache1.put(new CacheKey(1), new CacheValue("1"));
@@ -182,7 +182,7 @@ public class GridCacheReplicatedQuerySelfTest extends GridCacheAbstractQuerySelf
         ignite2.events().localListen(lsnr, IgniteEventType.EVT_CACHE_OBJECT_PUT);
         ignite3.events().localListen(lsnr, IgniteEventType.EVT_CACHE_OBJECT_PUT);
 
-        GridCacheTx tx = cache1.txStart();
+        IgniteTx tx = cache1.txStart();
 
         try {
             for (int i = 1; i <= keyCnt; i++)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
index 01916e5..f944b38 100644
--- a/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
+++ b/modules/jta/src/main/java/org/gridgain/grid/kernal/processors/cache/jta/GridCacheJtaManager.java
@@ -59,7 +59,7 @@ public class GridCacheJtaManager<K, V> extends GridCacheJtaManagerAdapter<K, V>
                     Transaction jtaTx = jtaTm.getTransaction();
 
                     if (jtaTx != null) {
-                        GridCacheTx tx = cctx.tm().userTx();
+                        IgniteTx tx = cctx.tm().userTx();
 
                         if (tx == null) {
                             TransactionsConfiguration tCfg = cctx.kernalContext().config()

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java b/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
index 50cee54..91805b9 100644
--- a/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
+++ b/modules/jta/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheJtaSelfTest.java
@@ -107,7 +107,7 @@ public class GridCacheJtaSelfTest extends GridCacheAbstractSelfTest {
 
             assert cache().put("key", 1) == null;
 
-            GridCacheTx tx = cache().tx();
+            IgniteTx tx = cache().tx();
 
             assert tx != null;
             assert tx.state() == ACTIVE;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
----------------------------------------------------------------------
diff --git a/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java b/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
index 7802388..8cf66a9 100644
--- a/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
+++ b/modules/web/src/main/java/org/gridgain/grid/cache/websession/GridWebSessionFilter.java
@@ -271,7 +271,7 @@ public class GridWebSessionFilter implements Filter {
 
             try {
                 if (txEnabled) {
-                    try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         sesId = doFilter0(httpReq, res, chain);
 
                         tx.commit();


[08/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
index f5f30fd..dadb2d5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
@@ -221,7 +221,7 @@ public class GridCacheNearMultiGetSelfTest extends GridCommonAbstractTest {
         if (put)
             cache.put(key, val = Integer.toString(key));
 
-        GridCacheTx tx = cache.txStart(concurrency, isolation, 0, 0);
+        IgniteTx tx = cache.txStart(concurrency, isolation, 0, 0);
 
         try {
             if (isTestDebug()) {
@@ -291,7 +291,7 @@ public class GridCacheNearMultiGetSelfTest extends GridCommonAbstractTest {
             throw e;
         }
         finally {
-            GridCacheTx t = cache.tx();
+            IgniteTx t = cache.tx();
 
             assert t == null : "Thread should not have transaction upon completion ['t==tx'=" + (t == tx) +
                 ", t=" + t + (t != tx ? "tx=" + tx : "tx=''") + ']';

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
index 341e8ec..d58da7a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
@@ -152,7 +152,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
         store.reset();
 
         for (int i = 0; i < GRID_CNT; i++) {
-            GridCacheTx tx = grid(i).cache(null).tx();
+            IgniteTx tx = grid(i).cache(null).tx();
 
             if (tx != null) {
                 error("Ending zombie transaction: " + tx);
@@ -366,7 +366,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
         GridCache<Integer, String> near = cache(0);
 
         if (transactional()) {
-            try (GridCacheTx tx = near.txStart(OPTIMISTIC, REPEATABLE_READ, 0, 0)) {
+            try (IgniteTx tx = near.txStart(OPTIMISTIC, REPEATABLE_READ, 0, 0)) {
                 near.putx(2, "2");
 
                 String s = near.put(3, "3");
@@ -499,7 +499,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
         GridCache<Integer, String> near = cache(0);
 
         if (transactional()) {
-            try (GridCacheTx tx = near.txStart(PESSIMISTIC, REPEATABLE_READ, 0, 0)) {
+            try (IgniteTx tx = near.txStart(PESSIMISTIC, REPEATABLE_READ, 0, 0)) {
                 assertTrue(near.putx(2, "2"));
 
                 String s = near.put(3, "3");
@@ -810,7 +810,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
 
         if (transactional()) {
 
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 // Simple transaction get.
                 assertEquals(val, cache.get(key));
 
@@ -855,7 +855,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
         assertNull(near(1).peekNearOnly(key));
 
         if (transactional()) {
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 // Read.
                 assertEquals(val, cache.get(key));
 
@@ -931,7 +931,7 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public String load(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public String load(IgniteTx tx, Integer key) throws IgniteCheckedException {
             if (!create)
                 return map.get(key);
 
@@ -941,13 +941,13 @@ public class GridCacheNearMultiNodeSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Integer key, @Nullable String val)
+        @Override public void put(IgniteTx tx, Integer key, @Nullable String val)
             throws IgniteCheckedException {
             map.put(key, val);
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Integer key) throws IgniteCheckedException {
             map.remove(key);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
index 579a141..467c71f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
@@ -141,7 +141,7 @@ public class GridCacheNearOneNodeSelfTest extends GridCommonAbstractTest {
         GridCache<Integer, String> near = cache();
         GridCacheAdapter<Integer, String> dht = dht();
 
-        try (GridCacheTx tx = cache().txStart(OPTIMISTIC, REPEATABLE_READ) ) {
+        try (IgniteTx tx = cache().txStart(OPTIMISTIC, REPEATABLE_READ) ) {
             near.putx(2, "2");
             near.put(3, "3");
 
@@ -269,7 +269,7 @@ public class GridCacheNearOneNodeSelfTest extends GridCommonAbstractTest {
         assertEquals("val1", dht().peek(1));
         assertNull(near().peekNearOnly(1));
 
-        GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
+        IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
         assertEquals("val1", cache.get(1));
 
@@ -288,7 +288,7 @@ public class GridCacheNearOneNodeSelfTest extends GridCommonAbstractTest {
         assertEquals("val1", dht().peek(1));
         assertNull(near().peekNearOnly(1));
 
-        GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
+        IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
         assertEquals("val1", cache.get(1));
 
@@ -351,7 +351,7 @@ public class GridCacheNearOneNodeSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public String load(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public String load(IgniteTx tx, Integer key) throws IgniteCheckedException {
             if (!create)
                 return map.get(key);
 
@@ -361,13 +361,13 @@ public class GridCacheNearOneNodeSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Integer key, @Nullable String val)
+        @Override public void put(IgniteTx tx, Integer key, @Nullable String val)
             throws IgniteCheckedException {
             map.put(key, val);
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Integer key) throws IgniteCheckedException {
             map.remove(key);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
index ec7d8de..b92f17c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
@@ -178,7 +178,7 @@ public class GridCacheNearOnlyTopologySelfTest extends GridCommonAbstractTest {
             // Test optimistic transaction.
             GridTestUtils.assertThrows(log, new Callable<Object>() {
                 @Override public Object call() throws Exception {
-                    try (GridCacheTx tx = nearOnly.txStart(OPTIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = nearOnly.txStart(OPTIMISTIC, REPEATABLE_READ)) {
                         nearOnly.putx("key", "val");
 
                         tx.commit();
@@ -191,7 +191,7 @@ public class GridCacheNearOnlyTopologySelfTest extends GridCommonAbstractTest {
             // Test pessimistic transaction.
             GridTestUtils.assertThrows(log, new Callable<Object>() {
                 @Override public Object call() throws Exception {
-                    try (GridCacheTx tx = nearOnly.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = nearOnly.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         nearOnly.put("key", "val");
 
                         tx.commit();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
index e15b9e6..a437c21 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxExceptionSelfTest.java
@@ -17,7 +17,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Tests near cache.
  */
-public class GridCacheNearTxExceptionSelfTest extends GridCacheTxExceptionAbstractSelfTest {
+public class GridCacheNearTxExceptionSelfTest extends IgniteTxExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return PARTITIONED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
index 5a5845d..834c145 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
@@ -127,7 +127,7 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
 
             GridCacheProjection cache = priIgnite.cache(null).flagsOn(GridCacheFlag.CLONE);
 
-            GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 cache.get(mainKey);
@@ -190,7 +190,7 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
     private void testReadersUpdate(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) throws Exception {
         GridCache<Integer, Integer> cache = grid(0).cache(null);
 
-        try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
+        try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
             for (int i = 0; i < 100; i++)
                 cache.put(i, 1);
 
@@ -205,7 +205,7 @@ public class GridCacheNearTxMultiNodeSelfTest extends GridCommonAbstractTest {
                 assertEquals((Integer)1, c.get(i));
         }
 
-        try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
+        try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
             for (int i = 0; i < 100; i++)
                 cache.put(i, 2);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPessimisticOriginatingNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPessimisticOriginatingNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPessimisticOriginatingNodeFailureSelfTest.java
index 195c683..3674841 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPessimisticOriginatingNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPessimisticOriginatingNodeFailureSelfTest.java
@@ -23,7 +23,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
  *
  */
 public class GridCacheNearTxPessimisticOriginatingNodeFailureSelfTest extends
-    GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest {
+    IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected Collection<Class<?>> ignoreMessageClasses() {
         return F.asList((Class<?>)GridNearTxFinishRequest.class, GridDhtTxFinishRequest.class);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPreloadSelfTest.java
index 670c64a..c3b193d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxPreloadSelfTest.java
@@ -10,7 +10,6 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.gridgain.grid.cache.*;
-import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
@@ -19,7 +18,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 /**
  * Tests cache transaction during preloading.
  */
-public class GridCacheNearTxPreloadSelfTest extends GridCacheTxPreloadAbstractTest {
+public class GridCacheNearTxPreloadSelfTest extends IgniteTxPreloadAbstractTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return PARTITIONED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
index 669941d..7a553d2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
@@ -125,7 +125,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(1, store.getLoadCount());
         assertEquals(1, store.getPutCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -158,7 +158,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(1, store.getLoadCount());
         assertEquals(1, store.getPutCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -191,7 +191,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(1, store.getLoadCount());
         assertEquals(1, store.getPutCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -224,7 +224,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(1, store.getLoadCount());
         assertEquals(1, store.getPutCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -257,7 +257,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(1, store.getLoadCount());
         assertEquals(1, store.getPutCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -290,7 +290,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(1, store.getLoadCount());
         assertEquals(1, store.getPutCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -310,7 +310,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
 
         assertEquals(1, store.getPutAllCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }
@@ -321,7 +321,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
     public void testMultipleOperations() throws Exception {
         GridCache<Integer, String> cache = cache(0);
 
-        try (GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ)) {
             cache.put(1, "val");
             cache.put(2, "val");
             cache.put(3, "val");
@@ -337,7 +337,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA
         assertEquals(0, store.getPutCount());
         assertEquals(1, store.getPutAllCount());
 
-        Collection<GridCacheTx> txs = store.transactions();
+        Collection<IgniteTx> txs = store.transactions();
 
         assertEquals(1, txs.size());
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
index c0bd435..6d3a51d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
@@ -164,7 +164,7 @@ public class GridCachePartitionedEvictionSelfTest extends GridCacheAbstractSelfT
 
             GridCacheProjection<String, Integer> c = cache(aff.mapKeyToNode(key));
 
-            try (GridCacheTx tx = c.txStart(concurrency, isolation)) {
+            try (IgniteTx tx = c.txStart(concurrency, isolation)) {
                 assert c.get(key) == null;
 
                 c.put(key, kv);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
index 9f5fc04..58064c2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
@@ -127,7 +127,7 @@ public class GridCachePartitionedFilteredPutSelfTest extends GridCommonAbstractT
     private void doFilteredPut() throws Exception {
         GridCache<Integer, Integer> c = cache();
 
-        try (GridCacheTx tx = c.txStart()) {
+        try (IgniteTx tx = c.txStart()) {
             assert !c.putx(1, 1, F.<Integer, Integer>cacheHasPeekValue());
 
             tx.commit();
@@ -144,7 +144,7 @@ public class GridCachePartitionedFilteredPutSelfTest extends GridCommonAbstractT
     private void doPutAndRollback() throws Exception {
         GridCache<Integer, Integer> c = cache();
 
-        try (GridCacheTx tx = c.txStart()) {
+        try (IgniteTx tx = c.txStart()) {
             assert c.putx(1, 1);
 
             tx.rollback();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
index b2a854e..e991574 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
@@ -117,19 +117,19 @@ public class GridCachePartitionedLoadCacheSelfTest extends GridCommonAbstractTes
         }
 
         /** {@inheritDoc} */
-        @Override public String load(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public String load(IgniteTx tx, Integer key) throws IgniteCheckedException {
             // No-op.
 
             return null;
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Integer key, String val) throws IgniteCheckedException {
+        @Override public void put(IgniteTx tx, Integer key, String val) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Integer key) throws IgniteCheckedException {
             // No-op.
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
index 4d750b4..8274803 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
@@ -304,7 +304,7 @@ public class GridCachePartitionedMultiNodeCounterSelfTest extends GridCommonAbst
 
                                 GridCacheEntryEx<String, Integer> dhtNear = near(pri).peekEx(CNTR_KEY);
 
-                                try (GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                                try (IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                     if (DEBUG)
                                         info("Started tx [grid=" + pri.name() + ", primary=true, xid=" + tx.xid() +
                                             ", oldCntr=" + oldCntr + ", node=" + priId + ", dhtEntry=" + dhtEntry +
@@ -399,7 +399,7 @@ public class GridCachePartitionedMultiNodeCounterSelfTest extends GridCommonAbst
 
                                     Integer oldCntr = c.peek(CNTR_KEY);
 
-                                    try (GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                                    try (IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                         if (DEBUG)
                                             info("Started tx [grid=" + near.name() + ", primary=false, xid=" +
                                                 tx.xid() + ", oldCntr=" + oldCntr + ", node=" + nearId +
@@ -636,7 +636,7 @@ public class GridCachePartitionedMultiNodeCounterSelfTest extends GridCommonAbst
 
                     Integer oldCntr = c.peek(CNTR_KEY);
 
-                    try (GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         if (DEBUG)
                             log.info("Started tx [grid=" + near.name() + ", primary=false, xid=" + tx.xid() +
                                 ", oldCntr=" + oldCntr + ", node=" + nearId + ", nearEntry=" + nearEntry + ']');
@@ -707,7 +707,7 @@ public class GridCachePartitionedMultiNodeCounterSelfTest extends GridCommonAbst
 
                     GridCacheEntryEx<String, Integer> dhtNear = near(pri).peekEx(CNTR_KEY);
 
-                    try (GridCacheTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = c.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         if (DEBUG)
                             log.info("Started tx [grid=" + pri.name() + ", primary=true, xid=" + tx.xid() +
                                 ", oldCntr=" + oldCntr + ", node=" + pri.name() + ", dhtEntry=" +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
index f802948..a088915 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
@@ -172,7 +172,7 @@ public class GridCachePartitionedMultiThreadedPutGetSelfTest extends GridCommonA
                 for (int i = 0; i < TX_CNT; i++) {
                     int kv = cntr.incrementAndGet();
 
-                    try (GridCacheTx tx = c.txStart(concurrency, isolation)) {
+                    try (IgniteTx tx = c.txStart(concurrency, isolation)) {
                         assertNull(c.get(kv));
 
                         assert c.putx(kv, kv);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
index 201bda7..c47dac0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
@@ -118,7 +118,7 @@ public class GridCachePartitionedStorePutSelfTest extends GridCommonAbstractTest
      */
     private static class TestStore extends GridCacheStoreAdapter<Object, Object> {
         /** {@inheritDoc} */
-        @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             assert false;
 
@@ -126,13 +126,13 @@ public class GridCachePartitionedStorePutSelfTest extends GridCommonAbstractTest
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Object key, @Nullable Object val)
+        @Override public void put(IgniteTx tx, Object key, @Nullable Object val)
             throws IgniteCheckedException {
             // No-op
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Object key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Object key) throws IgniteCheckedException {
             // No-op
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxConcurrentGetTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxConcurrentGetTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxConcurrentGetTest.java
index fef3421..177a43e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxConcurrentGetTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxConcurrentGetTest.java
@@ -19,7 +19,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Checks multithreaded put/get partitioned cache operations on one node.
  */
-public class GridCachePartitionedTxConcurrentGetTest extends GridCacheTxConcurrentGetAbstractTest {
+public class GridCachePartitionedTxConcurrentGetTest extends IgniteTxConcurrentGetAbstractTest {
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiNodeSelfTest.java
index eff9b5a..e827bb8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiNodeSelfTest.java
@@ -19,7 +19,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Test basic cache operations in transactions.
  */
-public class GridCachePartitionedTxMultiNodeSelfTest extends GridCacheTxMultiNodeAbstractTest {
+public class GridCachePartitionedTxMultiNodeSelfTest extends IgniteTxMultiNodeAbstractTest {
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiThreadedSelfTest.java
index 286ba6f..bd2afae 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxMultiThreadedSelfTest.java
@@ -23,7 +23,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Tests for partitioned cache transactions.
  */
-public class GridCachePartitionedTxMultiThreadedSelfTest extends GridCacheTxMultiThreadedAbstractTest {
+public class GridCachePartitionedTxMultiThreadedSelfTest extends IgniteTxMultiThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
index 03a5bfd..215e846 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
@@ -192,7 +192,7 @@ public class GridCachePartitionedTxSalvageSelfTest extends GridCommonAbstractTes
                 GridCache<Object, Object> c = cache(0);
 
                 try {
-                    GridCacheTx tx = c.txStart(mode, REPEATABLE_READ);
+                    IgniteTx tx = c.txStart(mode, REPEATABLE_READ);
 
                     for (Integer key : keys)
                         c.put(key, "val" + key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSingleThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSingleThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSingleThreadedSelfTest.java
index ab781c0..f589592 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSingleThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSingleThreadedSelfTest.java
@@ -24,7 +24,7 @@ import static org.gridgain.grid.cache.GridCachePreloadMode.*;
 /**
  * Tests for partitioned cache transactions.
  */
-public class GridCachePartitionedTxSingleThreadedSelfTest extends GridCacheTxSingleThreadedAbstractTest {
+public class GridCachePartitionedTxSingleThreadedSelfTest extends IgniteTxSingleThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
index 1edcb67..acf3b22 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
@@ -22,7 +22,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Simple cache test.
  */
-public class GridCachePartitionedTxTimeoutSelfTest extends GridCacheTxTimeoutAbstractTest {
+public class GridCachePartitionedTxTimeoutSelfTest extends IgniteTxTimeoutAbstractTest {
     /** Transaction timeout. */
     private static final long TIMEOUT = 50;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheTxReentryNearSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheTxReentryNearSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheTxReentryNearSelfTest.java
deleted file mode 100644
index 086397e..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheTxReentryNearSelfTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed.near;
-
-import org.apache.ignite.cluster.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.processors.cache.*;
-
-import java.util.*;
-
-import static org.gridgain.grid.cache.GridCacheMode.*;
-
-/**
- *
- */
-public class GridCacheTxReentryNearSelfTest extends GridCacheTxReentryAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridCacheMode cacheMode() {
-        return PARTITIONED;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return 3;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int testKey() {
-        int key = 0;
-
-        GridCache<Object, Object> cache = grid(0).cache(null);
-
-        while (true) {
-            Collection<ClusterNode> nodes = cache.affinity().mapKeyToPrimaryAndBackups(key);
-
-            if (nodes.contains(grid(0).localNode()))
-                key++;
-            else
-                break;
-        }
-
-        return key;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int expectedNearLockRequests() {
-        return 1;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int expectedDhtLockRequests() {
-        return 0;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int expectedDistributedLockRequests() {
-        return 1;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean nearEnabled() {
-        return true;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
index 0a0cfc3..52a7c02 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridPartitionedBackupLoadSelfTest.java
@@ -127,7 +127,7 @@ public class GridPartitionedBackupLoadSelfTest extends GridCommonAbstractTest {
         private Map<Integer, Integer> map = new ConcurrentHashMap<>();
 
         /** {@inheritDoc} */
-        @Override public Integer load(@Nullable GridCacheTx tx, Integer key)
+        @Override public Integer load(@Nullable IgniteTx tx, Integer key)
             throws IgniteCheckedException {
             cnt.incrementAndGet();
 
@@ -135,13 +135,13 @@ public class GridPartitionedBackupLoadSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Integer key, @Nullable Integer val)
+        @Override public void put(IgniteTx tx, Integer key, @Nullable Integer val)
             throws IgniteCheckedException {
             map.put(key, val);
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Integer key) throws IgniteCheckedException {
             // No-op
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/IgniteTxReentryNearSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/IgniteTxReentryNearSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/IgniteTxReentryNearSelfTest.java
new file mode 100644
index 0000000..b557e5b
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/IgniteTxReentryNearSelfTest.java
@@ -0,0 +1,71 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.distributed.near;
+
+import org.apache.ignite.cluster.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+
+import java.util.*;
+
+import static org.gridgain.grid.cache.GridCacheMode.*;
+
+/**
+ *
+ */
+public class IgniteTxReentryNearSelfTest extends IgniteTxReentryAbstractSelfTest {
+    /** {@inheritDoc} */
+    @Override protected GridCacheMode cacheMode() {
+        return PARTITIONED;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return 3;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int testKey() {
+        int key = 0;
+
+        GridCache<Object, Object> cache = grid(0).cache(null);
+
+        while (true) {
+            Collection<ClusterNode> nodes = cache.affinity().mapKeyToPrimaryAndBackups(key);
+
+            if (nodes.contains(grid(0).localNode()))
+                key++;
+            else
+                break;
+        }
+
+        return key;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int expectedNearLockRequests() {
+        return 1;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int expectedDhtLockRequests() {
+        return 0;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected int expectedDistributedLockRequests() {
+        return 1;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected boolean nearEnabled() {
+        return true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
index 2d597e1..f4febde 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
@@ -146,7 +146,7 @@ public class GridCacheReplicatedInvalidateSelfTest extends GridCommonAbstractTes
 
         GridCache<Integer, String> cache = cache(idx);
 
-        GridCacheTx tx = cache.txStart(concurrency, isolation, 0, 0);
+        IgniteTx tx = cache.txStart(concurrency, isolation, 0, 0);
 
         try {
             cache.put(KEY, VAL);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxConcurrentGetTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxConcurrentGetTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxConcurrentGetTest.java
index b230e2d..2bad410 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxConcurrentGetTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxConcurrentGetTest.java
@@ -19,7 +19,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Checks multithreaded put/get replicated cache operations on one node.
  */
-public class GridCacheReplicatedTxConcurrentGetTest extends GridCacheTxConcurrentGetAbstractTest {
+public class GridCacheReplicatedTxConcurrentGetTest extends IgniteTxConcurrentGetAbstractTest {
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxExceptionSelfTest.java
index 4b98390..1e28fc5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxExceptionSelfTest.java
@@ -18,7 +18,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Tests replicated cache.
  */
-public class GridCacheReplicatedTxExceptionSelfTest extends GridCacheTxExceptionAbstractSelfTest {
+public class GridCacheReplicatedTxExceptionSelfTest extends IgniteTxExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return REPLICATED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiNodeBasicTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiNodeBasicTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiNodeBasicTest.java
index 2e2aa52..71d41dc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiNodeBasicTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiNodeBasicTest.java
@@ -19,7 +19,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Test basic cache operations in transactions.
  */
-public class GridCacheReplicatedTxMultiNodeBasicTest extends GridCacheTxMultiNodeAbstractTest {
+public class GridCacheReplicatedTxMultiNodeBasicTest extends IgniteTxMultiNodeAbstractTest {
     /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
index 6e5a28a..0dec070 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxMultiThreadedSelfTest.java
@@ -23,7 +23,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Tests for replicated transactions.
  */
-public class GridCacheReplicatedTxMultiThreadedSelfTest extends GridCacheTxMultiThreadedAbstractTest {
+public class GridCacheReplicatedTxMultiThreadedSelfTest extends IgniteTxMultiThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxOriginatingNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxOriginatingNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxOriginatingNodeFailureSelfTest.java
index 1982ff2..e9198cc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxOriginatingNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxOriginatingNodeFailureSelfTest.java
@@ -16,7 +16,7 @@ import org.gridgain.grid.kernal.processors.cache.distributed.*;
  * Tests originating node failure in REPLICATED cache.
  */
 public class GridCacheReplicatedTxOriginatingNodeFailureSelfTest extends
-    GridCacheTxOriginatingNodeFailureAbstractSelfTest {
+    IgniteTxOriginatingNodeFailureAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return GridCacheMode.REPLICATED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxPessimisticOriginatingNodeFailureSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxPessimisticOriginatingNodeFailureSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxPessimisticOriginatingNodeFailureSelfTest.java
index 3f42a05..6cfe6b8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxPessimisticOriginatingNodeFailureSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxPessimisticOriginatingNodeFailureSelfTest.java
@@ -21,7 +21,7 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
  *
  */
 public class GridCacheReplicatedTxPessimisticOriginatingNodeFailureSelfTest extends
-    GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest {
+    IgniteTxPessimisticOriginatingNodeFailureAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected Collection<Class<?>> ignoreMessageClasses() {
         return Collections.<Class<?>>singletonList(GridDistributedTxFinishRequest.class);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxSingleThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxSingleThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxSingleThreadedSelfTest.java
index cdde421..60cbf81 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxSingleThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxSingleThreadedSelfTest.java
@@ -23,7 +23,7 @@ import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 /**
  * Tests for replicated transactions.
  */
-public class GridCacheReplicatedTxSingleThreadedSelfTest extends GridCacheTxSingleThreadedAbstractTest {
+public class GridCacheReplicatedTxSingleThreadedSelfTest extends IgniteTxSingleThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxTimeoutSelfTest.java
index 675e989..00b2612 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedTxTimeoutSelfTest.java
@@ -21,7 +21,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Simple cache test.
  */
-public class GridCacheReplicatedTxTimeoutSelfTest extends GridCacheTxTimeoutAbstractTest {
+public class GridCacheReplicatedTxTimeoutSelfTest extends IgniteTxTimeoutAbstractTest {
     /** Transaction timeout. */
     private static final long TIMEOUT = 50;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridReplicatedTxPreloadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridReplicatedTxPreloadTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridReplicatedTxPreloadTest.java
index 6437143..51b055c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridReplicatedTxPreloadTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridReplicatedTxPreloadTest.java
@@ -17,7 +17,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Tests cache transaction during preloading.
  */
-public class GridReplicatedTxPreloadTest extends GridCacheTxPreloadAbstractTest {
+public class GridReplicatedTxPreloadTest extends IgniteTxPreloadAbstractTest {
     /** {@inheritDoc} */
     @Override protected GridCacheMode cacheMode() {
         return REPLICATED;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
index 8ef90c0..7265b7b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheBatchEvictUnswapSelfTest.java
@@ -48,7 +48,7 @@ public class GridCacheBatchEvictUnswapSelfTest extends GridCacheAbstractSelfTest
 
         cacheCfg.setCacheMode(GridCacheMode.PARTITIONED);
         cacheCfg.setStore(new GridCacheStoreAdapter<Long, String>() {
-            @Nullable @Override public String load(@Nullable GridCacheTx tx, Long key) {
+            @Nullable @Override public String load(@Nullable IgniteTx tx, Long key) {
                 return null;
             }
 
@@ -58,11 +58,11 @@ public class GridCacheBatchEvictUnswapSelfTest extends GridCacheAbstractSelfTest
                     c.apply((long)i, String.valueOf(i));
             }
 
-            @Override public void put(@Nullable GridCacheTx tx, Long key,
+            @Override public void put(@Nullable IgniteTx tx, Long key,
                 @Nullable String val) {
             }
 
-            @Override public void remove(@Nullable GridCacheTx tx, Long key) {
+            @Override public void remove(@Nullable IgniteTx tx, Long key) {
             }
         });
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
index fad09cd..ea6625f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheConcurrentEvictionConsistencySelfTest.java
@@ -178,7 +178,7 @@ public class GridCacheConcurrentEvictionConsistencySelfTest extends GridCommonAb
 
                             int j = rnd.nextInt(keyCnt);
 
-                            try (GridCacheTx tx = cache.txStart()) {
+                            try (IgniteTx tx = cache.txStart()) {
                                 // Put or remove?
                                 if (rnd.nextBoolean())
                                     cache.putx(j, j);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
index c0d2487..df8a76f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEmptyEntriesAbstractSelfTest.java
@@ -124,16 +124,16 @@ public abstract class GridCacheEmptyEntriesAbstractSelfTest extends GridCommonAb
         checkPolicy0();
 
         testStore = new GridCacheStoreAdapter<String, String>() {
-            @Override public String load(@Nullable GridCacheTx tx, String key) {
+            @Override public String load(@Nullable IgniteTx tx, String key) {
                 return null;
             }
 
-            @Override public void put(@Nullable GridCacheTx tx, String key,
+            @Override public void put(@Nullable IgniteTx tx, String key,
                 @Nullable String val) {
                 // No-op.
             }
 
-            @Override public void remove(@Nullable GridCacheTx tx, String key) {
+            @Override public void remove(@Nullable IgniteTx tx, String key) {
                 // No-op.
             }
         };
@@ -199,7 +199,7 @@ public abstract class GridCacheEmptyEntriesAbstractSelfTest extends GridCommonAb
      * @throws Exception If failed.
      */
     private void checkExplicitTx(GridCache<String, String> cache) throws Exception {
-        GridCacheTx tx = cache.txStart();
+        IgniteTx tx = cache.txStart();
 
         try {
             assertNull(cache.get("key1"));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
index 4a59f9c..423f35e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionAbstractTest.java
@@ -343,7 +343,7 @@ public abstract class GridCacheEvictionAbstractTest<T extends GridCacheEvictionP
                         int key = rand.nextInt(1000);
                         String val = Integer.toString(key);
 
-                        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                             String v = cache.get(key);
 
                             assert v == null || v.equals(Integer.toString(key)) : "Invalid value for key [key=" + key +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
index 932fe02..09f8c22 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/eviction/GridCacheEvictionTouchSelfTest.java
@@ -61,11 +61,11 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
         cc.setEvictionPolicy(plc);
 
         cc.setStore(new GridCacheGenericTestStore<Object, Object>() {
-            @Override public Object load(GridCacheTx tx, Object key) {
+            @Override public Object load(IgniteTx tx, Object key) {
                 return key;
             }
 
-            @Override public void loadAll(GridCacheTx tx, Collection<?> keys,
+            @Override public void loadAll(IgniteTx tx, Collection<?> keys,
                 IgniteBiInClosure<Object, Object> c) {
                 for (Object key : keys)
                     c.apply(key, key);
@@ -103,7 +103,7 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
 
             final Random rnd = new Random();
 
-            try (GridCacheTx tx = cache.txStart()) {
+            try (IgniteTx tx = cache.txStart()) {
                 int iterCnt = 20;
                 int keyCnt = 5000;
 
@@ -213,7 +213,7 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
 
             GridCache<GridCacheAffinityKey<Object>, Integer> cache = g.cache(null);
 
-            GridCacheTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, REPEATABLE_READ, 0, 5);
+            IgniteTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, REPEATABLE_READ, 0, 5);
 
             try {
                 for (int i = 0; i < 5; i++)
@@ -259,7 +259,7 @@ public class GridCacheEvictionTouchSelfTest extends GridCommonAbstractTest {
 
             GridCache<Object, Integer> cache = g.cache(null);
 
-            GridCacheTx tx = cache.txStartPartition(cache.affinity().partition(affKey), PESSIMISTIC, REPEATABLE_READ,
+            IgniteTx tx = cache.txStartPartition(cache.affinity().partition(affKey), PESSIMISTIC, REPEATABLE_READ,
                 0, 5);
 
             try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
index df166b8..f00beaa 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalByteArrayValuesSelfTest.java
@@ -219,7 +219,7 @@ public class GridCacheLocalByteArrayValuesSelfTest extends GridCacheAbstractByte
     private void testTransactionMixed(GridCache<Integer, Object> cache, GridCacheTxConcurrency concurrency,
         Integer key1, byte[] val1, @Nullable Integer key2, @Nullable Object val2) throws Exception {
 
-        GridCacheTx tx = cache.txStart(concurrency, REPEATABLE_READ);
+        IgniteTx tx = cache.txStart(concurrency, REPEATABLE_READ);
 
         try {
             cache.put(key1, val1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
index 109b8a2..28a2810 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalLoadAllSelfTest.java
@@ -73,7 +73,7 @@ public class GridCacheLocalLoadAllSelfTest extends GridCommonAbstractTest {
     private static class TestStore extends GridCacheStoreAdapter<Integer, Integer> {
         /** {@inheritDoc} */
         @SuppressWarnings({"TypeParameterExtendsFinalClass"})
-        @Override public void loadAll(GridCacheTx tx, Collection<? extends Integer> keys,
+        @Override public void loadAll(IgniteTx tx, Collection<? extends Integer> keys,
             IgniteBiInClosure<Integer, Integer> c) throws IgniteCheckedException {
             assert keys != null;
 
@@ -83,19 +83,19 @@ public class GridCacheLocalLoadAllSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public Integer load(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public Integer load(IgniteTx tx, Integer key) throws IgniteCheckedException {
             // No-op.
 
             return null;
         }
 
         /** {@inheritDoc} */
-        @Override public void put(GridCacheTx tx, Integer key, Integer val) throws IgniteCheckedException {
+        @Override public void put(IgniteTx tx, Integer key, Integer val) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public void remove(IgniteTx tx, Integer key) throws IgniteCheckedException {
             // No-op.
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java
index 64070c4..8a5cfaa 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxExceptionSelfTest.java
@@ -17,7 +17,7 @@ import static org.gridgain.grid.cache.GridCacheMode.LOCAL;
 /**
  * Tests local cache.
  */
-public class GridCacheLocalTxExceptionSelfTest extends GridCacheTxExceptionAbstractSelfTest {
+public class GridCacheLocalTxExceptionSelfTest extends IgniteTxExceptionAbstractSelfTest {
     /** {@inheritDoc} */
     @Override protected int gridCount() {
         return 1;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxMultiThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxMultiThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxMultiThreadedSelfTest.java
index bc58678..661b03f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxMultiThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxMultiThreadedSelfTest.java
@@ -19,7 +19,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Tests for local transactions.
  */
-public class GridCacheLocalTxMultiThreadedSelfTest extends GridCacheTxMultiThreadedAbstractTest {
+public class GridCacheLocalTxMultiThreadedSelfTest extends IgniteTxMultiThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxSingleThreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxSingleThreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxSingleThreadedSelfTest.java
index 4cff974..fa8b585 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxSingleThreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxSingleThreadedSelfTest.java
@@ -19,7 +19,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
 /**
  * Tests for local transactions.
  */
-public class GridCacheLocalTxSingleThreadedSelfTest extends GridCacheTxSingleThreadedAbstractTest {
+public class GridCacheLocalTxSingleThreadedSelfTest extends IgniteTxSingleThreadedAbstractTest {
     /** Cache debug flag. */
     private static final boolean CACHE_DEBUG = false;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
index 0e16131..fa5188c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
@@ -121,7 +121,7 @@ public class GridCacheLocalTxTimeoutSelfTest extends GridCommonAbstractTest {
 
         boolean wasEx = false;
 
-        GridCacheTx tx = null;
+        IgniteTx tx = null;
 
         try {
             GridCache<Integer, String> cache = ignite.cache(null);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
index 7e4e5e5..4e93bb8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/query/continuous/GridCacheContinuousQueryAbstractSelfTest.java
@@ -1507,19 +1507,19 @@ public abstract class GridCacheContinuousQueryAbstractSelfTest extends GridCommo
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Object load(@Nullable GridCacheTx tx, Object key)
+        @Nullable @Override public Object load(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             return null;
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Object key,
+        @Override public void put(@Nullable IgniteTx tx, Object key,
             @Nullable Object val) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Object key)
+        @Override public void remove(@Nullable IgniteTx tx, Object key)
             throws IgniteCheckedException {
             // No-op.
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
index 2146b4a..e6e54f6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsSizeSelfTest.java
@@ -495,7 +495,7 @@ public class GridGgfsSizeSelfTest extends GridGgfsCommonAbstractTest {
                 @Override public void run() {
                     try {
 
-                        try (GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                        try (IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                             metaCache.get(id);
 
                             latch.await();
@@ -513,7 +513,7 @@ public class GridGgfsSizeSelfTest extends GridGgfsCommonAbstractTest {
 
             // Now add file ID to trash listing so that delete worker could "see" it.
 
-            try (GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 Map<String, GridGgfsListingEntry> listing = Collections.singletonMap(path.name(),
                     new GridGgfsListingEntry(info));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
index 9274eec..846fcbc 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAbstractLoadTest.java
@@ -134,7 +134,7 @@ abstract class GridCacheAbstractLoadTest {
 
                     while (!done.get()) {
                         if (tx) {
-                            try (GridCacheTx tx = cache.txStart()) {
+                            try (IgniteTx tx = cache.txStart()) {
                                 writeClos.apply(cache);
 
                                 tx.commit();
@@ -156,7 +156,7 @@ abstract class GridCacheAbstractLoadTest {
 
                     while(!done.get()) {
                         if (tx) {
-                            try (GridCacheTx tx = cache.txStart()) {
+                            try (IgniteTx tx = cache.txStart()) {
                                 readClos.apply(cache);
 
                                 tx.commit();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
index 8d659d4..fbfe371 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheAffinityTransactionsOffHeapTest.java
@@ -65,7 +65,7 @@ public class GridCacheAffinityTransactionsOffHeapTest {
 
         GridCache<Object, Integer> c = cache(key);
 
-        try (GridCacheTx tx = c.txStartAffinity(key, PESSIMISTIC, REPEATABLE_READ, 0, 0)) {
+        try (IgniteTx tx = c.txStartAffinity(key, PESSIMISTIC, REPEATABLE_READ, 0, 0)) {
             Integer val = c.get(key);
             Integer userVal1 = c.get(new UserKey(key, 0));
             Integer userVal2 = c.get(new UserKey(key, 1));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
index a3f3f5d..6382f46 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheGroupLockComparisonTest.java
@@ -164,7 +164,7 @@ public class GridCacheGroupLockComparisonTest {
 
                     // Threads should not lock the same key.
 
-                    try (GridCacheTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, REPEATABLE_READ, 0, BATCH_SIZE)) {
+                    try (IgniteTx tx = cache.txStartAffinity(affKey, PESSIMISTIC, REPEATABLE_READ, 0, BATCH_SIZE)) {
                         for (long i = 0; i < BATCH_SIZE; i++) {
                             cache.put(new GridCacheAffinityKey<>((key % rangeCnt) + base, affKey), i);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
index c23858e..bbb1670 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/cache/GridCacheWriteBehindStoreLoadTest.java
@@ -48,18 +48,18 @@ public class GridCacheWriteBehindStoreLoadTest extends GridCommonAbstractTest {
     /** No-op cache store. */
     private static final GridCacheStore store = new GridCacheStoreAdapter() {
         /** {@inheritDoc} */
-        @Override public Object load(@Nullable GridCacheTx tx, Object key) {
+        @Override public Object load(@Nullable IgniteTx tx, Object key) {
             return null;
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Object key,
+        @Override public void put(@Nullable IgniteTx tx, Object key,
             @Nullable Object val) {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Object key) {
+        @Override public void remove(@Nullable IgniteTx tx, Object key) {
             // No-op.
         }
     };

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java b/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
index 86b68d6..bbe9cc0 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/colocation/GridTestCacheStore.java
@@ -108,15 +108,15 @@ public class GridTestCacheStore extends GridCacheStoreAdapter<GridTestKey, Long>
         }
     }
 
-    @Override public Long load(GridCacheTx tx, GridTestKey key) throws IgniteCheckedException {
+    @Override public Long load(IgniteTx tx, GridTestKey key) throws IgniteCheckedException {
         return null; // No-op.
     }
 
-    @Override public void put(GridCacheTx tx, GridTestKey key, Long val) throws IgniteCheckedException {
+    @Override public void put(IgniteTx tx, GridTestKey key, Long val) throws IgniteCheckedException {
         // No-op.
     }
 
-    @Override public void remove(GridCacheTx tx, GridTestKey key) throws IgniteCheckedException {
+    @Override public void remove(IgniteTx tx, GridTestKey key) throws IgniteCheckedException {
         // No-op.
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java b/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
index f01ff0c..8777061 100644
--- a/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
+++ b/modules/core/src/test/java/org/gridgain/loadtests/datastructures/GridCachePartitionedAtomicLongLoadTest.java
@@ -103,7 +103,7 @@ public class GridCachePartitionedAtomicLongLoadTest extends GridCommonAbstractTe
             long start = System.currentTimeMillis();
 
             while (System.currentTimeMillis() - start < DURATION && !Thread.currentThread().isInterrupted()) {
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 long seqVal = seq.incrementAndGet();
 


[38/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
deleted file mode 100644
index f81cdec..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
+++ /dev/null
@@ -1,1523 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.gridgain.grid.util.future.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.grid.util.tostring.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.atomic.*;
-import java.util.concurrent.locks.*;
-
-import static org.apache.ignite.events.IgniteEventType.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
-import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
-import static org.apache.ignite.transactions.IgniteTxIsolation.*;
-import static org.apache.ignite.transactions.IgniteTxState.*;
-import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
-
-/**
- * Managed transaction adapter.
- */
-public abstract class GridCacheTxAdapter<K, V> extends GridMetadataAwareAdapter
-    implements GridCacheTxEx<K, V>, Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Static logger to avoid re-creation. */
-    private static final AtomicReference<IgniteLogger> logRef = new AtomicReference<>();
-
-    /** Logger. */
-    protected static IgniteLogger log;
-
-    /** Transaction ID. */
-    @GridToStringInclude
-    protected GridCacheVersion xidVer;
-
-    /** Entries write version. */
-    @GridToStringInclude
-    protected GridCacheVersion writeVer;
-
-    /** Implicit flag. */
-    @GridToStringInclude
-    protected boolean implicit;
-
-    /** Implicit with one key flag. */
-    @GridToStringInclude
-    protected boolean implicitSingle;
-
-    /** Local flag. */
-    @GridToStringInclude
-    protected boolean loc;
-
-    /** Thread ID. */
-    @GridToStringInclude
-    protected long threadId;
-
-    /** Transaction start time. */
-    @GridToStringInclude
-    protected long startTime = U.currentTimeMillis();
-
-    /** Node ID. */
-    @GridToStringInclude
-    protected UUID nodeId;
-
-    /** Transaction counter value at the start of transaction. */
-    @GridToStringInclude
-    protected GridCacheVersion startVer;
-
-    /** Cache registry. */
-    @GridToStringExclude
-    protected GridCacheSharedContext<K, V> cctx;
-
-    /**
-     * End version (a.k.a. <tt>'tnc'</tt> or <tt>'transaction number counter'</tt>)
-     * assigned to this transaction at the end of write phase.
-     */
-    @GridToStringInclude
-    protected GridCacheVersion endVer;
-
-    /** Isolation. */
-    @GridToStringInclude
-    protected IgniteTxIsolation isolation = READ_COMMITTED;
-
-    /** Concurrency. */
-    @GridToStringInclude
-    protected IgniteTxConcurrency concurrency = PESSIMISTIC;
-
-    /** Transaction timeout. */
-    @GridToStringInclude
-    protected long timeout;
-
-    /** Invalidate flag. */
-    protected volatile boolean invalidate;
-
-    /** Invalidation flag for system invalidations (not user-based ones). */
-    private boolean sysInvalidate;
-
-    /** Internal flag. */
-    protected boolean internal;
-
-    /** System transaction flag. */
-    private boolean sys;
-
-    /** */
-    protected boolean onePhaseCommit;
-
-    /** */
-    protected boolean syncCommit;
-
-    /** */
-    protected boolean syncRollback;
-
-    /** If this transaction contains transform entries. */
-    protected boolean transform;
-
-    /** Commit version. */
-    private AtomicReference<GridCacheVersion> commitVer = new AtomicReference<>(null);
-
-    /** Done marker. */
-    protected final AtomicBoolean isDone = new AtomicBoolean(false);
-
-    /** */
-    private AtomicReference<FinalizationStatus> finalizing = new AtomicReference<>(NONE);
-
-    /** Preparing flag. */
-    private AtomicBoolean preparing = new AtomicBoolean();
-
-    /** */
-    private Set<Integer> invalidParts = new GridLeanSet<>();
-
-    /** Recover writes. */
-    private Collection<GridCacheTxEntry<K, V>> recoveryWrites;
-
-    /**
-     * Transaction state. Note that state is not protected, as we want to
-     * always use {@link #state()} and {@link #state(IgniteTxState)}
-     * methods.
-     */
-    @GridToStringInclude
-    private volatile IgniteTxState state = ACTIVE;
-
-    /** Timed out flag. */
-    private volatile boolean timedOut;
-
-    /** */
-    protected int txSize;
-
-    /** Group lock key, if any. */
-    protected GridCacheTxKey grpLockKey;
-
-    /** */
-    @GridToStringExclude
-    private AtomicReference<GridFutureAdapter<IgniteTx>> finFut = new AtomicReference<>();
-
-    /** Topology version. */
-    private AtomicLong topVer = new AtomicLong(-1);
-
-    /** Mutex. */
-    private final Lock lock = new ReentrantLock();
-
-    /** Lock condition. */
-    private final Condition cond = lock.newCondition();
-
-    /** Subject ID initiated this transaction. */
-    protected UUID subjId;
-
-    /** Task name hash code. */
-    protected int taskNameHash;
-
-    /** Task name. */
-    protected String taskName;
-
-    /** Store used flag. */
-    protected boolean storeEnabled = true;
-
-    /**
-     * Empty constructor required for {@link Externalizable}.
-     */
-    protected GridCacheTxAdapter() {
-        // No-op.
-    }
-
-    /**
-     * @param cctx Cache registry.
-     * @param xidVer Transaction ID.
-     * @param implicit Implicit flag.
-     * @param implicitSingle Implicit with one key flag.
-     * @param loc Local flag.
-     * @param sys System transaction flag.
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @param timeout Timeout.
-     * @param txSize Transaction size.
-     * @param grpLockKey Group lock key if this is group-lock transaction.
-     */
-    protected GridCacheTxAdapter(
-        GridCacheSharedContext<K, V> cctx,
-        GridCacheVersion xidVer,
-        boolean implicit,
-        boolean implicitSingle,
-        boolean loc,
-        boolean sys,
-        IgniteTxConcurrency concurrency,
-        IgniteTxIsolation isolation,
-        long timeout,
-        boolean invalidate,
-        boolean storeEnabled,
-        int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
-        @Nullable UUID subjId,
-        int taskNameHash
-    ) {
-        assert xidVer != null;
-        assert cctx != null;
-
-        this.cctx = cctx;
-        this.xidVer = xidVer;
-        this.implicit = implicit;
-        this.implicitSingle = implicitSingle;
-        this.loc = loc;
-        this.sys = sys;
-        this.concurrency = concurrency;
-        this.isolation = isolation;
-        this.timeout = timeout;
-        this.invalidate = invalidate;
-        this.storeEnabled = storeEnabled;
-        this.txSize = txSize;
-        this.grpLockKey = grpLockKey;
-        this.subjId = subjId;
-        this.taskNameHash = taskNameHash;
-
-        startVer = cctx.versions().last();
-
-        nodeId = cctx.discovery().localNode().id();
-
-        threadId = Thread.currentThread().getId();
-
-        log = U.logger(cctx.kernalContext(), logRef, this);
-    }
-
-    /**
-     * @param cctx Cache registry.
-     * @param nodeId Node ID.
-     * @param xidVer Transaction ID.
-     * @param startVer Start version mark.
-     * @param threadId Thread ID.
-     * @param sys System transaction flag.
-     * @param concurrency Concurrency.
-     * @param isolation Isolation.
-     * @param timeout Timeout.
-     * @param txSize Transaction size.
-     * @param grpLockKey Group lock key if this is group-lock transaction.
-     */
-    protected GridCacheTxAdapter(
-        GridCacheSharedContext<K, V> cctx,
-        UUID nodeId,
-        GridCacheVersion xidVer,
-        GridCacheVersion startVer,
-        long threadId,
-        boolean sys,
-        IgniteTxConcurrency concurrency,
-        IgniteTxIsolation isolation,
-        long timeout,
-        int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
-        @Nullable UUID subjId,
-        int taskNameHash
-    ) {
-        this.cctx = cctx;
-        this.nodeId = nodeId;
-        this.threadId = threadId;
-        this.xidVer = xidVer;
-        this.startVer = startVer;
-        this.sys = sys;
-        this.concurrency = concurrency;
-        this.isolation = isolation;
-        this.timeout = timeout;
-        this.txSize = txSize;
-        this.grpLockKey = grpLockKey;
-        this.subjId = subjId;
-        this.taskNameHash = taskNameHash;
-
-        implicit = false;
-        implicitSingle = false;
-        loc = false;
-
-        log = U.logger(cctx.kernalContext(), logRef, this);
-    }
-
-    /**
-     * Acquires lock.
-     */
-    @SuppressWarnings({"LockAcquiredButNotSafelyReleased"})
-    protected final void lock() {
-        lock.lock();
-    }
-
-    /**
-     * Releases lock.
-     */
-    protected final void unlock() {
-        lock.unlock();
-    }
-
-    /**
-     * Signals all waiters.
-     */
-    protected final void signalAll() {
-        cond.signalAll();
-    }
-
-    /**
-     * Waits for signal.
-     *
-     * @throws InterruptedException If interrupted.
-     */
-    protected final void awaitSignal() throws InterruptedException {
-        cond.await();
-    }
-
-    /**
-     * Checks whether near cache should be updated.
-     *
-     * @return Flag indicating whether near cache should be updated.
-     */
-    protected boolean updateNearCache(GridCacheContext<K, V> cacheCtx, K key, long topVer) {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> optimisticLockEntries() {
-        assert optimistic();
-
-        if (!groupLock())
-            return writeEntries();
-        else {
-            if (!F.isEmpty(invalidParts)) {
-                assert invalidParts.size() == 1 : "Only one partition expected for group lock transaction " +
-                    "[tx=" + this + ", invalidParts=" + invalidParts + ']';
-                assert groupLockEntry() == null : "Group lock key should be rejected " +
-                    "[tx=" + this + ", groupLockEntry=" + groupLockEntry() + ']';
-                assert F.isEmpty(writeMap()) : "All entries should be rejected for group lock transaction " +
-                    "[tx=" + this + ", writes=" + writeMap() + ']';
-
-                return Collections.emptyList();
-            }
-
-            GridCacheTxEntry<K, V> grpLockEntry = groupLockEntry();
-
-            assert grpLockEntry != null || (near() && !local()):
-                "Group lock entry was not enlisted into transaction [tx=" + this +
-                ", grpLockKey=" + groupLockKey() + ']';
-
-            return grpLockEntry == null ?
-                Collections.<GridCacheTxEntry<K,V>>emptyList() :
-                Collections.singletonList(grpLockEntry);
-        }
-    }
-
-    /**
-     * @param recoveryWrites Recover write entries.
-     */
-    public void recoveryWrites(Collection<GridCacheTxEntry<K, V>> recoveryWrites) {
-        this.recoveryWrites = recoveryWrites;
-    }
-
-    /**
-     * @return Recover write entries.
-     */
-    @Override public Collection<GridCacheTxEntry<K, V>> recoveryWrites() {
-        return recoveryWrites;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean storeEnabled() {
-        return storeEnabled;
-    }
-
-    /**
-     * @param storeEnabled Store enabled flag.
-     */
-    public void storeEnabled(boolean storeEnabled) {
-        this.storeEnabled = storeEnabled;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean system() {
-        return sys;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean storeUsed() {
-        return storeEnabled() && store() != null;
-    }
-
-    /**
-     * Store manager for current transaction.
-     *
-     * @return Store manager.
-     */
-    protected GridCacheStoreManager<K, V> store() {
-        if (!activeCacheIds().isEmpty()) {
-            int cacheId = F.first(activeCacheIds());
-
-            GridCacheStoreManager<K, V> store = cctx.cacheContext(cacheId).store();
-
-            return store.configured() ? store : null;
-        }
-
-        return null;
-    }
-
-    /**
-     * This method uses unchecked assignment to cast group lock key entry to transaction generic signature.
-     *
-     * @return Group lock tx entry.
-     */
-    @SuppressWarnings("unchecked")
-    public GridCacheTxEntry<K, V> groupLockEntry() {
-        return ((GridCacheTxAdapter)this).entry(groupLockKey());
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID otherNodeId() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID subjectId() {
-        if (subjId != null)
-            return subjId;
-
-        return originatingNodeId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int taskNameHash() {
-        return taskNameHash;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long topologyVersion() {
-        long res = topVer.get();
-
-        if (res == -1)
-            return cctx.exchange().topologyVersion();
-
-        return res;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long topologyVersion(long topVer) {
-        this.topVer.compareAndSet(-1, topVer);
-
-        return this.topVer.get();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean hasTransforms() {
-        return transform;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean markPreparing() {
-        return preparing.compareAndSet(false, true);
-    }
-
-    /**
-     * @return {@code True} if marked.
-     */
-    @Override public boolean markFinalizing(FinalizationStatus status) {
-        boolean res;
-
-        switch (status) {
-            case USER_FINISH:
-                res = finalizing.compareAndSet(NONE, USER_FINISH);
-
-                break;
-
-            case RECOVERY_WAIT:
-                finalizing.compareAndSet(NONE, RECOVERY_WAIT);
-
-                FinalizationStatus cur = finalizing.get();
-
-                res = cur == RECOVERY_WAIT || cur == RECOVERY_FINISH;
-
-                break;
-
-            case RECOVERY_FINISH:
-                FinalizationStatus old = finalizing.get();
-
-                res = old != USER_FINISH && finalizing.compareAndSet(old, status);
-
-                break;
-
-            default:
-                throw new IllegalArgumentException("Cannot set finalization status: " + status);
-
-        }
-
-        if (res) {
-            if (log.isDebugEnabled())
-                log.debug("Marked transaction as finalized: " + this);
-        }
-        else {
-            if (log.isDebugEnabled())
-                log.debug("Transaction was not marked finalized: " + this);
-        }
-
-        return res;
-    }
-
-    /**
-     * @return Finalization status.
-     */
-    protected FinalizationStatus finalizationStatus() {
-        return finalizing.get();
-    }
-
-    /**
-     * @return {@code True} if transaction has at least one key enlisted.
-     */
-    public abstract boolean isStarted();
-
-    /** {@inheritDoc} */
-    @Override public boolean groupLock() {
-        return grpLockKey != null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheTxKey groupLockKey() {
-        return grpLockKey;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int size() {
-        return txSize;
-    }
-
-    /**
-     * @return Logger.
-     */
-    protected IgniteLogger log() {
-        return log;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean near() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean implicit() {
-        return implicit;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean implicitSingle() {
-        return implicitSingle;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean local() {
-        return loc;
-    }
-
-    /** {@inheritDoc} */
-    @Override public final boolean user() {
-        return !implicit() && local() && !dht() && !internal();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean dht() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean colocated() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean replicated() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean enforceSerializable() {
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean syncCommit() {
-        return syncCommit;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean syncRollback() {
-        return syncRollback;
-    }
-
-    /**
-     * @param syncCommit Synchronous commit flag.
-     */
-    public void syncCommit(boolean syncCommit) {
-        this.syncCommit = syncCommit;
-    }
-
-    /**
-     * @param syncRollback Synchronous rollback flag.
-     */
-    public void syncRollback(boolean syncRollback) {
-        this.syncRollback = syncRollback;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteUuid xid() {
-        return xidVer.asGridUuid();
-    }
-
-    /** {@inheritDoc} */
-    @Override public Set<Integer> invalidPartitions() {
-        return invalidParts;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void addInvalidPartition(GridCacheContext<K, V> cacheCtx, int part) {
-        invalidParts.add(part);
-
-        if (log.isDebugEnabled())
-            log.debug("Added invalid partition for transaction [part=" + part + ", tx=" + this + ']');
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheVersion ownedVersion(GridCacheTxKey<K> key) {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long startTime() {
-        return startTime;
-    }
-
-    /**
-     * Gets remaining allowed transaction time.
-     *
-     * @return Remaining transaction time.
-     */
-    @Override public long remainingTime() {
-        if (timeout() <= 0)
-            return -1;
-
-        long timeLeft = timeout() - (U.currentTimeMillis() - startTime());
-
-        if (timeLeft < 0)
-            return 0;
-
-        return timeLeft;
-    }
-
-    /**
-     * @return Lock timeout.
-     */
-    protected long lockTimeout() {
-        long timeout = remainingTime();
-
-        return timeout < 0 ? 0 : timeout == 0 ? -1 : timeout;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheVersion xidVersion() {
-        return xidVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long threadId() {
-        return threadId;
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID nodeId() {
-        return nodeId;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTxIsolation isolation() {
-        return isolation;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTxConcurrency concurrency() {
-        return concurrency;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long timeout() {
-        return timeout;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long timeout(long timeout) {
-        if (isStarted())
-            throw new IllegalStateException("Cannot change timeout after transaction has started: " + this);
-
-        long old = this.timeout;
-
-        this.timeout = timeout;
-
-        return old;
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("SimplifiableIfStatement")
-    @Override public boolean ownsLock(GridCacheEntryEx<K, V> entry) throws GridCacheEntryRemovedException {
-        GridCacheContext<K, V> cacheCtx = entry.context();
-
-        GridCacheTxEntry<K, V> txEntry = entry(entry.txKey());
-
-        GridCacheVersion explicit = txEntry == null ? null : txEntry.explicitVersion();
-
-        assert !txEntry.groupLockEntry() || groupLock() : "Can not have group-locked tx entries in " +
-            "non-group-lock transactions [txEntry=" + txEntry + ", tx=" + this + ']';
-
-        return local() && !cacheCtx.isDht() ?
-            entry.lockedByThread(threadId()) || (explicit != null && entry.lockedBy(explicit)) :
-            // If candidate is not there, then lock was explicit.
-            // Otherwise, check if entry is owned by version.
-            !entry.hasLockCandidate(xidVersion()) || entry.lockedBy(xidVersion());
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("SimplifiableIfStatement")
-    @Override public boolean ownsLockUnsafe(GridCacheEntryEx<K, V> entry) {
-        GridCacheContext<K, V> cacheCtx = entry.context();
-
-        GridCacheTxEntry<K, V> txEntry = entry(entry.txKey());
-
-        GridCacheVersion explicit = txEntry == null ? null : txEntry.explicitVersion();
-
-        assert !txEntry.groupLockEntry() || groupLock() : "Can not have group-locked tx entries in " +
-            "non-group-lock transactions [txEntry=" + txEntry + ", tx=" + this + ']';
-
-        return local() && !cacheCtx.isDht() ?
-            entry.lockedByThreadUnsafe(threadId()) || (explicit != null && entry.lockedByUnsafe(explicit)) :
-            // If candidate is not there, then lock was explicit.
-            // Otherwise, check if entry is owned by version.
-            !entry.hasLockCandidateUnsafe(xidVersion()) || entry.lockedByUnsafe(xidVersion());
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteTxState state() {
-        return state;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean setRollbackOnly() {
-        return state(MARKED_ROLLBACK);
-    }
-
-    /**
-     * @return {@code True} if rollback only flag is set.
-     */
-    @Override public boolean isRollbackOnly() {
-        return state == MARKED_ROLLBACK || state == ROLLING_BACK || state == ROLLED_BACK;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean done() {
-        return isDone.get();
-    }
-
-    /**
-     * @return Commit version.
-     */
-    @Override public GridCacheVersion commitVersion() {
-        initCommitVersion();
-
-        return commitVer.get();
-    }
-
-    /**
-     * @param commitVer Commit version.
-     * @return {@code True} if set to not null value.
-     */
-    @Override public boolean commitVersion(GridCacheVersion commitVer) {
-        return commitVer != null && this.commitVer.compareAndSet(null, commitVer);
-    }
-
-    /**
-     *
-     */
-    public void initCommitVersion() {
-        if (commitVer.get() == null)
-            commitVer.compareAndSet(null, xidVer);
-    }
-
-    /**
-     *
-     */
-    @Override public void close() throws IgniteCheckedException {
-        IgniteTxState state = state();
-
-        if (state != ROLLING_BACK && state != ROLLED_BACK && state != COMMITTING && state != COMMITTED)
-            rollback();
-
-        awaitCompletion();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean needsCompletedVersions() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void completedVersions(GridCacheVersion base, Collection<GridCacheVersion> committed,
-        Collection<GridCacheVersion> txs) {
-        /* No-op. */
-    }
-
-    /**
-     * Awaits transaction completion.
-     *
-     * @throws IgniteCheckedException If waiting failed.
-     */
-    protected void awaitCompletion() throws IgniteCheckedException {
-        lock();
-
-        try {
-            while (!done())
-                awaitSignal();
-        }
-        catch (InterruptedException e) {
-            Thread.currentThread().interrupt();
-
-            if (!done())
-                throw new IgniteCheckedException("Got interrupted while waiting for transaction to complete: " + this, e);
-        }
-        finally {
-            unlock();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean internal() {
-        return internal;
-    }
-
-    /**
-     * @param key Key.
-     * @return {@code True} if key is internal.
-     */
-    protected boolean checkInternal(GridCacheTxKey<K> key) {
-        if (key.key() instanceof GridCacheInternal) {
-            internal = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * @param onePhaseCommit {@code True} if transaction commit should be performed in short-path way.
-     */
-    public void onePhaseCommit(boolean onePhaseCommit) {
-        this.onePhaseCommit = onePhaseCommit;
-    }
-
-    /**
-     * @return Fast commit flag.
-     */
-    @Override public boolean onePhaseCommit() {
-        return onePhaseCommit;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean optimistic() {
-        return concurrency == OPTIMISTIC;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean pessimistic() {
-        return concurrency == PESSIMISTIC;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean serializable() {
-        return isolation == SERIALIZABLE;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean repeatableRead() {
-        return isolation == REPEATABLE_READ;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readCommitted() {
-        return isolation == READ_COMMITTED;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean state(IgniteTxState state) {
-        return state(state, false);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings("ExternalizableWithoutPublicNoArgConstructor")
-    @Override public IgniteFuture<IgniteTx> finishFuture() {
-        GridFutureAdapter<IgniteTx> fut = finFut.get();
-
-        if (fut == null) {
-            fut = new GridFutureAdapter<IgniteTx>(cctx.kernalContext()) {
-                @Override public String toString() {
-                    return S.toString(GridFutureAdapter.class, this, "tx", GridCacheTxAdapter.this);
-                }
-            };
-
-            if (!finFut.compareAndSet(null, fut))
-                fut = finFut.get();
-        }
-
-        assert fut != null;
-
-        if (isDone.get())
-            fut.onDone(this);
-
-        return fut;
-    }
-
-    /**
-     *
-     * @param state State to set.
-     * @param timedOut Timeout flag.
-     * @return {@code True} if state changed.
-     */
-    @SuppressWarnings({"TooBroadScope"})
-    private boolean state(IgniteTxState state, boolean timedOut) {
-        boolean valid = false;
-
-        IgniteTxState prev;
-
-        boolean notify = false;
-
-        lock();
-
-        try {
-            prev = this.state;
-
-            switch (state) {
-                case ACTIVE: {
-                    valid = false;
-
-                    break;
-                } // Active is initial state and cannot be transitioned to.
-                case PREPARING: {
-                    valid = prev == ACTIVE;
-
-                    break;
-                }
-                case PREPARED: {
-                    valid = prev == PREPARING;
-
-                    break;
-                }
-                case COMMITTING: {
-                    valid = prev == PREPARED;
-
-                    break;
-                }
-
-                case UNKNOWN: {
-                    if (isDone.compareAndSet(false, true))
-                        notify = true;
-
-                    valid = prev == ROLLING_BACK || prev == COMMITTING;
-
-                    break;
-                }
-
-                case COMMITTED: {
-                    if (isDone.compareAndSet(false, true))
-                        notify = true;
-
-                    valid = prev == COMMITTING;
-
-                    break;
-                }
-
-                case ROLLED_BACK: {
-                    if (isDone.compareAndSet(false, true))
-                        notify = true;
-
-                    valid = prev == ROLLING_BACK;
-
-                    break;
-                }
-
-                case MARKED_ROLLBACK: {
-                    valid = prev == ACTIVE || prev == PREPARING || prev == PREPARED || prev == COMMITTING;
-
-                    break;
-                }
-
-                case ROLLING_BACK: {
-                    valid =
-                        prev == ACTIVE || prev == MARKED_ROLLBACK || prev == PREPARING ||
-                            prev == PREPARED || (prev == COMMITTING && local() && !dht());
-
-                    break;
-                }
-            }
-
-            if (valid) {
-                this.state = state;
-                this.timedOut = timedOut;
-
-                if (log.isDebugEnabled())
-                    log.debug("Changed transaction state [prev=" + prev + ", new=" + this.state + ", tx=" + this + ']');
-
-                // Notify of state change.
-                signalAll();
-            }
-            else {
-                if (log.isDebugEnabled())
-                    log.debug("Invalid transaction state transition [invalid=" + state + ", cur=" + this.state +
-                        ", tx=" + this + ']');
-            }
-        }
-        finally {
-            unlock();
-        }
-
-        if (notify) {
-            GridFutureAdapter<IgniteTx> fut = finFut.get();
-
-            if (fut != null)
-                fut.onDone(this);
-        }
-
-        if (valid) {
-            // Seal transactions maps.
-            if (state != ACTIVE)
-                seal();
-
-            cctx.tm().onTxStateChange(prev, state, this);
-        }
-
-        return valid;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheVersion startVersion() {
-        return startVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheVersion endVersion() {
-        return endVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void endVersion(GridCacheVersion endVer) {
-        this.endVer = endVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheVersion writeVersion() {
-        return writeVer == null ? commitVersion() : writeVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeVersion(GridCacheVersion writeVer) {
-        this.writeVer = writeVer;
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteUuid timeoutId() {
-        return xidVer.asGridUuid();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long endTime() {
-        long endTime = timeout == 0 ? Long.MAX_VALUE : startTime + timeout;
-
-        return endTime > 0 ? endTime : endTime < 0 ? Long.MAX_VALUE : endTime;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void onTimeout() {
-        state(MARKED_ROLLBACK, true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean timedOut() {
-        return timedOut;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void invalidate(boolean invalidate) {
-        if (isStarted() && !dht())
-            throw new IllegalStateException("Cannot change invalidation flag after transaction has started: " + this);
-
-        this.invalidate = invalidate;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isInvalidate() {
-        return invalidate;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isSystemInvalidate() {
-        return sysInvalidate;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void systemInvalidate(boolean sysInvalidate) {
-        this.sysInvalidate = sysInvalidate;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public Map<UUID, Collection<UUID>> transactionNodes() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public GridCacheVersion nearXidVersion() {
-        return null;
-    }
-
-    /**
-     * @param txEntry Entry to process.
-     * @param metrics {@code True} if metrics should be updated.
-     * @return Tuple containing transformation results.
-     * @throws IgniteCheckedException If failed to get previous value for transform.
-     * @throws GridCacheEntryRemovedException If entry was concurrently deleted.
-     */
-    protected GridTuple3<GridCacheOperation, V, byte[]> applyTransformClosures(GridCacheTxEntry<K, V> txEntry,
-        boolean metrics) throws GridCacheEntryRemovedException, IgniteCheckedException {
-        GridCacheContext cacheCtx = txEntry.context();
-
-        assert cacheCtx != null;
-
-        if (isSystemInvalidate())
-            return F.t(cacheCtx.isStoreEnabled() ? RELOAD : DELETE, null, null);
-        if (F.isEmpty(txEntry.transformClosures()))
-            return F.t(txEntry.op(), txEntry.value(), txEntry.valueBytes());
-        else {
-            try {
-                boolean recordEvt = cctx.gridEvents().isRecordable(EVT_CACHE_OBJECT_READ);
-
-                V val = txEntry.hasValue() ? txEntry.value() :
-                    txEntry.cached().innerGet(this,
-                        /*swap*/false,
-                        /*read through*/false,
-                        /*fail fast*/true,
-                        /*unmarshal*/true,
-                        /*metrics*/metrics,
-                        /*event*/recordEvt,
-                        /*temporary*/true,
-                        /*subjId*/subjId,
-                        /**closure name */recordEvt ? F.first(txEntry.transformClosures()) : null,
-                        resolveTaskName(),
-                        CU.<K, V>empty());
-
-                try {
-                    for (IgniteClosure<V, V> clos : txEntry.transformClosures())
-                        val = clos.apply(val);
-                }
-                catch (Throwable e) {
-                    throw new IgniteException("Transform closure must not throw any exceptions " +
-                        "(transaction will be invalidated)", e);
-                }
-
-                GridCacheOperation op = val == null ? DELETE : UPDATE;
-
-                return F.t(op, (V)cacheCtx.<V>unwrapTemporary(val), null);
-            }
-            catch (GridCacheFilterFailedException e) {
-                assert false : "Empty filter failed for innerGet: " + e;
-
-                return null;
-            }
-        }
-    }
-
-    /**
-     * @return Resolves task name.
-     */
-    public String resolveTaskName() {
-        if (taskName != null)
-            return taskName;
-
-        return (taskName = cctx.kernalContext().task().resolveTaskName(taskNameHash));
-    }
-
-    /**
-     * @param e Transaction entry.
-     * @param primaryOnly Flag to include backups into check or not.
-     * @return {@code True} if entry is locally mapped as a primary or back up node.
-     */
-    protected boolean isNearLocallyMapped(GridCacheTxEntry<K, V> e, boolean primaryOnly) {
-        GridCacheContext<K, V> cacheCtx = e.context();
-
-        if (!cacheCtx.isNear())
-            return false;
-
-        // Try to take either entry-recorded primary node ID,
-        // or transaction node ID from near-local transactions.
-        UUID nodeId = e.nodeId() == null ? local() ? this.nodeId :  null : e.nodeId();
-
-        if (nodeId != null && nodeId.equals(cctx.localNodeId()))
-            return true;
-
-        GridCacheEntryEx<K, V> cached = e.cached();
-
-        int part = cached != null ? cached.partition() : cacheCtx.affinity().partition(e.key());
-
-        List<ClusterNode> affNodes = cacheCtx.affinity().nodes(part, topologyVersion());
-
-        e.locallyMapped(F.contains(affNodes, cctx.localNode()));
-
-        if (primaryOnly) {
-            ClusterNode primary = F.first(affNodes);
-
-            if (primary == null && !isAffinityNode(cacheCtx.config()))
-                return false;
-
-            assert primary != null : "Primary node is null for affinity nodes: " + affNodes;
-
-            return primary.isLocal();
-        }
-        else
-            return e.locallyMapped();
-    }
-
-    /**
-     * @param e Entry to evict if it qualifies for eviction.
-     * @param primaryOnly Flag to try to evict only on primary node.
-     * @return {@code True} if attempt was made to evict the entry.
-     * @throws IgniteCheckedException If failed.
-     */
-    protected boolean evictNearEntry(GridCacheTxEntry<K, V> e, boolean primaryOnly) throws IgniteCheckedException {
-        assert e != null;
-
-        if (isNearLocallyMapped(e, primaryOnly)) {
-            GridCacheEntryEx<K, V> cached = e.cached();
-
-            assert cached instanceof GridNearCacheEntry : "Invalid cache entry: " + e;
-
-            if (log.isDebugEnabled())
-                log.debug("Evicting dht-local entry from near cache [entry=" + cached + ", tx=" + this + ']');
-
-            if (cached != null && cached.markObsolete(xidVer))
-                return true;
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        writeExternalMeta(out);
-
-        out.writeObject(xidVer);
-        out.writeBoolean(invalidate);
-        out.writeLong(timeout);
-        out.writeLong(threadId);
-        out.writeLong(startTime);
-
-        U.writeUuid(out, nodeId);
-
-        out.write(isolation.ordinal());
-        out.write(concurrency.ordinal());
-        out.write(state().ordinal());
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        readExternalMeta(in);
-
-        xidVer = (GridCacheVersion)in.readObject();
-        invalidate = in.readBoolean();
-        timeout = in.readLong();
-        threadId = in.readLong();
-        startTime = in.readLong();
-
-        nodeId = U.readUuid(in);
-
-        isolation = IgniteTxIsolation.fromOrdinal(in.read());
-        concurrency = IgniteTxConcurrency.fromOrdinal(in.read());
-
-        state = IgniteTxState.fromOrdinal(in.read());
-    }
-
-    /**
-     * Reconstructs object on unmarshalling.
-     *
-     * @return Reconstructed object.
-     * @throws ObjectStreamException Thrown in case of unmarshalling error.
-     */
-    protected Object readResolve() throws ObjectStreamException {
-        return new TxShadow(
-            xidVer.asGridUuid(),
-            nodeId,
-            threadId,
-            startTime,
-            isolation,
-            concurrency,
-            invalidate,
-            implicit,
-            timeout,
-            state(),
-            isRollbackOnly()
-        );
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean equals(Object o) {
-        return o == this || (o instanceof GridCacheTxAdapter && xidVer.equals(((GridCacheTxAdapter)o).xidVer));
-    }
-
-    /** {@inheritDoc} */
-    @Override public int hashCode() {
-        return xidVer.hashCode();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return GridToStringBuilder.toString(GridCacheTxAdapter.class, this,
-            "duration", (U.currentTimeMillis() - startTime) + "ms", "grpLock", groupLock(),
-            "onePhaseCommit", onePhaseCommit);
-    }
-
-    /**
-     * Transaction shadow class to be used for deserialization.
-     */
-    private static class TxShadow extends GridMetadataAwareAdapter implements IgniteTx {
-        /** */
-        private static final long serialVersionUID = 0L;
-
-        /** Xid. */
-        private final IgniteUuid xid;
-
-        /** Node ID. */
-        private final UUID nodeId;
-
-        /** Thread ID. */
-        private final long threadId;
-
-        /** Start time. */
-        private final long startTime;
-
-        /** Transaction isolation. */
-        private final IgniteTxIsolation isolation;
-
-        /** Concurrency. */
-        private final IgniteTxConcurrency concurrency;
-
-        /** Invalidate flag. */
-        private final boolean invalidate;
-
-        /** Timeout. */
-        private final long timeout;
-
-        /** State. */
-        private final IgniteTxState state;
-
-        /** Rollback only flag. */
-        private final boolean rollbackOnly;
-
-        /** Implicit flag. */
-        private final boolean implicit;
-
-        /**
-         * @param xid Xid.
-         * @param nodeId Node ID.
-         * @param threadId Thread ID.
-         * @param startTime Start time.
-         * @param isolation Isolation.
-         * @param concurrency Concurrency.
-         * @param invalidate Invalidate flag.
-         * @param implicit Implicit flag.
-         * @param timeout Transaction timeout.
-         * @param state Transaction state.
-         * @param rollbackOnly Rollback-only flag.
-         */
-        TxShadow(IgniteUuid xid, UUID nodeId, long threadId, long startTime, IgniteTxIsolation isolation,
-            IgniteTxConcurrency concurrency, boolean invalidate, boolean implicit, long timeout,
-            IgniteTxState state, boolean rollbackOnly) {
-            this.xid = xid;
-            this.nodeId = nodeId;
-            this.threadId = threadId;
-            this.startTime = startTime;
-            this.isolation = isolation;
-            this.concurrency = concurrency;
-            this.invalidate = invalidate;
-            this.implicit = implicit;
-            this.timeout = timeout;
-            this.state = state;
-            this.rollbackOnly = rollbackOnly;
-        }
-
-        /** {@inheritDoc} */
-        @Override public IgniteUuid xid() {
-            return xid;
-        }
-
-        /** {@inheritDoc} */
-        @Override public UUID nodeId() {
-            return nodeId;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long threadId() {
-            return threadId;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long startTime() {
-            return startTime;
-        }
-
-        /** {@inheritDoc} */
-        @Override public IgniteTxIsolation isolation() {
-            return isolation;
-        }
-
-        /** {@inheritDoc} */
-        @Override public IgniteTxConcurrency concurrency() {
-            return concurrency;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isInvalidate() {
-            return invalidate;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean implicit() {
-            return implicit;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long timeout() {
-            return timeout;
-        }
-
-        /** {@inheritDoc} */
-        @Override public IgniteTxState state() {
-            return state;
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean isRollbackOnly() {
-            return rollbackOnly;
-        }
-
-        /** {@inheritDoc} */
-        @Override public long timeout(long timeout) {
-            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean setRollbackOnly() {
-            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
-        }
-
-        /** {@inheritDoc} */
-        @Override public void commit() {
-            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
-        }
-
-        /** {@inheritDoc} */
-        @Override public void close() {
-            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
-        }
-
-        /** {@inheritDoc} */
-        @Override public IgniteFuture<IgniteTx> commitAsync() {
-            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
-        }
-
-        /** {@inheritDoc} */
-        @Override public void rollback() {
-            throw new IllegalStateException("Deserialized transaction can only be used as read-only.");
-        }
-
-        /** {@inheritDoc} */
-        @Override public boolean equals(Object o) {
-            return this == o || o instanceof IgniteTx && xid.equals(((IgniteTx)o).xid());
-        }
-
-        /** {@inheritDoc} */
-        @Override public int hashCode() {
-            return xid.hashCode();
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return S.toString(TxShadow.class, this);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEntry.java
deleted file mode 100644
index 91b9cc0..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEntry.java
+++ /dev/null
@@ -1,1059 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.marshaller.optimized.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.atomic.*;
-
-import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
-
-/**
- * Transaction entry. Note that it is essential that this class does not override
- * {@link #equals(Object)} method, as transaction entries should use referential
- * equality.
- */
-public class GridCacheTxEntry<K, V> implements GridPeerDeployAware, Externalizable, IgniteOptimizedMarshallable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    @SuppressWarnings({"NonConstantFieldWithUpperCaseName", "AbbreviationUsage", "UnusedDeclaration"})
-    private static Object GG_CLASS_ID;
-
-    /** Owning transaction. */
-    @GridToStringExclude
-    private GridCacheTxEx<K, V> tx;
-
-    /** Cache key. */
-    @GridToStringInclude
-    private K key;
-
-    /** Key bytes. */
-    private byte[] keyBytes;
-
-    /** Cache ID. */
-    private int cacheId;
-
-    /** Transient tx key. */
-    private GridCacheTxKey<K> txKey;
-
-    /** Cache value. */
-    @GridToStringInclude
-    private TxEntryValueHolder<K, V> val = new TxEntryValueHolder<>();
-
-    /** Visible value for peek. */
-    @GridToStringInclude
-    private TxEntryValueHolder<K, V> prevVal = new TxEntryValueHolder<>();
-
-    /** Filter bytes. */
-    private byte[] filterBytes;
-
-    /** Transform. */
-    @GridToStringInclude
-    private Collection<IgniteClosure<V, V>> transformClosCol;
-
-    /** Transform closure bytes. */
-    @GridToStringExclude
-    private byte[] transformClosBytes;
-
-    /** Time to live. */
-    private long ttl;
-
-    /** DR expire time (explicit) */
-    private long drExpireTime = -1L;
-
-    /** Explicit lock version if there is one. */
-    @GridToStringInclude
-    private GridCacheVersion explicitVer;
-
-    /** DHT version. */
-    private transient volatile GridCacheVersion dhtVer;
-
-    /** Put filters. */
-    @GridToStringInclude
-    private IgnitePredicate<GridCacheEntry<K, V>>[] filters;
-
-    /** Flag indicating whether filters passed. Used for fast-commit transactions. */
-    private boolean filtersPassed;
-
-    /** Flag indicating that filter is set and can not be replaced. */
-    private transient boolean filtersSet;
-
-    /** Underlying cache entry. */
-    private transient volatile GridCacheEntryEx<K, V> entry;
-
-    /** Cache registry. */
-    private transient GridCacheContext<K, V> ctx;
-
-    /** Prepared flag to prevent multiple candidate add. */
-    @SuppressWarnings({"TransientFieldNotInitialized"})
-    private transient AtomicBoolean prepared = new AtomicBoolean();
-
-    /** Lock flag for colocated cache. */
-    private transient boolean locked;
-
-    /** Assigned node ID (required only for partitioned cache). */
-    private transient UUID nodeId;
-
-    /** Flag if this node is a back up node. */
-    private boolean locMapped;
-
-    /** Group lock entry flag. */
-    private boolean grpLock;
-
-    /** Flag indicating if this entry should be transferred to remote node. */
-    private boolean transferRequired;
-
-    /** Deployment enabled flag. */
-    private boolean depEnabled;
-
-    /** Data center replication version. */
-    private GridCacheVersion drVer;
-
-    /**
-     * Required by {@link Externalizable}
-     */
-    public GridCacheTxEntry() {
-        /* No-op. */
-    }
-
-    /**
-     * This constructor is meant for remote transactions.
-     *
-     * @param ctx Cache registry.
-     * @param tx Owning transaction.
-     * @param op Operation.
-     * @param val Value.
-     * @param ttl Time to live.
-     * @param drExpireTime DR expire time.
-     * @param entry Cache entry.
-     * @param drVer Data center replication version.
-     */
-    public GridCacheTxEntry(GridCacheContext<K, V> ctx, GridCacheTxEx<K, V> tx, GridCacheOperation op, V val,
-        long ttl, long drExpireTime, GridCacheEntryEx<K, V> entry, @Nullable GridCacheVersion drVer) {
-        assert ctx != null;
-        assert tx != null;
-        assert op != null;
-        assert entry != null;
-
-        this.ctx = ctx;
-        this.tx = tx;
-        this.val.value(op, val, false, false);
-        this.entry = entry;
-        this.ttl = ttl;
-        this.drExpireTime = drExpireTime;
-        this.drVer = drVer;
-
-        key = entry.key();
-        keyBytes = entry.keyBytes();
-
-        cacheId = entry.context().cacheId();
-
-        depEnabled = ctx.gridDeploy().enabled();
-    }
-
-    /**
-     * This constructor is meant for local transactions.
-     *
-     * @param ctx Cache registry.
-     * @param tx Owning transaction.
-     * @param op Operation.
-     * @param val Value.
-     * @param transformClos Transform closure.
-     * @param ttl Time to live.
-     * @param entry Cache entry.
-     * @param filters Put filters.
-     * @param drVer Data center replication version.
-     */
-    public GridCacheTxEntry(GridCacheContext<K, V> ctx, GridCacheTxEx<K, V> tx, GridCacheOperation op,
-        V val, IgniteClosure<V, V> transformClos, long ttl, GridCacheEntryEx<K,V> entry,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filters, GridCacheVersion drVer) {
-        assert ctx != null;
-        assert tx != null;
-        assert op != null;
-        assert entry != null;
-
-        this.ctx = ctx;
-        this.tx = tx;
-        this.val.value(op, val, false, false);
-        this.entry = entry;
-        this.ttl = ttl;
-        this.filters = filters;
-        this.drVer = drVer;
-
-        if (transformClos != null)
-            addTransformClosure(transformClos);
-
-        key = entry.key();
-        keyBytes = entry.keyBytes();
-
-        cacheId = entry.context().cacheId();
-
-        depEnabled = ctx.gridDeploy().enabled();
-    }
-
-    /**
-     * @return Cache context for this tx entry.
-     */
-    public GridCacheContext<K, V> context() {
-        return ctx;
-    }
-
-    /**
-     * @return Flag indicating if this entry is affinity mapped to the same node.
-     */
-    public boolean locallyMapped() {
-        return locMapped;
-    }
-
-    /**
-     * @param locMapped Flag indicating if this entry is affinity mapped to the same node.
-     */
-    public void locallyMapped(boolean locMapped) {
-        this.locMapped = locMapped;
-    }
-
-    /**
-     * @return {@code True} if this entry was added in group lock transaction and
-     *      this is not a group lock entry.
-     */
-    public boolean groupLockEntry() {
-        return grpLock;
-    }
-
-    /**
-     * @param grpLock {@code True} if this entry was added in group lock transaction and
-     *      this is not a group lock entry.
-     */
-    public void groupLockEntry(boolean grpLock) {
-        this.grpLock = grpLock;
-    }
-
-    /**
-     * @param transferRequired Sets flag indicating that transfer is required to remote node.
-     */
-    public void transferRequired(boolean transferRequired) {
-        this.transferRequired = transferRequired;
-    }
-
-    /**
-     * @return Flag indicating whether transfer is required to remote nodes.
-     */
-    public boolean transferRequired() {
-        return transferRequired;
-    }
-
-    /**
-     * @param ctx Context.
-     * @return Clean copy of this entry.
-     */
-    public GridCacheTxEntry<K, V> cleanCopy(GridCacheContext<K, V> ctx) {
-        GridCacheTxEntry<K, V> cp = new GridCacheTxEntry<>();
-
-        cp.key = key;
-        cp.cacheId = cacheId;
-        cp.ctx = ctx;
-
-        cp.val = new TxEntryValueHolder<>();
-
-        cp.keyBytes = keyBytes;
-        cp.filters = filters;
-        cp.val.value(val.op(), val.value(), val.hasWriteValue(), val.hasReadValue());
-        cp.val.valueBytes(val.valueBytes());
-        cp.transformClosCol = transformClosCol;
-        cp.ttl = ttl;
-        cp.drExpireTime = drExpireTime;
-        cp.explicitVer = explicitVer;
-        cp.grpLock = grpLock;
-        cp.depEnabled = depEnabled;
-        cp.drVer = drVer;
-
-        return cp;
-    }
-
-    /**
-     * @return Node ID.
-     */
-    public UUID nodeId() {
-        return nodeId;
-    }
-
-    /**
-     * @param nodeId Node ID.
-     */
-    public void nodeId(UUID nodeId) {
-        this.nodeId = nodeId;
-    }
-
-    /**
-     * @return DHT version.
-     */
-    public GridCacheVersion dhtVersion() {
-        return dhtVer;
-    }
-
-    /**
-     * @param dhtVer DHT version.
-     */
-    public void dhtVersion(GridCacheVersion dhtVer) {
-        this.dhtVer = dhtVer;
-    }
-
-    /**
-     * @return {@code True} if tx entry was marked as locked.
-     */
-    public boolean locked() {
-        return locked;
-    }
-
-    /**
-     * Marks tx entry as locked.
-     */
-    public void markLocked() {
-        locked = true;
-    }
-
-    /**
-     * @param val Value to set.
-     */
-    void setAndMarkValid(V val) {
-        setAndMarkValid(op(), val, this.val.hasWriteValue(), this.val.hasReadValue());
-    }
-
-    /**
-     * @param op Operation.
-     * @param val Value to set.
-     */
-    void setAndMarkValid(GridCacheOperation op, V val) {
-        setAndMarkValid(op, val, this.val.hasWriteValue(), this.val.hasReadValue());
-    }
-
-    /**
-     * @param op Operation.
-     * @param val Value to set.
-     * @param hasReadVal Has read value flag.
-     * @param hasWriteVal Has write value flag.
-     */
-    void setAndMarkValid(GridCacheOperation op, V val, boolean hasWriteVal, boolean hasReadVal) {
-        this.val.value(op, val, hasWriteVal, hasReadVal);
-
-        markValid();
-    }
-
-    /**
-     * Marks this entry as value-has-bean-read. Effectively, makes values enlisted to transaction visible
-     * to further peek operations.
-     */
-    void markValid() {
-        prevVal.value(val.op(), val.value(), val.hasWriteValue(), val.hasReadValue());
-    }
-
-    /**
-     * Marks entry as prepared.
-     *
-     * @return True if entry was marked prepared by this call.
-     */
-    boolean markPrepared() {
-        return prepared.compareAndSet(false, true);
-    }
-
-    /**
-     * @return Entry key.
-     */
-    public K key() {
-        return key;
-    }
-
-    /**
-     * @return Cache ID.
-     */
-    public int cacheId() {
-        return cacheId;
-    }
-
-    /**
-     * @return Tx key.
-     */
-    public GridCacheTxKey<K> txKey() {
-        if (txKey == null)
-            txKey = new GridCacheTxKey<>(key, cacheId);
-
-        return txKey;
-    }
-
-    /**
-     *
-     * @return Key bytes.
-     */
-    @Nullable public byte[] keyBytes() {
-        byte[] bytes = keyBytes;
-
-        if (bytes == null && entry != null) {
-            bytes = entry.keyBytes();
-
-            keyBytes = bytes;
-        }
-
-        return bytes;
-    }
-
-    /**
-     * @param keyBytes Key bytes.
-     */
-    public void keyBytes(byte[] keyBytes) {
-        initKeyBytes(keyBytes);
-    }
-
-    /**
-     * @return Underlying cache entry.
-     */
-    public GridCacheEntryEx<K, V> cached() {
-        return entry;
-    }
-
-    /**
-     * @param entry Cache entry.
-     * @param keyBytes Key bytes, possibly {@code null}.
-     */
-    public void cached(GridCacheEntryEx<K,V> entry, @Nullable byte[] keyBytes) {
-        assert entry != null;
-
-        assert entry.context() == ctx : "Invalid entry assigned to tx entry [txEntry=" + this +
-            ", entry=" + entry + ", ctxNear=" + ctx.isNear() + ", ctxDht=" + ctx.isDht() + ']';
-
-        this.entry = entry;
-
-        initKeyBytes(keyBytes);
-    }
-
-    /**
-     * Initialized key bytes locally and on the underlying entry.
-     *
-     * @param bytes Key bytes to initialize.
-     */
-    private void initKeyBytes(@Nullable byte[] bytes) {
-        if (bytes != null) {
-            keyBytes = bytes;
-
-            while (true) {
-                try {
-                    if (entry != null)
-                        entry.keyBytes(bytes);
-
-                    break;
-                }
-                catch (GridCacheEntryRemovedException ignore) {
-                    entry = ctx.cache().entryEx(key);
-                }
-            }
-        }
-        else if (entry != null) {
-            bytes = entry.keyBytes();
-
-            if (bytes != null)
-                keyBytes = bytes;
-        }
-    }
-
-    /**
-     * @return Entry value.
-     */
-    @Nullable public V value() {
-        return val.value();
-    }
-
-    /**
-     * @return {@code True} if has value explicitly set.
-     */
-    public boolean hasValue() {
-        return val.hasValue();
-    }
-
-    /**
-     * @return {@code True} if has write value set.
-     */
-    public boolean hasWriteValue() {
-        return val.hasWriteValue();
-    }
-
-    /**
-     * @return {@code True} if has read value set.
-     */
-    public boolean hasReadValue() {
-        return val.hasReadValue();
-    }
-
-    /**
-     * @return Value visible for peek.
-     */
-    @Nullable public V previousValue() {
-        return prevVal.value();
-    }
-
-    /**
-     * @return {@code True} if has previous value explicitly set.
-     */
-    boolean hasPreviousValue() {
-        return prevVal.hasValue();
-    }
-
-    /**
-     * @return Previous operation to revert entry in case of filter failure.
-     */
-    @Nullable public GridCacheOperation previousOperation() {
-        return prevVal.op();
-    }
-
-    /**
-     * @return Value bytes.
-     */
-    @Nullable public byte[] valueBytes() {
-        return val.valueBytes();
-    }
-
-    /**
-     * @param valBytes Value bytes.
-     */
-    public void valueBytes(@Nullable byte[] valBytes) {
-        val.valueBytes(valBytes);
-    }
-
-    /**
-     * @return Time to live.
-     */
-    public long ttl() {
-        return ttl;
-    }
-
-    /**
-     * @param ttl Time to live.
-     */
-    public void ttl(long ttl) {
-        this.ttl = ttl;
-    }
-
-    /**
-     * @return DR expire time.
-     */
-    public long drExpireTime() {
-        return drExpireTime;
-    }
-
-    /**
-     * @param drExpireTime DR expire time.
-     */
-    public void drExpireTime(long drExpireTime) {
-        this.drExpireTime = drExpireTime;
-    }
-
-    /**
-     * @param val Entry value.
-     * @param writeVal Write value flag.
-     * @param readVal Read value flag.
-     */
-    public void value(@Nullable V val, boolean writeVal, boolean readVal) {
-        this.val.value(this.val.op(), val, writeVal, readVal);
-    }
-
-    /**
-     * Sets read value if this tx entrty does not have write value yet.
-     *
-     * @param val Read value to set.
-     */
-    public void readValue(@Nullable V val) {
-        this.val.value(this.val.op(), val, false, true);
-    }
-
-    /**
-     * @param transformClos Transform closure.
-     */
-    public void addTransformClosure(IgniteClosure<V, V> transformClos) {
-        if (transformClosCol  == null)
-            transformClosCol = new LinkedList<>();
-
-        transformClosCol.add(transformClos);
-
-        // Must clear transform closure bytes since collection has changed.
-        transformClosBytes = null;
-
-        val.op(TRANSFORM);
-    }
-
-    /**
-     * @return Collection of transform closures.
-     */
-    public Collection<IgniteClosure<V, V>> transformClosures() {
-        return transformClosCol;
-    }
-
-    /**
-     * @param transformClosCol Collection of transform closures.
-     */
-    public void transformClosures(@Nullable Collection<IgniteClosure<V, V>> transformClosCol) {
-        this.transformClosCol = transformClosCol;
-
-        // Must clear transform closure bytes since collection has changed.
-        transformClosBytes = null;
-    }
-
-    /**
-     * @return Cache operation.
-     */
-    public GridCacheOperation op() {
-        return val.op();
-    }
-
-    /**
-     * @param op Cache operation.
-     */
-    public void op(GridCacheOperation op) {
-        val.op(op);
-    }
-
-    /**
-     * @return {@code True} if read entry.
-     */
-    public boolean isRead() {
-        return op() == READ;
-    }
-
-    /**
-     * @param explicitVer Explicit version.
-     */
-    public void explicitVersion(GridCacheVersion explicitVer) {
-        this.explicitVer = explicitVer;
-    }
-
-    /**
-     * @return Explicit version.
-     */
-    public GridCacheVersion explicitVersion() {
-        return explicitVer;
-    }
-
-    /**
-     * @return DR version.
-     */
-    @Nullable public GridCacheVersion drVersion() {
-        return drVer;
-    }
-
-    /**
-     * @param drVer DR version.
-     */
-    public void drVersion(@Nullable GridCacheVersion drVer) {
-        this.drVer = drVer;
-    }
-
-    /**
-     * @return Put filters.
-     */
-    public IgnitePredicate<GridCacheEntry<K, V>>[] filters() {
-        return filters;
-    }
-
-    /**
-     * @param filters Put filters.
-     */
-    public void filters(IgnitePredicate<GridCacheEntry<K, V>>[] filters) {
-        filterBytes = null;
-
-        this.filters = filters;
-    }
-
-    /**
-     * @return {@code True} if filters passed for fast-commit transactions.
-     */
-    public boolean filtersPassed() {
-        return filtersPassed;
-    }
-
-    /**
-     * @param filtersPassed {@code True} if filters passed for fast-commit transactions.
-     */
-    public void filtersPassed(boolean filtersPassed) {
-        this.filtersPassed = filtersPassed;
-    }
-
-    /**
-     * @return {@code True} if filters are set.
-     */
-    public boolean filtersSet() {
-        return filtersSet;
-    }
-
-    /**
-     * @param filtersSet {@code True} if filters are set and should not be replaced.
-     */
-    public void filtersSet(boolean filtersSet) {
-        this.filtersSet = filtersSet;
-    }
-
-    /**
-     * @param ctx Context.
-     * @throws IgniteCheckedException If failed.
-     */
-    public void marshal(GridCacheSharedContext<K, V> ctx) throws IgniteCheckedException {
-        // Do not serialize filters if they are null.
-        if (depEnabled) {
-            if (keyBytes == null)
-                keyBytes = entry.getOrMarshalKeyBytes();
-
-            if (transformClosBytes == null && transformClosCol != null)
-                transformClosBytes = CU.marshal(ctx, transformClosCol);
-
-            if (F.isEmptyOrNulls(filters))
-                filterBytes = null;
-            else if (filterBytes == null)
-                filterBytes = CU.marshal(ctx, filters);
-        }
-
-        val.marshal(ctx, context(), depEnabled);
-    }
-
-    /**
-     * Unmarshalls entry.
-     *
-     * @param ctx Cache context.
-     * @param clsLdr Class loader.
-     * @throws IgniteCheckedException If un-marshalling failed.
-     */
-    public void unmarshal(GridCacheSharedContext<K, V> ctx, boolean near, ClassLoader clsLdr) throws IgniteCheckedException {
-        if (this.ctx == null) {
-            GridCacheContext<K, V> cacheCtx = ctx.cacheContext(cacheId);
-
-            if (cacheCtx.isNear() && !near)
-                cacheCtx = cacheCtx.near().dht().context();
-            else if (!cacheCtx.isNear() && near)
-                cacheCtx = cacheCtx.dht().near().context();
-
-            this.ctx = cacheCtx;
-        }
-
-        if (depEnabled) {
-            // Don't unmarshal more than once by checking key for null.
-            if (key == null)
-                key = ctx.marshaller().unmarshal(keyBytes, clsLdr);
-
-            // Unmarshal transform closure anyway if it exists.
-            if (transformClosBytes != null && transformClosCol == null)
-                transformClosCol = ctx.marshaller().unmarshal(transformClosBytes, clsLdr);
-
-            if (filters == null && filterBytes != null) {
-                filters = ctx.marshaller().unmarshal(filterBytes, clsLdr);
-
-                if (filters == null)
-                    filters = CU.empty();
-            }
-        }
-
-        val.unmarshal(this.ctx, clsLdr, depEnabled);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeBoolean(depEnabled);
-
-        if (depEnabled) {
-            U.writeByteArray(out, keyBytes);
-            U.writeByteArray(out, transformClosBytes);
-            U.writeByteArray(out, filterBytes);
-        }
-        else {
-            out.writeObject(key);
-            U.writeCollection(out, transformClosCol);
-            U.writeArray(out, filters);
-        }
-
-        out.writeInt(cacheId);
-
-        val.writeTo(out);
-
-        out.writeLong(ttl);
-        out.writeLong(drExpireTime);
-
-        CU.writeVersion(out, explicitVer);
-        out.writeBoolean(grpLock);
-        CU.writeVersion(out, drVer);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"unchecked"})
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        depEnabled = in.readBoolean();
-
-        if (depEnabled) {
-            keyBytes = U.readByteArray(in);
-            transformClosBytes = U.readByteArray(in);
-            filterBytes = U.readByteArray(in);
-        }
-        else {
-            key = (K)in.readObject();
-            transformClosCol = U.readCollection(in);
-            filters = U.readEntryFilterArray(in);
-        }
-
-        cacheId = in.readInt();
-
-        val.readFrom(in);
-
-        ttl = in.readLong();
-        drExpireTime = in.readLong();
-
-        explicitVer = CU.readVersion(in);
-        grpLock = in.readBoolean();
-        drVer = CU.readVersion(in);
-    }
-
-    /** {@inheritDoc} */
-    @Override public Object ggClassId() {
-        return GG_CLASS_ID;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Class<?> deployClass() {
-        ClassLoader clsLdr = getClass().getClassLoader();
-
-        V val = value();
-
-        // First of all check classes that may be loaded by class loader other than application one.
-        return key != null && !clsLdr.equals(key.getClass().getClassLoader()) ?
-            key.getClass() : val != null ? val.getClass() : getClass();
-    }
-
-    /** {@inheritDoc} */
-    @Override public ClassLoader classLoader() {
-        return deployClass().getClassLoader();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return GridToStringBuilder.toString(GridCacheTxEntry.class, this,
-            "keyBytesSize", keyBytes == null ? "null" : Integer.toString(keyBytes.length),
-            "xidVer", tx == null ? "null" : tx.xidVersion());
-    }
-
-    /**
-     * Auxiliary class to hold value, value-has-been-set flag, value update operation, value bytes.
-     */
-    private static class TxEntryValueHolder<K, V> {
-        /** */
-        @GridToStringInclude
-        private V val;
-
-        /** */
-        @GridToStringExclude
-        private byte[] valBytes;
-
-        /** */
-        @GridToStringInclude
-        private GridCacheOperation op = NOOP;
-
-        /** Flag indicating that value has been set for write. */
-        private boolean hasWriteVal;
-
-        /** Flag indicating that value has been set for read. */
-        private boolean hasReadVal;
-
-        /** Flag indicating that bytes were sent. */
-        private boolean valBytesSent;
-
-        /**
-         * @param op Cache operation.
-         * @param val Value.
-         * @param hasWriteVal Write value presence flag.
-         * @param hasReadVal Read value presence flag.
-         */
-        public void value(GridCacheOperation op, V val, boolean hasWriteVal, boolean hasReadVal) {
-            if (hasReadVal && this.hasWriteVal)
-                return;
-
-            boolean clean = this.val != null;
-
-            this.op = op;
-            this.val = val;
-
-            if (clean)
-                valBytes = null;
-
-            this.hasWriteVal = hasWriteVal || op == CREATE || op == UPDATE || op == DELETE;
-            this.hasReadVal = hasReadVal || op == READ;
-        }
-
-        /**
-         * @return {@code True} if has read or write value.
-         */
-        public boolean hasValue() {
-            return hasWriteVal || hasReadVal;
-        }
-
-        /**
-         * Gets stored value.
-         *
-         * @return Value.
-         */
-        public V value() {
-            return val;
-        }
-
-        /**
-         * @param val Stored value.
-         */
-        public void value(@Nullable V val) {
-            boolean clean = this.val != null;
-
-            this.val = val;
-
-            if (clean)
-                valBytes = null;
-        }
-
-        /**
-         * Gets cache operation.
-         *
-         * @return Cache operation.
-         */
-        public GridCacheOperation op() {
-            return op;
-        }
-
-        /**
-         * Sets cache operation.
-         *
-         * @param op Cache operation.
-         */
-        public void op(GridCacheOperation op) {
-            this.op = op;
-        }
-
-        /**
-         * @return {@code True} if write value was set.
-         */
-        public boolean hasWriteValue() {
-            return hasWriteVal;
-        }
-
-        /**
-         * @return {@code True} if read value was set.
-         */
-        public boolean hasReadValue() {
-            return hasReadVal;
-        }
-
-        /**
-         * Sets value bytes.
-         *
-         * @param valBytes Value bytes to set.
-         */
-        public void valueBytes(@Nullable byte[] valBytes) {
-            this.valBytes = valBytes;
-        }
-
-        /**
-         * Gets value bytes.
-         *
-         * @return Value bytes.
-         */
-        public byte[] valueBytes() {
-            return valBytes;
-        }
-
-        /**
-         * @param ctx Cache context.
-         * @param depEnabled Deployment enabled flag.
-         * @throws IgniteCheckedException If marshaling failed.
-         */
-        public void marshal(GridCacheSharedContext<K, V> sharedCtx, GridCacheContext<K, V> ctx, boolean depEnabled)
-            throws IgniteCheckedException {
-            boolean valIsByteArr = val != null && val instanceof byte[];
-
-            // Do not send write values to remote nodes.
-            if (hasWriteVal && val != null && !valIsByteArr && valBytes == null &&
-                (depEnabled || !ctx.isUnmarshalValues()))
-                valBytes = CU.marshal(sharedCtx, val);
-
-            valBytesSent = hasWriteVal && !valIsByteArr && valBytes != null && (depEnabled || !ctx.isUnmarshalValues());
-        }
-
-        /**
-         * @param ctx Cache context.
-         * @param ldr Class loader.
-         * @param depEnabled Deployment enabled flag.
-         * @throws IgniteCheckedException If unmarshalling failed.
-         */
-        public void unmarshal(GridCacheContext<K, V> ctx, ClassLoader ldr, boolean depEnabled) throws IgniteCheckedException {
-            if (valBytes != null && val == null && (ctx.isUnmarshalValues() || op == TRANSFORM || depEnabled))
-                val = ctx.marshaller().unmarshal(valBytes, ldr);
-        }
-
-        /**
-         * @param out Data output.
-         * @throws IOException If failed.
-         */
-        public void writeTo(ObjectOutput out) throws IOException {
-            out.writeBoolean(hasWriteVal);
-            out.writeBoolean(valBytesSent);
-
-            if (hasWriteVal) {
-                if (valBytesSent)
-                    U.writeByteArray(out, valBytes);
-                else {
-                    if (val != null && val instanceof byte[]) {
-                        out.writeBoolean(true);
-
-                        U.writeByteArray(out, (byte[])val);
-                    }
-                    else {
-                        out.writeBoolean(false);
-
-                        out.writeObject(val);
-                    }
-                }
-            }
-
-            out.writeInt(op.ordinal());
-        }
-
-        /**
-         * @param in Data input.
-         * @throws IOException If failed.
-         * @throws ClassNotFoundException If failed.
-         */
-        public void readFrom(ObjectInput in) throws IOException, ClassNotFoundException {
-            hasWriteVal = in.readBoolean();
-            valBytesSent = in.readBoolean();
-
-            if (hasWriteVal) {
-                if (valBytesSent)
-                    valBytes = U.readByteArray(in);
-                else
-                    val = in.readBoolean() ? (V)U.readByteArray(in) : (V)in.readObject();
-            }
-
-            op = fromOrdinal(in.readInt());
-        }
-
-        /** {@inheritDoc} */
-        @Override public String toString() {
-            return "[op=" + op +", val=" + val + ", valBytesLen=" + (valBytes == null ? 0 : valBytes.length) + ']';
-        }
-    }
-}


[02/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
index d81c131..c2f6fa0 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxConcurrentGetAbstractTest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
@@ -23,8 +23,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Checks multithreaded put/get cache operations on one node.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
index 0d4c750..1b86fe1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxExceptionAbstractSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.*;
 import org.apache.ignite.spi.indexing.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
index 2650fec..401f9dc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiNodeAbstractTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.query.*;
@@ -34,8 +34,8 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
index 1e2811f..eee38bc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMultiThreadedAbstractTest.java
@@ -10,7 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.testframework.*;
 import org.jetbrains.annotations.*;
@@ -18,8 +18,8 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests for local transactions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
index 15972ba..d38d4ab 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxReentryAbstractSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
@@ -28,8 +29,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests reentry in pessimistic repeatable read tx.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
index 1dc7b44..d4df5e2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxSingleThreadedAbstractTest.java
@@ -11,8 +11,8 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests for local transactions.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
index c19757f..ec31028 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxStoreExceptionAbstractSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
index 33a145f..1340a77 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheVariableTopologySelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
index 0c91822..82b9204 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreAbstractTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.testframework.junits.common.*;
@@ -25,8 +26,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Basic store test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
index 309794b..fc700bc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStorePartitionedMultiNodeSelfTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -22,8 +23,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests write-behind store with near and dht commit option.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
index 0e84d80..10fc84b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStoreSelfTest.java
@@ -10,7 +10,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jdk8.backport.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
index d410045..1291faf 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.testframework.junits.common.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
index 19b1b40..9d165cc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.*;
@@ -24,8 +24,8 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Cache sequence basic tests.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
index 1d024f2..ead25ef 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.datastructures.partitioned;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.datastructures.*;
@@ -24,8 +25,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
index ab255fd..2cb26c6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures.partitioned;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -27,8 +28,8 @@ import static java.util.concurrent.TimeUnit.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
index 7029753..3467e53 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.swapspace.file.*;
@@ -18,8 +19,8 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.junit.Assert.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
index cabe4db..45e20ae 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.optimized.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -26,8 +26,8 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests cache access from within jobs.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
index f32f1e8..7cd73cc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -24,8 +25,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheConfiguration.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test node restart.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java
index 9d1d8ef..bc9ccee 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPartitionedByteArrayValuesSelfTest.java
@@ -25,7 +25,7 @@ public abstract class GridCacheAbstractPartitionedByteArrayValuesSelfTest extend
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(gridName);
 
-        GridTransactionsConfiguration tCfg = new GridTransactionsConfiguration();
+        TransactionsConfiguration tCfg = new TransactionsConfiguration();
 
         tCfg.setTxSerializableEnabled(true);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
index 45b4117..1c12f51 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -19,8 +20,8 @@ import org.gridgain.testframework.junits.common.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
index 53c6ff0..155ceee 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -24,8 +24,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.concurrent.*;
 
 import static java.util.concurrent.TimeUnit.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
index ca8b386..b833381 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
@@ -9,6 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.testframework.*;
@@ -18,8 +19,8 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
index 484f9a2..9cc8f32 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 import org.apache.ignite.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -26,8 +27,8 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests events.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
index c7bab9b..1febbc4 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
index ec3ed43..7d6af24 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -26,8 +26,8 @@ import java.util.*;
 
 import static org.apache.ignite.IgniteState.*;
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
index 66bb4ca..bd6cf00 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
index ec066b4..ecdbe00 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTransformEventSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.eclipse.jetty.util.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -21,14 +22,13 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.junits.common.*;
 
-import java.io.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicWriteOrderMode.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
@@ -93,7 +93,7 @@ public class GridCacheTransformEventSelfTest extends GridCommonAbstractTest {
 
         discoSpi.setIpFinder(IP_FINDER);
 
-        GridTransactionsConfiguration tCfg = cfg.getTransactionsConfiguration();
+        TransactionsConfiguration tCfg = cfg.getTransactionsConfiguration();
 
         tCfg.setDefaultTxConcurrency(txConcurrency);
         tCfg.setDefaultTxIsolation(txIsolation);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
index d4af015..b7bea07 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -23,8 +24,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
index a3dd944..4b15e83 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
@@ -28,7 +28,7 @@ import org.gridgain.testframework.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 
 /**
  * Abstract test for originating node failure.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
index 8204e50..4d257f6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
 import org.apache.ignite.spi.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.communication.*;
@@ -29,7 +30,7 @@ import org.gridgain.testframework.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 
 /**
  * Abstract test for originating node failure.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
index 2bb781d..08c4821 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPreloadAbstractTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.*;
@@ -20,7 +21,7 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 
 /**
  * Tests transaction during cache preloading.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
index 67c210d..14d4f0b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxTimeoutAbstractTest.java
@@ -10,14 +10,14 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.testframework.junits.common.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Simple cache test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
index feb68a3..c79683d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheAbstractTransformWriteThroughSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -23,8 +24,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests write-through.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
index 246bfb4..ff016c6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedDebugTest.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.cache.store.*;
@@ -31,8 +31,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
index 7fefb15..c6f5d4d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheColocatedOptimisticTransactionSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -22,8 +23,8 @@ import org.gridgain.testframework.junits.common.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
index e8cad96..e67a1a9 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheDhtEntrySelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
index 00d2a00..c98b0a3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedAbstractSelfTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -19,8 +20,8 @@ import java.util.*;
 import java.util.concurrent.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Group lock abstract test for partitioned cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
index aa1d4ad..e11afb3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCacheGroupLockPartitionedMultiNodeAbstractSelfTest.java
@@ -10,14 +10,15 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.util.typedef.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Multi-node test for group locking.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
index f5de2a3..7b0d1b7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridCachePartitionedTopologyChangeSelfTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
@@ -32,8 +32,8 @@ import java.util.concurrent.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
index 2834c3a..d84a206 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridCacheAtomicPreloadSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht.atomic;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
@@ -21,8 +22,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
index e7aa359..37f88a2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheGetStoreErrorSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.testframework.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
index cc37f13..f5f30fd 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiGetSelfTest.java
@@ -11,8 +11,8 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.apache.log4j.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -26,8 +26,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test getting the same value twice within the same transaction.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
index e6d1dff..341e8ec 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearMultiNodeSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.store.*;
@@ -34,8 +35,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePeekMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Multi node test for near cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
index 728336d..579a141 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOneNodeSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -24,8 +25,8 @@ import java.util.concurrent.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Single node test for near cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
index 424240d..ec7d8de 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearOnlyTopologySelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -25,8 +26,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Near-only cache node startup test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
index 23a8ecf..5a5845d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCacheNearTxMultiNodeSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
@@ -29,8 +30,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
index d61d700..669941d 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -24,8 +25,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
index 18f3e83..c0bd435 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedEvictionSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
@@ -22,8 +23,8 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.gridgain.grid.util.typedef.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
index 83da174..9f5fc04 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedFilteredPutSelfTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
index a4c1b1d..b2a854e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedLoadCacheSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
index 2379063..4d750b4 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiNodeCounterSelfTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
@@ -35,8 +35,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Multiple put test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
index be8a6bb..f802948 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedMultiThreadedPutGetSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -25,8 +26,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Multithreaded partition cache put get test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
index aed997d..129156a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedNodeRestartTest.java
@@ -16,7 +16,7 @@ import org.gridgain.grid.kernal.processors.cache.distributed.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
index cf551a3..730c4bc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedOptimisticTxNodeRestartTest.java
@@ -10,12 +10,13 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
index e963d72..1370fc3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedPreloadLifecycleSelfTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
index 9e9acc6..201bda7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedStorePutSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.spi.discovery.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
index 7dee9bf..03a5bfd 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxSalvageSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;
 import org.gridgain.grid.kernal.*;
@@ -25,8 +26,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.util.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test tx salvage.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
index ccf92ac..1edcb67 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedTxTimeoutSelfTest.java
@@ -33,7 +33,7 @@ public class GridCachePartitionedTxTimeoutSelfTest extends GridCacheTxTimeoutAbs
     @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
         IgniteConfiguration c = super.getConfiguration(gridName);
 
-        GridTransactionsConfiguration txCfg = c.getTransactionsConfiguration();
+        TransactionsConfiguration txCfg = c.getTransactionsConfiguration();
 
         txCfg.setTxSerializableEnabled(true);
         txCfg.setDefaultTxTimeout(TIMEOUT);


[42/50] [abbrv] incubator-ignite git commit: Merge remote-tracking branch 'remotes/origin/master' into ignite-1

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/origin/master' into ignite-1


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/ae8217fc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/ae8217fc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/ae8217fc

Branch: refs/heads/ignite-32
Commit: ae8217fc7e92219d7f428f4f66521ea81f4321fe
Parents: f7118ce 1812040
Author: sboikov <sb...@gridgain.com>
Authored: Mon Dec 22 17:56:13 2014 +0400
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Dec 22 17:56:13 2014 +0400

----------------------------------------------------------------------
 ipc/shmem/ggshmem/Makefile.am                   |     2 +-
 ipc/shmem/ggshmem/Makefile.in                   |     2 +-
 .../java/META-INF/native/linux32/libggshmem.so  |   Bin 136714 -> 0 bytes
 .../java/META-INF/native/linux64/libggshmem.so  |   Bin 145904 -> 138023 bytes
 .../java/META-INF/native/osx/libggshmem.dylib   |   Bin 29312 -> 32940 bytes
 .../optimized-classnames.previous.properties    | 30621 -----------------
 .../optimized/optimized-classnames.properties   | 30621 -----------------
 .../dht/atomic/GridDhtAtomicCache.java          |     2 +-
 .../gridgain/grid/kernal/visor/VisorJob.java    |     6 +-
 .../grid/kernal/visor/cache/VisorCache.java     |     4 +-
 .../cache/VisorCacheAggregatedMetrics.java      |   417 +-
 .../kernal/visor/cache/VisorCacheMetrics.java   |   176 +-
 .../kernal/visor/cache/VisorCacheMetrics2.java  |   218 -
 .../cache/VisorCacheMetricsCollectorTask.java   |   104 +-
 .../cache/VisorCacheQueryAggregatedMetrics.java |   129 -
 .../visor/cache/VisorCacheQueryMetrics.java     |    44 +-
 .../visor/node/VisorGridConfiguration.java      |     2 +-
 .../VisorNodeConfigurationCollectorJob.java     |     2 +-
 .../grid/kernal/visor/util/VisorTaskUtils.java  |    42 +
 .../core/src/main/resources/gridgain.properties |     2 +-
 .../commands/cache/VisorCacheCommand.scala      |   127 +-
 .../visor/commands/vvm/VisorVvmCommand.scala    |     9 +-
 .../gridgain/visor/VisorRuntimeBaseSpec.scala   |     1 -
 .../org/gridgain/visor/VisorTextTableSpec.scala |     3 +-
 .../visor/commands/VisorArgListSpec.scala       |     3 +-
 .../commands/VisorFileNameCompleterSpec.scala   |     4 +-
 .../commands/alert/VisorAlertCommandSpec.scala  |     5 +-
 .../cache/VisorCacheClearCommandSpec.scala      |     9 +-
 .../commands/cache/VisorCacheCommandSpec.scala  |     6 +-
 .../cache/VisorCacheCompactCommandSpec.scala    |     9 +-
 .../config/VisorConfigurationCommandSpec.scala  |     6 +-
 .../cswap/VisorCacheSwapCommandSpec.scala       |     6 +-
 .../deploy/VisorDeployCommandSpec.scala         |     3 +-
 .../disco/VisorDiscoveryCommandSpec.scala       |     2 +-
 .../events/VisorEventsCommandSpec.scala         |     3 +-
 .../visor/commands/gc/VisorGcCommandSpec.scala  |     3 +-
 .../commands/help/VisorHelpCommandSpec.scala    |     3 +-
 .../commands/kill/VisorKillCommandSpec.scala    |     3 +-
 .../commands/log/VisorLogCommandSpec.scala      |     3 +-
 .../commands/mem/VisorMemoryCommandSpec.scala   |     3 +-
 .../commands/open/VisorOpenCommandSpec.scala    |     1 +
 .../commands/start/VisorStartCommandSpec.scala  |     3 +-
 .../commands/tasks/VisorTasksCommandSpec.scala  |    11 +-
 .../commands/vvm/VisorVvmCommandSpec.scala      |     3 +-
 .../testsuites/VisorConsoleSelfTestSuite.scala  |    13 +-
 pom.xml                                         |     7 +-
 46 files changed, 523 insertions(+), 62120 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae8217fc/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------


[10/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
new file mode 100644
index 0000000..017bc16
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxSingleThreadedAbstractTest.java
@@ -0,0 +1,129 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.*;
+
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+
+/**
+ * Tests for local transactions.
+ */
+@SuppressWarnings( {"BusyWait"})
+public abstract class IgniteTxSingleThreadedAbstractTest extends IgniteTxAbstractTest {
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticReadCommittedCommit() throws Exception {
+        checkCommit(PESSIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticRepeatableReadCommit() throws Exception {
+        checkCommit(PESSIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticSerializableCommit() throws Exception {
+        checkCommit(PESSIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticReadCommittedCommit() throws Exception {
+        checkCommit(OPTIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticRepeatableReadCommit() throws Exception {
+        checkCommit(OPTIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticSerializableCommit() throws Exception {
+        checkCommit(OPTIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticReadCommittedRollback() throws Exception {
+        checkRollback(PESSIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticRepeatableReadRollback() throws Exception {
+        checkRollback(PESSIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testPessimisticSerializableRollback() throws Exception {
+        checkRollback(PESSIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticReadCommittedRollback() throws Exception {
+        checkRollback(OPTIMISTIC, READ_COMMITTED);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticRepeatableReadRollback() throws Exception {
+        checkRollback(OPTIMISTIC, REPEATABLE_READ);
+
+        finalChecks();
+    }
+
+    /**
+     * @throws IgniteCheckedException If test failed.
+     */
+    public void testOptimisticSerializableRollback() throws Exception {
+        checkRollback(OPTIMISTIC, SERIALIZABLE);
+
+        finalChecks();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
new file mode 100644
index 0000000..f79aea0
--- /dev/null
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/IgniteTxStoreExceptionAbstractSelfTest.java
@@ -0,0 +1,631 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.configuration.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.cache.store.*;
+import org.gridgain.grid.kernal.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.testframework.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.gridgain.grid.cache.GridCacheMode.*;
+
+/**
+ * Tests that transaction is invalidated in case of {@link GridCacheTxHeuristicException}.
+ */
+public abstract class IgniteTxStoreExceptionAbstractSelfTest extends GridCacheAbstractSelfTest {
+    /** Index SPI throwing exception. */
+    private static TestStore store = new TestStore();
+
+    /** */
+    private static final int PRIMARY = 0;
+
+    /** */
+    private static final int BACKUP = 1;
+
+    /** */
+    private static final int NOT_PRIMARY_AND_BACKUP = 2;
+
+    /** */
+    private static Integer lastKey;
+
+    /** {@inheritDoc} */
+    @Override protected int gridCount() {
+        return 3;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        cfg.getTransactionsConfiguration().setTxSerializableEnabled(true);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
+        GridCacheConfiguration ccfg = super.cacheConfiguration(gridName);
+
+        ccfg.setStore(store);
+
+        return ccfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        super.beforeTestsStarted();
+
+        lastKey = 0;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        store.forceFail(false);
+
+        super.afterTest();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutNear() throws Exception {
+        checkPut(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+        checkPut(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutPrimary() throws Exception {
+        checkPut(true, keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkPut(false, keyForNode(grid(0).localNode(), PRIMARY));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutBackup() throws Exception {
+        checkPut(true, keyForNode(grid(0).localNode(), BACKUP));
+
+        checkPut(false, keyForNode(grid(0).localNode(), BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutAll() throws Exception {
+        checkPutAll(true, keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkPutAll(false, keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY),
+            keyForNode(grid(0).localNode(), PRIMARY));
+
+        if (gridCount() > 1) {
+            checkPutAll(true, keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY));
+
+            checkPutAll(false, keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY),
+                keyForNode(grid(1).localNode(), PRIMARY));
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemoveNear() throws Exception {
+        checkRemove(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+        checkRemove(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemovePrimary() throws Exception {
+        checkRemove(false, keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkRemove(true, keyForNode(grid(0).localNode(), PRIMARY));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testRemoveBackup() throws Exception {
+        checkRemove(false, keyForNode(grid(0).localNode(), BACKUP));
+
+        checkRemove(true, keyForNode(grid(0).localNode(), BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTransformNear() throws Exception {
+        checkTransform(false, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+        checkTransform(true, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTransformPrimary() throws Exception {
+        checkTransform(false, keyForNode(grid(0).localNode(), PRIMARY));
+
+        checkTransform(true, keyForNode(grid(0).localNode(), PRIMARY));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testTransformBackup() throws Exception {
+        checkTransform(false, keyForNode(grid(0).localNode(), BACKUP));
+
+        checkTransform(true, keyForNode(grid(0).localNode(), BACKUP));
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutNearTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+
+                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), NOT_PRIMARY_AND_BACKUP));
+            }
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutPrimaryTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
+
+                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), PRIMARY));
+            }
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutBackupTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
+
+                checkPutTx(false, concurrency, isolation, keyForNode(grid(0).localNode(), BACKUP));
+            }
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testPutMultipleKeysTx() throws Exception {
+        for (GridCacheTxConcurrency concurrency : GridCacheTxConcurrency.values()) {
+            for (GridCacheTxIsolation isolation : GridCacheTxIsolation.values()) {
+                checkPutTx(true, concurrency, isolation,
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY));
+
+                checkPutTx(false, concurrency, isolation,
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY),
+                    keyForNode(grid(0).localNode(), PRIMARY));
+
+                if (gridCount() > 1) {
+                    checkPutTx(true, concurrency, isolation,
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY));
+
+                    checkPutTx(false, concurrency, isolation,
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY),
+                        keyForNode(grid(1).localNode(), PRIMARY));
+                }
+            }
+        }
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param keys Keys.
+     * @param concurrency Transaction concurrency.
+     * @param isolation Transaction isolation.
+     * @throws Exception If failed.
+     */
+    private void checkPutTx(boolean putBefore, GridCacheTxConcurrency concurrency,
+        GridCacheTxIsolation isolation, final Integer... keys) throws Exception {
+        assertTrue(keys.length > 0);
+
+        info("Test transaction [concurrency=" + concurrency + ", isolation=" + isolation + ']');
+
+        GridCache<Integer, Integer> cache = grid(0).cache(null);
+
+        if (putBefore) {
+            store.forceFail(false);
+
+            info("Start transaction.");
+
+            try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
+                for (Integer key : keys) {
+                    info("Put " + key);
+
+                    cache.put(key, 1);
+                }
+
+                info("Commit.");
+
+                tx.commit();
+            }
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++) {
+            for (Integer key : keys)
+                grid(i).cache(null).get(key);
+        }
+
+        store.forceFail(true);
+
+        try {
+            info("Start transaction.");
+
+            try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
+                for (Integer key : keys) {
+                    info("Put " + key);
+
+                    cache.put(key, 2);
+                }
+
+                info("Commit.");
+
+                tx.commit();
+            }
+
+            fail("Transaction should fail.");
+        }
+        catch (IgniteCheckedException e) {
+            log.info("Expected exception: " + e);
+        }
+
+        for (Integer key : keys)
+            checkValue(key, putBefore);
+    }
+
+    /**
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkValue(final Integer key, boolean putBefore) throws Exception {
+        store.forceFail(false);
+
+        info("Check key: " + key);
+
+        for (int i = 0; i < gridCount(); i++) {
+            GridKernal grid = (GridKernal) grid(i);
+
+            GridCacheAdapter cache = grid.internalCache(null);
+
+            GridCacheMapEntry entry = cache.map().getEntry(key);
+
+            log.info("Entry: " + entry);
+
+            if (entry != null) {
+                assertFalse("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', entry.lockedByAny());
+                assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore,
+                    entry.hasValue());
+                assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore ? 1 : null,
+                    entry.rawGetOrUnmarshal(false));
+            }
+
+            if (cache.isNear()) {
+                entry = ((GridNearCacheAdapter)cache).dht().map().getEntry(key);
+
+                log.info("Dht entry: " + entry);
+
+                if (entry != null) {
+                    assertFalse("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', entry.lockedByAny());
+                    assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore,
+                        entry.hasValue());
+                    assertEquals("Unexpected entry for grid [idx=" + i + ", entry=" + entry + ']', putBefore ? 1 : null,
+                        entry.rawGetOrUnmarshal(false));
+                }
+            }
+        }
+
+        for (int i = 0; i < gridCount(); i++)
+            assertEquals("Unexpected value for grid " + i, putBefore ? 1 : null, grid(i).cache(null).get(key));
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkPut(boolean putBefore, final Integer key) throws Exception {
+        if (putBefore) {
+            store.forceFail(false);
+
+            info("Put key: " + key);
+
+            grid(0).cache(null).put(key, 1);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++)
+            grid(i).cache(null).get(key);
+
+        store.forceFail(true);
+
+        info("Going to put: " + key);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).put(key, 2);
+
+                return null;
+            }
+        }, GridCacheTxRollbackException.class, null);
+
+        checkValue(key, putBefore);
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkTransform(boolean putBefore, final Integer key) throws Exception {
+        if (putBefore) {
+            store.forceFail(false);
+
+            info("Put key: " + key);
+
+            grid(0).cache(null).put(key, 1);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++)
+            grid(i).cache(null).get(key);
+
+        store.forceFail(true);
+
+        info("Going to transform: " + key);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).transform(key, new IgniteClosure<Object, Object>() {
+                    @Override public Object apply(Object o) {
+                        return 2;
+                    }
+                });
+
+                return null;
+            }
+        }, GridCacheTxRollbackException.class, null);
+
+        checkValue(key, putBefore);
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param keys Keys.
+     * @throws Exception If failed.
+     */
+    private void checkPutAll(boolean putBefore, Integer ... keys) throws Exception {
+        assert keys.length > 1;
+
+        if (putBefore) {
+            store.forceFail(false);
+
+            Map<Integer, Integer> m = new HashMap<>();
+
+            for (Integer key : keys)
+                m.put(key, 1);
+
+            info("Put data: " + m);
+
+            grid(0).cache(null).putAll(m);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++) {
+            for (Integer key : keys)
+                grid(i).cache(null).get(key);
+        }
+
+        store.forceFail(true);
+
+        final Map<Integer, Integer> m = new HashMap<>();
+
+        for (Integer key : keys)
+            m.put(key, 2);
+
+        info("Going to putAll: " + m);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).putAll(m);
+
+                return null;
+            }
+        }, GridCacheTxRollbackException.class, null);
+
+        for (Integer key : m.keySet())
+            checkValue(key, putBefore);
+    }
+
+    /**
+     * @param putBefore If {@code true} then puts some value before executing failing operation.
+     * @param key Key.
+     * @throws Exception If failed.
+     */
+    private void checkRemove(boolean putBefore, final Integer key) throws Exception {
+        if (putBefore) {
+            store.forceFail(false);
+
+            info("Put key: " + key);
+
+            grid(0).cache(null).put(key, 1);
+        }
+
+        // Execute get from all nodes to create readers for near cache.
+        for (int i = 0; i < gridCount(); i++)
+            grid(i).cache(null).get(key);
+
+        store.forceFail(true);
+
+        info("Going to remove: " + key);
+
+        GridTestUtils.assertThrows(log, new Callable<Void>() {
+            @Override public Void call() throws Exception {
+                grid(0).cache(null).remove(key);
+
+                return null;
+            }
+        }, GridCacheTxRollbackException.class, null);
+
+        checkValue(key, putBefore);
+    }
+
+    /**
+     * Generates key of a given type for given node.
+     *
+     * @param node Node.
+     * @param type Key type.
+     * @return Key.
+     */
+    private Integer keyForNode(ClusterNode node, int type) {
+        GridCache<Integer, Integer> cache = grid(0).cache(null);
+
+        if (cache.configuration().getCacheMode() == LOCAL)
+            return ++lastKey;
+
+        if (cache.configuration().getCacheMode() == REPLICATED && type == NOT_PRIMARY_AND_BACKUP)
+            return ++lastKey;
+
+        for (int key = lastKey + 1; key < (lastKey + 10_000); key++) {
+            switch (type) {
+                case NOT_PRIMARY_AND_BACKUP: {
+                    if (!cache.affinity().isPrimaryOrBackup(node, key)) {
+                        lastKey = key;
+
+                        return key;
+                    }
+
+                    break;
+                }
+
+                case PRIMARY: {
+                    if (cache.affinity().isPrimary(node, key)) {
+                        lastKey = key;
+
+                        return key;
+                    }
+
+                    break;
+                }
+
+                case BACKUP: {
+                    if (cache.affinity().isBackup(node, key)) {
+                        lastKey = key;
+
+                        return key;
+                    }
+
+                    break;
+                }
+
+                default:
+                    fail();
+            }
+        }
+
+        throw new IllegalStateException("Failed to find key.");
+    }
+
+    /**
+     *
+     */
+    private static class TestStore implements GridCacheStore<Object, Object> {
+        /** Fail flag. */
+        private volatile boolean fail;
+
+        /**
+         * @param fail Fail flag.
+         */
+        public void forceFail(boolean fail) {
+            this.fail = fail;
+        }
+
+
+        @Nullable @Override public Object load(@Nullable IgniteTx tx, Object key) throws IgniteCheckedException {
+            return null;
+        }
+
+        @Override public void loadCache(IgniteBiInClosure<Object, Object> clo, @Nullable Object... args)
+            throws IgniteCheckedException {
+            if (fail)
+                throw new IgniteCheckedException("Store exception");
+        }
+
+        @Override public void loadAll(@Nullable IgniteTx tx, Collection<?> keys, IgniteBiInClosure<Object, Object> c)
+            throws IgniteCheckedException {
+        }
+
+        @Override public void put(@Nullable IgniteTx tx, Object key, Object val) throws IgniteCheckedException {
+            if (fail)
+                throw new IgniteCheckedException("Store exception");
+        }
+
+        @Override public void putAll(@Nullable IgniteTx tx, Map<?, ?> map) throws IgniteCheckedException {
+            if (fail)
+                throw new IgniteCheckedException("Store exception");
+        }
+
+        @Override public void remove(@Nullable IgniteTx tx, Object key) throws IgniteCheckedException {
+            if (fail)
+                throw new IgniteCheckedException("Store exception");
+        }
+
+        @Override public void removeAll(@Nullable IgniteTx tx, Collection<?> keys) throws IgniteCheckedException {
+            if (fail)
+                throw new IgniteCheckedException("Store exception");
+        }
+
+        @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
+            if (fail && commit)
+                throw new IgniteCheckedException("Store exception");
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
index 1291faf..8026483 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongApiSelfTest.java
@@ -464,7 +464,7 @@ public class GridCacheAtomicLongApiSelfTest extends GridCommonAbstractTest {
 
         assertEquals(0, cache.primarySize());
 
-        try (GridCacheTx tx = cache.txStart()) {
+        try (IgniteTx tx = cache.txStart()) {
             long newVal = RND.nextLong();
 
             long curAtomicVal = atomic.get();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
index 9d165cc..db7115b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
@@ -220,7 +220,7 @@ public abstract class GridCacheSequenceApiSelfAbstractTest extends GridCommonAbs
      * @throws Exception If failed.
      */
     public void testGetAndAddInTx() throws Exception {
-        try (GridCacheTx tx = grid().cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = grid().cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
             for (int i = 1; i < MAX_LOOPS_NUM; i++) {
                 for (GridCacheAtomicSequence seq : seqArr)
                     getAndAdd(seq, i);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
index ead25ef..5ed6edd 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedNodeRestartTxSelfTest.java
@@ -147,7 +147,7 @@ public class GridCachePartitionedNodeRestartTxSelfTest extends GridCommonAbstrac
 
             assert PARTITIONED == grid(i).cache(null).configuration().getCacheMode();
 
-            try (GridCacheTx tx = grid(i).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = grid(i).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 Integer val = (Integer) grid(i).cache(null).get(key);
 
                 assertEquals("Simple check failed for node: " + i, (Integer) i, val);
@@ -172,7 +172,7 @@ public class GridCachePartitionedNodeRestartTxSelfTest extends GridCommonAbstrac
 
             assert PARTITIONED == grid(i).cache(null).configuration().getCacheMode();
 
-            try (GridCacheTx tx = grid(i).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = grid(i).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 GridCacheInternalKey key = new GridCacheInternalKeyImpl(name);
 
                 GridCacheAtomicLongValue atomicVal = ((GridCacheAtomicLongValue) grid(i).cache(null).get(key));
@@ -230,7 +230,7 @@ public class GridCachePartitionedNodeRestartTxSelfTest extends GridCommonAbstrac
 
         // Init cache data.
 
-        try (GridCacheTx tx = grid(0).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = grid(0).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
             // Put simple value.
             grid(0).cache(null).put(key, INIT_GRID_NUM);
 
@@ -253,7 +253,7 @@ public class GridCachePartitionedNodeRestartTxSelfTest extends GridCommonAbstrac
 
         // Init cache data.
 
-        try (GridCacheTx tx = grid(0).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = grid(0).cache(null).txStart(PESSIMISTIC, REPEATABLE_READ)) {
             // Put custom data
             grid(0).cache(null).put(new GridCacheInternalKeyImpl(key), new GridCacheAtomicLongValue(INIT_GRID_NUM));
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
index 2cb26c6..84340a9 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/partitioned/GridCachePartitionedQueueCreateMultiNodeSelfTest.java
@@ -151,7 +151,7 @@ public class GridCachePartitionedQueueCreateMultiNodeSelfTest extends GridCommon
 
                     info("Partition: " + cache.affinity().partition(1));
 
-                    try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         // info("Getting value for key 1");
 
                         String s = cache.get(1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
index 3467e53..24a33bb 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractDistributedByteArrayValuesSelfTest.java
@@ -328,7 +328,7 @@ public abstract class GridCacheAbstractDistributedByteArrayValuesSelfTest extend
     private void testTransactionMixed0(GridCache<Integer, Object>[] caches, GridCacheTxConcurrency concurrency,
         Integer key1, byte[] val1, @Nullable Integer key2, @Nullable Object val2) throws Exception {
         for (GridCache<Integer, Object> cache : caches) {
-            GridCacheTx tx = cache.txStart(concurrency, REPEATABLE_READ);
+            IgniteTx tx = cache.txStart(concurrency, REPEATABLE_READ);
 
             try {
                 cache.put(key1, val1);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
index 45e20ae..5773714 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractJobExecutionTest.java
@@ -125,7 +125,7 @@ public abstract class GridCacheAbstractJobExecutionTest extends GridCommonAbstra
                 @Override public Void applyx(final Integer i) throws IgniteCheckedException {
                     GridCache<String, int[]> cache = this.ignite.cache(null);
 
-                    try (GridCacheTx tx = cache.txStart(concur, isolation)) {
+                    try (IgniteTx tx = cache.txStart(concur, isolation)) {
                         int[] arr = cache.get("TestKey");
 
                         if (arr == null)
@@ -159,7 +159,7 @@ public abstract class GridCacheAbstractJobExecutionTest extends GridCommonAbstra
             // Do within transaction to make sure that lock is acquired
             // which means that all previous transactions have committed.
 
-            try (GridCacheTx tx = c.txStart(concur, isolation)) {
+            try (IgniteTx tx = c.txStart(concur, isolation)) {
                 int[] arr = c.get("TestKey");
 
                 assertNotNull(arr);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
index 7cd73cc..372639f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractNodeRestartSelfTest.java
@@ -623,7 +623,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs
                                 int c = 0;
 
                                 try {
-                                    try (GridCacheTx tx = cache.txStart(txConcurrency(), REPEATABLE_READ)) {
+                                    try (IgniteTx tx = cache.txStart(txConcurrency(), REPEATABLE_READ)) {
                                         c = txCntr.incrementAndGet();
 
                                         if (c % logFreq == 0)
@@ -772,7 +772,7 @@ public abstract class GridCacheAbstractNodeRestartSelfTest extends GridCommonAbs
 
                                 int c = 0;
 
-                                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                     c = txCntr.incrementAndGet();
 
                                     if (c % logFreq == 0)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
index 1c12f51..1c8bf17 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheAbstractPrimarySyncSelfTest.java
@@ -84,7 +84,7 @@ public abstract class GridCacheAbstractPrimarySyncSelfTest extends GridCommonAbs
                 GridCache<Integer, Integer> cache = grid(j).cache(null);
 
                 if (cache.entry(i).primary()) {
-                    try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         cache.put(i, i);
 
                         tx.commit();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
index 155ceee..a05eacc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheBasicOpAbstractTest.java
@@ -252,7 +252,7 @@ public abstract class GridCacheBasicOpAbstractTest extends GridCommonAbstractTes
             ignite2.events().localListen(lsnr, EVT_CACHE_OBJECT_PUT, EVT_CACHE_OBJECT_REMOVED);
             ignite3.events().localListen(lsnr, EVT_CACHE_OBJECT_PUT, EVT_CACHE_OBJECT_REMOVED);
 
-            GridCacheTx tx = cache1.txStart(OPTIMISTIC, READ_COMMITTED, 0, 0);
+            IgniteTx tx = cache1.txStart(OPTIMISTIC, READ_COMMITTED, 0, 0);
 
             try {
                 cache1.put("tx1", "val1");
@@ -317,7 +317,7 @@ public abstract class GridCacheBasicOpAbstractTest extends GridCommonAbstractTes
         GridCache<String, String> cache2 = ignite2.cache(null);
         GridCache<String, String> cache3 = ignite3.cache(null);
 
-        GridCacheTx tx = cache1.txStart();
+        IgniteTx tx = cache1.txStart();
 
         cache1.put("key", "val");
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
index b833381..a89ced2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEntrySetAbstractSelfTest.java
@@ -82,7 +82,7 @@ public abstract class GridCacheEntrySetAbstractSelfTest extends GridCacheAbstrac
      * @throws Exception If failed.
      */
     private void putAndCheckEntrySet(GridCache<Object, Object> cache) throws Exception {
-        try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+        try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
             Integer total = (Integer) cache.get(TX_KEY);
 
             if (total == null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
index 9cc8f32..6801ffc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheEventAbstractTest.java
@@ -253,7 +253,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert cache.put(key, val) == null;
 
@@ -285,7 +285,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert cache.put(key, val) == null;
 
@@ -351,7 +351,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert cache.putAsync(key, val).get() == null;
 
@@ -383,7 +383,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert cache.putAsync(key, val).get() == null;
 
@@ -443,7 +443,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert cache.putx(key, val);
 
@@ -473,7 +473,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert cache.putx(key, val);
 
@@ -533,7 +533,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
             @Override public void run(GridCache<String, Integer> cache) throws IgniteCheckedException {
                 Iterator<Map.Entry<String, Integer>> iter = pairs(2).entrySet().iterator();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 Map.Entry<String, Integer> e = iter.next();
 
@@ -606,7 +606,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 Iterator<Map.Entry<String, Integer>> iter = pairs(2).entrySet().iterator();
 
                 // Optimistic transaction.
-                GridCacheTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = cache.txStart(OPTIMISTIC, REPEATABLE_READ);
 
                 Map.Entry<String, Integer> e = iter.next();
 
@@ -683,7 +683,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 Integer val = e.getValue();
 
                 // Optimistic.
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert !cache.putx(key, val, hasPeekVal);
                 assert cache.putx(key, val, noPeekVal);
@@ -718,7 +718,7 @@ public abstract class GridCacheEventAbstractTest extends GridCacheAbstractSelfTe
                 String key = e.getKey();
                 Integer val = e.getValue();
 
-                GridCacheTx tx = cache.txStart();
+                IgniteTx tx = cache.txStart();
 
                 assert !cache.putx(key, val, hasPeekVal);
                 assert cache.putx(key, val, noPeekVal);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
index 1febbc4..c128bb3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultithreadedFailoverAbstractTest.java
@@ -293,7 +293,7 @@ public class GridCacheMultithreadedFailoverAbstractTest extends GridCommonAbstra
                             }
                         }
                         try {
-                            GridCacheTx tx = atomicityMode() == TRANSACTIONAL ? cache.txStart() : null;
+                            IgniteTx tx = atomicityMode() == TRANSACTIONAL ? cache.txStart() : null;
 
                             try {
                                 cache.putAll(putMap);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
index 7d6af24..4238c15 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
@@ -157,7 +157,7 @@ public abstract class GridCacheNodeFailureAbstractTest extends GridCommonAbstrac
 
         GridCache<Integer, String> cache = cache(idx);
 
-        GridCacheTx tx = cache.txStart(concurrency, isolation);
+        IgniteTx tx = cache.txStart(concurrency, isolation);
 
         try {
             cache.put(KEY, VALUE);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
index bd6cf00..82c0bae 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePartitionedReloadAllAbstractSelfTest.java
@@ -144,17 +144,17 @@ public abstract class GridCachePartitionedReloadAllAbstractSelfTest extends Grid
                     c.apply(e.getKey(), e.getValue());
             }
 
-            @Override public String load(GridCacheTx tx, Integer key) {
+            @Override public String load(IgniteTx tx, Integer key) {
                 X.println("Loading on: " + caches.indexOf(g.<Integer, String>cache(null)) + " key=" + key);
 
                 return map.get(key);
             }
 
-            @Override public void put(GridCacheTx tx, Integer key, @Nullable String val) {
+            @Override public void put(IgniteTx tx, Integer key, @Nullable String val) {
                 fail("Should not be called within the test.");
             }
 
-            @Override public void remove(GridCacheTx tx, Integer key) {
+            @Override public void remove(IgniteTx tx, Integer key) {
                 fail("Should not be called within the test.");
             }
         };

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
deleted file mode 100644
index b7bea07..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxConsistencyRestartAbstractSelfTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.gridgain.testframework.junits.common.*;
-
-import java.util.*;
-import java.util.concurrent.atomic.*;
-
-import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
-import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
-
-/**
- *
- */
-public abstract class GridCacheTxConsistencyRestartAbstractSelfTest extends GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
-
-    /** Grid count. */
-    private static final int GRID_CNT = 4;
-
-    /** Key range. */
-    private static final int RANGE = 100_000;
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi discoSpi = new TcpDiscoverySpi();
-
-        discoSpi.setIpFinder(IP_FINDER);
-
-        cfg.setDiscoverySpi(discoSpi);
-
-        cfg.setCacheConfiguration(cacheConfiguration(gridName));
-
-        return cfg;
-    }
-
-    /**
-     * @param gridName Grid name.
-     * @return Cache configuration.
-     */
-    public GridCacheConfiguration cacheConfiguration(String gridName) {
-        GridCacheConfiguration ccfg = new GridCacheConfiguration();
-
-        ccfg.setAtomicityMode(TRANSACTIONAL);
-        ccfg.setCacheMode(cacheMode());
-        ccfg.setWriteSynchronizationMode(FULL_SYNC);
-        ccfg.setDistributionMode(partitionDistributionMode());
-        ccfg.setPreloadMode(SYNC);
-
-        if (cacheMode() == GridCacheMode.PARTITIONED)
-            ccfg.setBackups(1);
-
-        return ccfg;
-    }
-
-    /**
-     * @return Cache mode.
-     */
-    protected abstract GridCacheMode cacheMode();
-
-    /**
-     * @return Partition distribution mode for PARTITIONED cache.
-     */
-    protected abstract GridCacheDistributionMode partitionDistributionMode();
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTxConsistency() throws Exception {
-        startGridsMultiThreaded(GRID_CNT);
-
-        IgniteDataLoader<Object, Object> ldr = grid(0).dataLoader(null);
-
-        for (int i = 0; i < RANGE; i++) {
-            ldr.addData(i, 0);
-
-            if (i > 0 && i % 1000 == 0)
-                info("Put keys: " + i);
-        }
-
-        ldr.close();
-
-        final AtomicBoolean done = new AtomicBoolean(false);
-
-        Thread restartThread = new Thread() {
-            @Override public void run() {
-                Random rnd = new Random();
-
-                while (!done.get()) {
-                    try {
-                        int idx = rnd.nextInt(GRID_CNT);
-
-                        stopGrid(idx);
-
-                        startGrid(idx);
-                    }
-                    catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                }
-            }
-        };
-
-        restartThread.start();
-
-        Random rnd = new Random();
-
-        // Make some iterations with 1-3 keys transactions.
-        for (int i = 0; i < 50_000; i++) {
-            int idx = i % GRID_CNT;
-
-            if (i > 0 && i % 1000 == 0)
-                info("Running iteration: " + i);
-
-            try {
-                GridKernal grid = (GridKernal)grid(idx);
-
-                GridCache<Integer, Integer> cache = grid.cache(null);
-
-                List<Integer> keys = new ArrayList<>();
-
-                int keyCnt = rnd.nextInt(3);
-
-                for (int k = 0; k < keyCnt; k++)
-                    keys.add(rnd.nextInt(RANGE));
-
-                Collections.sort(keys);
-
-                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
-                    Map<Integer, Integer> map = cache.getAll(keys);
-
-                    for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
-                        assertNotNull("Null value received from cache [key=" + entry.getKey() + "]", entry.getValue());
-
-                        cache.put(entry.getKey(), entry.getValue() + 1);
-                    }
-
-                    tx.commit();
-                }
-            }
-            catch (Exception e) {
-                info("Failed to update keys: " + e.getMessage());
-            }
-        }
-
-        done.set(true);
-
-        restartThread.join();
-
-        for (int k = 0; k < RANGE; k++) {
-            Integer val = null;
-
-            for (int i = 0; i < GRID_CNT; i++) {
-                GridEx grid = grid(i);
-
-                GridCache<Integer, Integer> cache = grid.cache(null);
-
-                if (cache.affinity().isPrimaryOrBackup(grid.localNode(), k)) {
-                    if (val == null) {
-                        val = cache.peek(k);
-
-                        assertNotNull("Failed to peek value for key: " + k, val);
-                    }
-                    else
-                        assertEquals("Failed to find value in cache [primary=" +
-                            cache.affinity().isPrimary(grid.localNode(), k) + ']',
-                            val, cache.peek(k));
-                }
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
deleted file mode 100644
index 4b15e83..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxOriginatingNodeFailureAbstractSelfTest.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.resources.*;
-import org.apache.ignite.spi.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.managers.communication.*;
-import org.gridgain.grid.kernal.processors.cache.*;
-import org.apache.ignite.spi.communication.tcp.*;
-import org.gridgain.grid.util.direct.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.testframework.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-
-/**
- * Abstract test for originating node failure.
- */
-public abstract class GridCacheTxOriginatingNodeFailureAbstractSelfTest extends GridCacheAbstractSelfTest {
-    /** */
-    protected static final int GRID_CNT = 5;
-
-    /** Ignore node ID. */
-    private volatile UUID ignoreMsgNodeId;
-
-    /** Ignore message class. */
-    private Class<?> ignoreMsgCls;
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testManyKeysCommit() throws Exception {
-        Collection<Integer> keys = new ArrayList<>(200);
-
-        for (int i = 0; i < 200; i++)
-            keys.add(i);
-
-        testTxOriginatingNodeFails(keys, false);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testManyKeysRollback() throws Exception {
-        Collection<Integer> keys = new ArrayList<>(200);
-
-        for (int i = 0; i < 200; i++)
-            keys.add(i);
-
-        testTxOriginatingNodeFails(keys, true);
-    }
-
-    /**
-     * @return Index of node starting transaction.
-     */
-    protected int originatingNode() {
-        return 0;
-    }
-
-    /**
-     * Ignores messages to given node of given type.
-     *
-     * @param dstNodeId Destination node ID.
-     * @param msgCls Message type.
-     */
-    protected void ignoreMessages(UUID dstNodeId, Class<?> msgCls) {
-        ignoreMsgNodeId = dstNodeId;
-        ignoreMsgCls = msgCls;
-    }
-
-    /**
-     * Gets ignore message class to simulate partial prepare message.
-     *
-     * @return Ignore message class.
-     */
-    protected abstract Class<?> ignoreMessageClass();
-
-    /**
-     * @param keys Keys to update.
-     * @param partial Flag indicating whether to simulate partial prepared state.
-     * @throws Exception If failed.
-     */
-    protected void testTxOriginatingNodeFails(Collection<Integer> keys, final boolean partial) throws Exception {
-        assertFalse(keys.isEmpty());
-
-        final Collection<GridKernal> grids = new ArrayList<>();
-
-        ClusterNode txNode = grid(originatingNode()).localNode();
-
-        for (int i = 1; i < gridCount(); i++)
-            grids.add((GridKernal)grid(i));
-
-        final Map<Integer, String> map = new HashMap<>();
-
-        final String initVal = "initialValue";
-
-        for (Integer key : keys) {
-            grid(originatingNode()).cache(null).put(key, initVal);
-
-            map.put(key, String.valueOf(key));
-        }
-
-        Map<Integer, Collection<ClusterNode>> nodeMap = new HashMap<>();
-
-        GridCacheAdapter<Integer, String> cache = ((GridKernal)grid(1)).internalCache();
-
-        info("Node being checked: " + grid(1).localNode().id());
-
-        for (Integer key : keys) {
-            Collection<ClusterNode> nodes = new ArrayList<>();
-
-            nodes.addAll(cache.affinity().mapKeyToPrimaryAndBackups(key));
-
-            nodes.remove(txNode);
-
-            nodeMap.put(key, nodes);
-        }
-
-        info("Starting tx [values=" + map + ", topVer=" +
-            ((GridKernal)grid(1)).context().discovery().topologyVersion() + ']');
-
-        if (partial)
-            ignoreMessages(grid(1).localNode().id(), ignoreMessageClass());
-
-        final Ignite txIgniteNode = G.ignite(txNode.id());
-
-        GridTestUtils.runAsync(new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                GridCache<Integer, String> cache = txIgniteNode.cache(null);
-
-                assertNotNull(cache);
-
-                GridCacheTxProxyImpl tx = (GridCacheTxProxyImpl)cache.txStart();
-
-                GridCacheTxEx txEx = GridTestUtils.getFieldValue(tx, "tx");
-
-                cache.putAll(map);
-
-                try {
-                    txEx.prepareAsync().get(3, TimeUnit.SECONDS);
-                }
-                catch (IgniteFutureTimeoutException ignored) {
-                    info("Failed to wait for prepare future completion: " + partial);
-                }
-
-                return null;
-            }
-        }).get();
-
-        info("Stopping originating node " + txNode);
-
-        G.stop(G.ignite(txNode.id()).name(), true);
-
-        info("Stopped grid, waiting for transactions to complete.");
-
-        boolean txFinished = GridTestUtils.waitForCondition(new GridAbsPredicate() {
-            @Override public boolean apply() {
-                for (GridKernal g : grids) {
-                    GridCacheSharedContext<Object, Object> ctx = g.context().cache().context();
-
-                    int txNum = ctx.tm().idMapSize();
-
-                    if (txNum != 0)
-                        return false;
-                }
-
-                return true;
-            }
-        }, 10000);
-
-        assertTrue(txFinished);
-
-        info("Transactions finished.");
-
-        for (Map.Entry<Integer, Collection<ClusterNode>> e : nodeMap.entrySet()) {
-            final Integer key = e.getKey();
-
-            final String val = map.get(key);
-
-            assertFalse(e.getValue().isEmpty());
-
-            for (ClusterNode node : e.getValue()) {
-                compute(G.ignite(node.id()).cluster().forNode(node)).call(new Callable<Void>() {
-                    /** */
-                    @IgniteInstanceResource
-                    private Ignite ignite;
-
-                    @Override public Void call() throws Exception {
-                        GridCache<Integer, String> cache = ignite.cache(null);
-
-                        assertNotNull(cache);
-
-                        assertEquals(partial ? initVal : val, cache.peek(key));
-
-                        return null;
-                    }
-                });
-            }
-        }
-
-        for (Map.Entry<Integer, String> e : map.entrySet()) {
-            for (Ignite g : G.allGrids()) {
-                UUID locNodeId = g.cluster().localNode().id();
-
-                assertEquals("Check failed for node: " + locNodeId, partial ? initVal : e.getValue(),
-                    g.cache(null).get(e.getKey()));
-            }
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.setCommunicationSpi(new TcpCommunicationSpi() {
-            @Override public void sendMessage(ClusterNode node, GridTcpCommunicationMessageAdapter msg)
-                throws IgniteSpiException {
-                if (!F.eq(ignoreMsgNodeId, node.id()) || !ignoredMessage((GridIoMessage)msg))
-                    super.sendMessage(node, msg);
-            }
-        });
-
-        cfg.getTransactionsConfiguration().setDefaultTxConcurrency(OPTIMISTIC);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
-
-        cfg.setStore(null);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return GRID_CNT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected abstract GridCacheMode cacheMode();
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        startGridsMultiThreaded(GRID_CNT);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        // No-op
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        stopAllGrids();
-
-        ignoreMsgCls = null;
-        ignoreMsgNodeId = null;
-    }
-
-    /**
-     * Checks if message should be ignored.
-     *
-     * @param msg Message.
-     * @return {@code True} if message should be ignored.
-     */
-    private boolean ignoredMessage(GridIoMessage msg) {
-        return ignoreMsgCls != null && ignoreMsgCls.isAssignableFrom(msg.message().getClass());
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
deleted file mode 100644
index 4d257f6..0000000
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache.distributed;
-
-import org.apache.ignite.*;
-import org.apache.ignite.cluster.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.resources.*;
-import org.apache.ignite.spi.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.cache.*;
-import org.gridgain.grid.kernal.*;
-import org.gridgain.grid.kernal.managers.communication.*;
-import org.gridgain.grid.kernal.processors.cache.*;
-import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
-import org.apache.ignite.spi.communication.tcp.*;
-import org.gridgain.grid.util.direct.*;
-import org.gridgain.grid.util.typedef.*;
-import org.gridgain.grid.util.lang.*;
-import org.gridgain.testframework.*;
-
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
-
-/**
- * Abstract test for originating node failure.
- */
-public abstract class GridCacheTxPessimisticOriginatingNodeFailureAbstractSelfTest extends GridCacheAbstractSelfTest {
-    /** */
-    protected static final int GRID_CNT = 5;
-
-    /** Ignore node ID. */
-    private volatile Collection<UUID> ignoreMsgNodeIds;
-
-    /** Ignore message class. */
-    private Collection<Class<?>> ignoreMsgCls;
-
-    /** Failing node ID. */
-    private UUID failingNodeId;
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testManyKeysCommit() throws Exception {
-        Collection<Integer> keys = new ArrayList<>(200);
-
-        for (int i = 0; i < 200; i++)
-            keys.add(i);
-
-        testTxOriginatingNodeFails(keys, false);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testManyKeysRollback() throws Exception {
-        Collection<Integer> keys = new ArrayList<>(200);
-
-        for (int i = 0; i < 200; i++)
-            keys.add(i);
-
-        testTxOriginatingNodeFails(keys, true);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPrimaryNodeFailureCommit() throws Exception {
-        checkPrimaryNodeCrash(true);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPrimaryNodeFailureRollback() throws Exception {
-        checkPrimaryNodeCrash(false);
-    }
-
-    /**
-     * @return Index of node starting transaction.
-     */
-    protected int originatingNode() {
-        return 0;
-    }
-
-    /**
-     * Ignores messages to given node of given type.
-     *
-     * @param dstNodeIds Destination node IDs.
-     * @param msgCls Message type.
-     */
-    protected void ignoreMessages(Collection<Class<?>> msgCls, Collection<UUID> dstNodeIds) {
-        ignoreMsgNodeIds = dstNodeIds;
-        ignoreMsgCls = msgCls;
-    }
-
-    /**
-     * Gets ignore message class to simulate partial prepare message.
-     *
-     * @return Ignore message class.
-     */
-    protected abstract Collection<Class<?>> ignoreMessageClasses();
-
-    /**
-     * @param keys Keys to update.
-     * @param fullFailure Flag indicating whether to simulate rollback state.
-     * @throws Exception If failed.
-     */
-    protected void testTxOriginatingNodeFails(Collection<Integer> keys, final boolean fullFailure) throws Exception {
-        assertFalse(keys.isEmpty());
-
-        final Collection<GridKernal> grids = new ArrayList<>();
-
-        ClusterNode txNode = grid(originatingNode()).localNode();
-
-        for (int i = 1; i < gridCount(); i++)
-            grids.add((GridKernal)grid(i));
-
-        failingNodeId = grid(0).localNode().id();
-
-        final Map<Integer, String> map = new HashMap<>();
-
-        final String initVal = "initialValue";
-
-        for (Integer key : keys) {
-            grid(originatingNode()).cache(null).put(key, initVal);
-
-            map.put(key, String.valueOf(key));
-        }
-
-        Map<Integer, Collection<ClusterNode>> nodeMap = new HashMap<>();
-
-        GridCacheAdapter<Integer, String> cache = ((GridKernal)grid(1)).internalCache();
-
-        info("Node being checked: " + grid(1).localNode().id());
-
-        for (Integer key : keys) {
-            Collection<ClusterNode> nodes = new ArrayList<>();
-
-            nodes.addAll(cache.affinity().mapKeyToPrimaryAndBackups(key));
-
-            nodes.remove(txNode);
-
-            nodeMap.put(key, nodes);
-        }
-
-        info("Starting tx [values=" + map + ", topVer=" +
-            ((GridKernal)grid(1)).context().discovery().topologyVersion() + ']');
-
-        if (fullFailure)
-            ignoreMessages(ignoreMessageClasses(), allNodeIds());
-        else
-            ignoreMessages(ignoreMessageClasses(), F.asList(grid(1).localNode().id()));
-
-        final GridEx originatingNodeGrid = grid(originatingNode());
-
-        GridTestUtils.runAsync(new Callable<Void>() {
-            @Override public Void call() throws Exception {
-                GridCache<Integer, String> cache = originatingNodeGrid.cache(null);
-
-                assertNotNull(cache);
-
-                GridCacheTx tx = cache.txStart();
-
-                try {
-                    cache.putAll(map);
-
-                    info("Before commitAsync");
-
-                    IgniteFuture<GridCacheTx> fut = tx.commitAsync();
-
-                    info("Got future for commitAsync().");
-
-                    fut.get(3, TimeUnit.SECONDS);
-                }
-                catch (IgniteFutureTimeoutException ignored) {
-                    info("Failed to wait for commit future completion [fullFailure=" + fullFailure + ']');
-                }
-
-                return null;
-            }
-        }).get();
-
-        info(">>> Stopping originating node " + txNode);
-
-        G.stop(grid(originatingNode()).name(), true);
-
-        ignoreMessages(Collections.<Class<?>>emptyList(), Collections.<UUID>emptyList());
-
-        info(">>> Stopped originating node: " + txNode.id());
-
-        boolean txFinished = GridTestUtils.waitForCondition(new GridAbsPredicate() {
-            @Override public boolean apply() {
-                for (GridKernal g : grids) {
-                    GridCacheAdapter<?, ?> cache = g.internalCache();
-
-                    GridCacheTxManager txMgr = cache.isNear() ?
-                        ((GridNearCacheAdapter)cache).dht().context().tm() :
-                        cache.context().tm();
-
-                    int txNum = txMgr.idMapSize();
-
-                    if (txNum != 0)
-                        return false;
-                }
-
-                return true;
-            }
-        }, 10000);
-
-        assertTrue(txFinished);
-
-        info("Transactions finished.");
-
-        for (Map.Entry<Integer, Collection<ClusterNode>> e : nodeMap.entrySet()) {
-            final Integer key = e.getKey();
-
-            final String val = map.get(key);
-
-            assertFalse(e.getValue().isEmpty());
-
-            for (ClusterNode node : e.getValue()) {
-                final UUID checkNodeId = node.id();
-
-                compute(G.ignite(checkNodeId).cluster().forNode(node)).call(new Callable<Void>() {
-                    /** */
-                    @IgniteInstanceResource
-                    private Ignite ignite;
-
-                    @Override public Void call() throws Exception {
-                        GridCache<Integer, String> cache = ignite.cache(null);
-
-                        assertNotNull(cache);
-
-                        assertEquals("Failed to check entry value on node: " + checkNodeId,
-                            fullFailure ? initVal : val, cache.peek(key));
-
-                        return null;
-                    }
-                });
-            }
-        }
-
-        for (Map.Entry<Integer, String> e : map.entrySet()) {
-            for (Ignite g : G.allGrids())
-                assertEquals(fullFailure ? initVal : e.getValue(), g.cache(null).get(e.getKey()));
-        }
-    }
-
-    /**
-     * Checks tx data consistency in case when primary node crashes.
-     *
-     * @param commmit Whether to commit or rollback a transaction.
-     * @throws Exception If failed.
-     */
-    private void checkPrimaryNodeCrash(final boolean commmit) throws Exception {
-        Collection<Integer> keys = new ArrayList<>(20);
-
-        for (int i = 0; i < 20; i++)
-            keys.add(i);
-
-        final Collection<GridKernal> grids = new ArrayList<>();
-
-        ClusterNode primaryNode = grid(1).localNode();
-
-        for (int i = 0; i < gridCount(); i++) {
-            if (i != 1)
-                grids.add((GridKernal)grid(i));
-        }
-
-        failingNodeId = primaryNode.id();
-
-        final Map<Integer, String> map = new HashMap<>();
-
-        final String initVal = "initialValue";
-
-        for (Integer key : keys) {
-            grid(originatingNode()).cache(null).put(key, initVal);
-
-            map.put(key, String.valueOf(key));
-        }
-
-        Map<Integer, Collection<ClusterNode>> nodeMap = new HashMap<>();
-
-        GridCache<Integer, String> cache = grid(0).cache(null);
-
-        info("Failing node ID: " + grid(1).localNode().id());
-
-        for (Integer key : keys) {
-            Collection<ClusterNode> nodes = new ArrayList<>();
-
-            nodes.addAll(cache.affinity().mapKeyToPrimaryAndBackups(key));
-
-            nodes.remove(primaryNode);
-
-            nodeMap.put(key, nodes);
-        }
-
-        info("Starting tx [values=" + map + ", topVer=" +
-            ((GridKernal)grid(1)).context().discovery().topologyVersion() + ']');
-
-        assertNotNull(cache);
-
-        try (GridCacheTx tx = cache.txStart()) {
-            cache.getAll(keys);
-
-            // Should not send any messages.
-            cache.putAll(map);
-
-            // Fail the node in the middle of transaction.
-            info(">>> Stopping primary node " + primaryNode);
-
-            G.stop(G.ignite(primaryNode.id()).name(), true);
-
-            info(">>> Stopped originating node, finishing transaction: " + primaryNode.id());
-
-            if (commmit)
-                tx.commit();
-            else
-                tx.rollback();
-        }
-
-        boolean txFinished = GridTestUtils.waitForCondition(new GridAbsPredicate() {
-            @Override public boolean apply() {
-                for (GridKernal g : grids) {
-                    GridCacheAdapter<?, ?> cache = g.internalCache();
-
-                    GridCacheTxManager txMgr = cache.isNear() ?
-                        ((GridNearCacheAdapter)cache).dht().context().tm() :
-                        cache.context().tm();
-
-                    int txNum = txMgr.idMapSize();
-
-                    if (txNum != 0)
-                        return false;
-                }
-
-                return true;
-            }
-        }, 10000);
-
-        assertTrue(txFinished);
-
-        info("Transactions finished.");
-
-        for (Map.Entry<Integer, Collection<ClusterNode>> e : nodeMap.entrySet()) {
-            final Integer key = e.getKey();
-
-            final String val = map.get(key);
-
-            assertFalse(e.getValue().isEmpty());
-
-            for (ClusterNode node : e.getValue()) {
-                final UUID checkNodeId = node.id();
-
-                compute(G.ignite(checkNodeId).cluster().forNode(node)).call(new Callable<Void>() {
-                    /** */
-                    @IgniteInstanceResource
-                    private Ignite ignite;
-
-                    @Override public Void call() throws Exception {
-                        GridCache<Integer, String> cache = ignite.cache(null);
-
-                        assertNotNull(cache);
-
-                        assertEquals("Failed to check entry value on node: " + checkNodeId,
-                            !commmit ? initVal : val, cache.peek(key));
-
-                        return null;
-                    }
-                });
-            }
-        }
-
-        for (Map.Entry<Integer, String> e : map.entrySet()) {
-            for (Ignite g : G.allGrids())
-                assertEquals(!commmit ? initVal : e.getValue(), g.cache(null).get(e.getKey()));
-        }
-    }
-
-    /**
-     * @return All node IDs.
-     */
-    private Collection<UUID> allNodeIds() {
-        Collection<UUID> nodeIds = new ArrayList<>(gridCount());
-
-        for (int i = 0; i < gridCount(); i++)
-            nodeIds.add(grid(i).localNode().id());
-
-        return nodeIds;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.setCommunicationSpi(new TcpCommunicationSpi() {
-            @Override public void sendMessage(ClusterNode node, GridTcpCommunicationMessageAdapter msg)
-                throws IgniteSpiException {
-                if (getSpiContext().localNode().id().equals(failingNodeId)) {
-                    if (ignoredMessage((GridIoMessage)msg) && ignoreMsgNodeIds != null) {
-                        for (UUID ignored : ignoreMsgNodeIds) {
-                            if (node.id().equals(ignored))
-                                return;
-                        }
-                    }
-                }
-
-                super.sendMessage(node, msg);
-            }
-        });
-
-        cfg.getTransactionsConfiguration().setDefaultTxConcurrency(PESSIMISTIC);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridCacheConfiguration cacheConfiguration(String gridName) throws Exception {
-        GridCacheConfiguration cfg = super.cacheConfiguration(gridName);
-
-        cfg.setStore(null);
-
-        return cfg;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int gridCount() {
-        return GRID_CNT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected abstract GridCacheMode cacheMode();
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        // No-op.
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        startGridsMultiThreaded(GRID_CNT);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        // No-op
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        stopAllGrids();
-
-        ignoreMsgCls = null;
-        ignoreMsgNodeIds = null;
-    }
-
-    /**
-     * Checks if message should be ignored.
-     *
-     * @param msg Message.
-     * @return {@code True} if message should be ignored.
-     */
-    private boolean ignoredMessage(GridIoMessage msg) {
-        Collection<Class<?>> ignoreClss = ignoreMsgCls;
-
-        if (ignoreClss != null) {
-            for (Class<?> ignoreCls : ignoreClss) {
-                if (ignoreCls.isAssignableFrom(msg.message().getClass()))
-                    return true;
-            }
-
-            return false;
-        }
-        else
-            return false;
-    }
-}


[22/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
index 5e9a70b..99232c2 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/replicated/GridCacheReplicatedInvalidateSelfTest.java
@@ -153,7 +153,7 @@ public class GridCacheReplicatedInvalidateSelfTest extends GridCommonAbstractTes
 
             tx.commit();
         }
-        catch (GridCacheTxOptimisticException e) {
+        catch (IgniteTxOptimisticException e) {
             log.warning("Optimistic transaction failure (will rollback) [msg=" + e.getMessage() + ", tx=" + tx + ']');
 
             tx.rollback();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/a1a5b391/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
index b8b5f17..431e70b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalTxTimeoutSelfTest.java
@@ -136,14 +136,14 @@ public class GridCacheLocalTxTimeoutSelfTest extends GridCommonAbstractTest {
 
             tx.commit();
         }
-        catch (GridCacheTxOptimisticException e) {
+        catch (IgniteTxOptimisticException e) {
             info("Received expected optimistic exception: " + e.getMessage());
 
             wasEx = true;
 
             tx.rollback();
         }
-        catch (GridCacheTxTimeoutException e) {
+        catch (IgniteTxTimeoutException e) {
             info("Received expected timeout exception: " + e.getMessage());
 
             wasEx = true;


[30/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxHandler.java
new file mode 100644
index 0000000..e0effe0
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxHandler.java
@@ -0,0 +1,1493 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.util.future.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+import static org.apache.ignite.transactions.IgniteTxConcurrency.*;
+import static org.apache.ignite.transactions.IgniteTxIsolation.*;
+import static org.apache.ignite.transactions.IgniteTxState.*;
+import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
+import static org.gridgain.grid.kernal.processors.cache.transactions.IgniteTxEx.FinalizationStatus.*;
+import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
+
+/**
+ * Isolated logic to process cache messages.
+ */
+public class IgniteTxHandler<K, V> {
+    /** Logger. */
+    private IgniteLogger log;
+
+    /** Shared cache context. */
+    private GridCacheSharedContext<K, V> ctx;
+
+    public IgniteFuture<IgniteTxEx<K, V>> processNearTxPrepareRequest(final UUID nearNodeId,
+        final GridNearTxPrepareRequest<K, V> req) {
+        return prepareTx(nearNodeId, null, req);
+    }
+
+    /**
+     * @param ctx Shared cache context.
+     */
+    public IgniteTxHandler(GridCacheSharedContext<K, V> ctx) {
+        this.ctx = ctx;
+
+        log = ctx.logger(IgniteTxHandler.class);
+
+        ctx.io().addHandler(0, GridNearTxPrepareRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processNearTxPrepareRequest(nodeId, (GridNearTxPrepareRequest<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridNearTxPrepareResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processNearTxPrepareResponse(nodeId, (GridNearTxPrepareResponse<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridNearTxFinishRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processNearTxFinishRequest(nodeId, (GridNearTxFinishRequest<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridNearTxFinishResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processNearTxFinishResponse(nodeId, (GridNearTxFinishResponse<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridDhtTxPrepareRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processDhtTxPrepareRequest(nodeId, (GridDhtTxPrepareRequest<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridDhtTxPrepareResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processDhtTxPrepareResponse(nodeId, (GridDhtTxPrepareResponse<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridDhtTxFinishRequest.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processDhtTxFinishRequest(nodeId, (GridDhtTxFinishRequest<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridDhtTxFinishResponse.class, new CI2<UUID, GridCacheMessage<K, V>>() {
+            @Override public void apply(UUID nodeId, GridCacheMessage<K, V> msg) {
+                processDhtTxFinishResponse(nodeId, (GridDhtTxFinishResponse<K, V>)msg);
+            }
+        });
+
+        ctx.io().addHandler(0, GridCacheOptimisticCheckPreparedTxRequest.class,
+            new CI2<UUID, GridCacheOptimisticCheckPreparedTxRequest<K, V>>() {
+                @Override public void apply(UUID nodeId, GridCacheOptimisticCheckPreparedTxRequest<K, V> req) {
+                    processCheckPreparedTxRequest(nodeId, req);
+                }
+            });
+
+        ctx.io().addHandler(0, GridCacheOptimisticCheckPreparedTxResponse.class,
+            new CI2<UUID, GridCacheOptimisticCheckPreparedTxResponse<K, V>>() {
+                @Override public void apply(UUID nodeId, GridCacheOptimisticCheckPreparedTxResponse<K, V> res) {
+                    processCheckPreparedTxResponse(nodeId, res);
+                }
+            });
+
+        ctx.io().addHandler(0, GridCachePessimisticCheckCommittedTxRequest.class,
+            new CI2<UUID, GridCachePessimisticCheckCommittedTxRequest<K, V>>() {
+                @Override public void apply(UUID nodeId, GridCachePessimisticCheckCommittedTxRequest<K, V> req) {
+                    processCheckCommittedTxRequest(nodeId, req);
+                }
+            });
+
+        ctx.io().addHandler(0, GridCachePessimisticCheckCommittedTxResponse.class,
+            new CI2<UUID, GridCachePessimisticCheckCommittedTxResponse<K, V>>() {
+                @Override public void apply(UUID nodeId, GridCachePessimisticCheckCommittedTxResponse<K, V> res) {
+                    processCheckCommittedTxResponse(nodeId, res);
+                }
+            });
+    }
+
+    /**
+     * @param nearNodeId Near node ID that initiated transaction.
+     * @param locTx Optional local transaction.
+     * @param req Near prepare request.
+     * @return Future for transaction.
+     */
+    public IgniteFuture<IgniteTxEx<K, V>> prepareTx(final UUID nearNodeId, @Nullable GridNearTxLocal<K, V> locTx,
+        final GridNearTxPrepareRequest<K, V> req) {
+        assert nearNodeId != null;
+        assert req != null;
+
+        if (locTx != null) {
+            if (req.near()) {
+                // Make sure not to provide Near entries to DHT cache.
+                req.cloneEntries();
+
+                return prepareNearTx(nearNodeId, req);
+            }
+            else
+                return prepareColocatedTx(locTx, req);
+        }
+        else
+            return prepareNearTx(nearNodeId, req);
+    }
+
+    /**
+     * Prepares local colocated tx.
+     *
+     * @param locTx Local transaction.
+     * @param req Near prepare request.
+     * @return Prepare future.
+     */
+    private IgniteFuture<IgniteTxEx<K, V>> prepareColocatedTx(final GridNearTxLocal<K, V> locTx,
+        final GridNearTxPrepareRequest<K, V> req) {
+
+        IgniteFuture<Object> fut = new GridFinishedFutureEx<>(); // TODO force preload keys.
+
+        return new GridEmbeddedFuture<>(
+            ctx.kernalContext(),
+            fut,
+            new C2<Object, Exception, IgniteFuture<IgniteTxEx<K, V>>>() {
+                @Override public IgniteFuture<IgniteTxEx<K, V>> apply(Object o, Exception ex) {
+                    if (ex != null)
+                        throw new GridClosureException(ex);
+
+                    IgniteFuture<IgniteTxEx<K, V>> fut = locTx.prepareAsyncLocal(req.reads(), req.writes(),
+                        req.transactionNodes(), req.last(), req.lastBackups());
+
+                    if (locTx.isRollbackOnly())
+                        locTx.rollbackAsync();
+
+                    return fut;
+                }
+            },
+            new C2<IgniteTxEx<K, V>, Exception, IgniteTxEx<K, V>>() {
+                @Nullable @Override public IgniteTxEx<K, V> apply(IgniteTxEx<K, V> tx, Exception e) {
+                    if (e != null) {
+                        // tx can be null of exception occurred.
+                        if (tx != null)
+                            tx.setRollbackOnly(); // Just in case.
+
+                        if (!(e instanceof IgniteTxOptimisticException))
+                            U.error(log, "Failed to prepare DHT transaction: " + tx, e);
+                    }
+
+                    return tx;
+                }
+            }
+        );
+    }
+
+    /**
+     * Prepares near transaction.
+     *
+     * @param nearNodeId Near node ID that initiated transaction.
+     * @param req Near prepare request.
+     * @return Prepare future.
+     */
+    private IgniteFuture<IgniteTxEx<K, V>> prepareNearTx(final UUID nearNodeId,
+        final GridNearTxPrepareRequest<K, V> req) {
+        ClusterNode nearNode = ctx.node(nearNodeId);
+
+        if (nearNode == null) {
+            if (log.isDebugEnabled())
+                log.debug("Received transaction request from node that left grid (will ignore): " + nearNodeId);
+
+            return null;
+        }
+
+        try {
+            for (IgniteTxEntry<K, V> e : F.concat(false, req.reads(), req.writes()))
+                e.unmarshal(ctx, false, ctx.deploy().globalLoader());
+        }
+        catch (IgniteCheckedException e) {
+            return new GridFinishedFuture<>(ctx.kernalContext(), e);
+        }
+
+        GridDhtTxLocal<K, V> tx;
+
+        GridCacheVersion mappedVer = ctx.tm().mappedVersion(req.version());
+
+        if (mappedVer != null) {
+            tx = ctx.tm().tx(mappedVer);
+
+            if (tx == null)
+                U.warn(log, "Missing local transaction for mapped near version [nearVer=" + req.version()
+                    + ", mappedVer=" + mappedVer + ']');
+        }
+        else {
+            tx = new GridDhtTxLocal<>(
+                ctx,
+                nearNode.id(),
+                req.version(),
+                req.futureId(),
+                req.miniId(),
+                req.threadId(),
+                /*implicit*/false,
+                /*implicit-single*/false,
+                req.system(),
+                req.concurrency(),
+                req.isolation(),
+                req.timeout(),
+                req.isInvalidate(),
+                false,
+                req.txSize(),
+                req.groupLockKey(),
+                req.partitionLock(),
+                req.transactionNodes(),
+                req.subjectId(),
+                req.taskNameHash()
+            );
+
+            tx = ctx.tm().onCreated(tx);
+
+            if (tx != null)
+                tx.topologyVersion(req.topologyVersion());
+            else
+                U.warn(log, "Failed to create local transaction (was transaction rolled back?) [xid=" +
+                    tx.xid() + ", req=" + req + ']');
+        }
+
+        if (tx != null) {
+            IgniteFuture<IgniteTxEx<K, V>> fut = tx.prepareAsync(req.reads(), req.writes(),
+                req.dhtVersions(), req.messageId(), req.miniId(), req.transactionNodes(), req.last(),
+                req.lastBackups());
+
+            if (tx.isRollbackOnly()) {
+                try {
+                    tx.rollback();
+                }
+                catch (IgniteCheckedException e) {
+                    U.error(log, "Failed to rollback transaction: " + tx, e);
+                }
+            }
+
+            final GridDhtTxLocal<K, V> tx0 = tx;
+
+            fut.listenAsync(new CI1<IgniteFuture<IgniteTxEx<K, V>>>() {
+                @Override public void apply(IgniteFuture<IgniteTxEx<K, V>> txFut) {
+                    try {
+                        txFut.get();
+                    }
+                    catch (IgniteCheckedException e) {
+                        tx0.setRollbackOnly(); // Just in case.
+
+                        if (!(e instanceof IgniteTxOptimisticException))
+                            U.error(log, "Failed to prepare DHT transaction: " + tx0, e);
+                    }
+                }
+            });
+
+            return fut;
+        }
+        else
+            return new GridFinishedFuture<>(ctx.kernalContext(), (IgniteTxEx<K, V>)null);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param res Response.
+     */
+    private void processNearTxPrepareResponse(UUID nodeId, GridNearTxPrepareResponse<K, V> res) {
+        GridNearTxPrepareFuture<K, V> fut = (GridNearTxPrepareFuture<K, V>)ctx.mvcc()
+            .<IgniteTxEx<K, V>>future(res.version(), res.futureId());
+
+        if (fut == null) {
+            if (log.isDebugEnabled())
+                log.debug("Failed to find future for prepare response [sender=" + nodeId + ", res=" + res + ']');
+
+            return;
+        }
+
+        fut.onResult(nodeId, res);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param res Response.
+     */
+    private void processNearTxFinishResponse(UUID nodeId, GridNearTxFinishResponse<K, V> res) {
+        ctx.tm().onFinishedRemote(nodeId, res.threadId());
+
+        GridNearTxFinishFuture<K, V> fut = (GridNearTxFinishFuture<K, V>)ctx.mvcc().<IgniteTx>future(
+            res.xid(), res.futureId());
+
+        if (fut == null) {
+            if (log.isDebugEnabled())
+                log.debug("Failed to find future for finish response [sender=" + nodeId + ", res=" + res + ']');
+
+            return;
+        }
+
+        fut.onResult(nodeId, res);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param res Response.
+     */
+    private void processDhtTxPrepareResponse(UUID nodeId, GridDhtTxPrepareResponse<K, V> res) {
+        GridDhtTxPrepareFuture<K, V> fut = (GridDhtTxPrepareFuture<K, V>)ctx.mvcc().
+            <IgniteTxEx<K, V>>future(res.version(), res.futureId());
+
+        if (fut == null) {
+            if (log.isDebugEnabled())
+                log.debug("Received response for unknown future (will ignore): " + res);
+
+            return;
+        }
+
+        fut.onResult(nodeId, res);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param res Response.
+     */
+    private void processDhtTxFinishResponse(UUID nodeId, GridDhtTxFinishResponse<K, V> res) {
+        assert nodeId != null;
+        assert res != null;
+
+        GridDhtTxFinishFuture<K, V> fut = (GridDhtTxFinishFuture<K, V>)ctx.mvcc().<IgniteTx>future(res.xid(),
+            res.futureId());
+
+        if (fut == null) {
+            if (log.isDebugEnabled())
+                log.debug("Received response for unknown future (will ignore): " + res);
+
+            return;
+        }
+
+        fut.onResult(nodeId, res);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param req Request.
+     * @return Future.
+     */
+    @Nullable public IgniteFuture<IgniteTx> processNearTxFinishRequest(UUID nodeId, GridNearTxFinishRequest<K, V> req) {
+        return finish(nodeId, null, req);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param req Request.
+     * @return Future.
+     */
+    @Nullable public IgniteFuture<IgniteTx> finish(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
+        GridNearTxFinishRequest<K, V> req) {
+        assert nodeId != null;
+        assert req != null;
+
+        // Transaction on local cache only.
+        if (locTx != null && !locTx.nearLocallyMapped() && !locTx.colocatedLocallyMapped())
+            return new GridFinishedFutureEx<IgniteTx>(locTx);
+
+        if (log.isDebugEnabled())
+            log.debug("Processing near tx finish request [nodeId=" + nodeId + ", req=" + req + "]");
+
+        IgniteFuture<IgniteTx> colocatedFinishFut = null;
+
+        if (locTx != null && locTx.colocatedLocallyMapped())
+            colocatedFinishFut = finishColocatedLocal(req.commit(), locTx);
+
+        IgniteFuture<IgniteTx> nearFinishFut = null;
+
+        if (locTx == null || locTx.nearLocallyMapped()) {
+            if (locTx != null)
+                req.cloneEntries();
+
+            nearFinishFut = finishDhtLocal(nodeId, locTx, req);
+        }
+
+        if (colocatedFinishFut != null && nearFinishFut != null) {
+            GridCompoundFuture<IgniteTx, IgniteTx> res = new GridCompoundFuture<>(ctx.kernalContext());
+
+            res.add(colocatedFinishFut);
+            res.add(nearFinishFut);
+
+            res.markInitialized();
+
+            return res;
+        }
+
+        if (colocatedFinishFut != null)
+            return colocatedFinishFut;
+
+        return nearFinishFut;
+    }
+
+    /**
+     * @param nodeId Node ID initiated commit.
+     * @param locTx Optional local transaction.
+     * @param req Finish request.
+     * @return Finish future.
+     */
+    private IgniteFuture<IgniteTx> finishDhtLocal(UUID nodeId, @Nullable GridNearTxLocal<K, V> locTx,
+        GridNearTxFinishRequest<K, V> req) {
+        GridCacheVersion dhtVer = ctx.tm().mappedVersion(req.version());
+
+        GridDhtTxLocal<K, V> tx = null;
+
+        if (dhtVer == null) {
+            if (log.isDebugEnabled())
+                log.debug("Received transaction finish request for unknown near version (was lock explicit?): " + req);
+        }
+        else
+            tx = ctx.tm().tx(dhtVer);
+
+        if (tx == null && !req.explicitLock()) {
+            assert locTx == null : "DHT local tx should never be lost for near local tx: " + locTx;
+
+            U.warn(log, "Received finish request for completed transaction (the message may be too late " +
+                "and transaction could have been DGCed by now) [commit=" + req.commit() +
+                ", xid=" + req.version() + ']');
+
+            // Always send finish response.
+            GridCacheMessage<K, V> res = new GridNearTxFinishResponse<>(req.version(), req.threadId(), req.futureId(),
+                req.miniId(), new IgniteCheckedException("Transaction has been already completed."));
+
+            try {
+                ctx.io().send(nodeId, res, tx.system() ? UTILITY_CACHE_POOL : SYSTEM_POOL);
+            }
+            catch (Throwable e) {
+                // Double-check.
+                if (ctx.discovery().node(nodeId) == null) {
+                    if (log.isDebugEnabled())
+                        log.debug("Node left while sending finish response [nodeId=" + nodeId + ", res=" + res +
+                            ']');
+                }
+                else
+                    U.error(log, "Failed to send finish response to node [nodeId=" + nodeId + ", " +
+                        "res=" + res + ']', e);
+            }
+
+            return null;
+        }
+
+        try {
+            if (req.commit()) {
+                if (tx == null) {
+                    // Create transaction and add entries.
+                    tx = ctx.tm().onCreated(
+                        new GridDhtTxLocal<>(
+                            ctx,
+                            nodeId,
+                            req.version(),
+                            req.futureId(),
+                            req.miniId(),
+                            req.threadId(),
+                            true,
+                            false, /* we don't know, so assume false. */
+                            req.system(),
+                            PESSIMISTIC,
+                            READ_COMMITTED,
+                            /*timeout */0,
+                            req.isInvalidate(),
+                            req.storeEnabled(),
+                            req.txSize(),
+                            req.groupLockKey(),
+                            false,
+                            null,
+                            req.subjectId(),
+                            req.taskNameHash()));
+
+                    if (tx == null || !ctx.tm().onStarted(tx))
+                        throw new IgniteTxRollbackException("Attempt to start a completed transaction: " + req);
+
+                    tx.topologyVersion(req.topologyVersion());
+                }
+
+                tx.storeEnabled(req.storeEnabled());
+
+                if (!tx.markFinalizing(USER_FINISH)) {
+                    if (log.isDebugEnabled())
+                        log.debug("Will not finish transaction (it is handled by another thread): " + tx);
+
+                    return null;
+                }
+
+                if (!tx.syncCommit())
+                    tx.syncCommit(req.syncCommit());
+
+                tx.nearFinishFutureId(req.futureId());
+                tx.nearFinishMiniId(req.miniId());
+                tx.recoveryWrites(req.recoveryWrites());
+
+                Collection<IgniteTxEntry<K, V>> writeEntries = req.writes();
+
+                if (!F.isEmpty(writeEntries)) {
+                    // In OPTIMISTIC mode, we get the values at PREPARE stage.
+                    assert tx.concurrency() == PESSIMISTIC;
+
+                    for (IgniteTxEntry<K, V> entry : writeEntries)
+                        tx.addEntry(req.messageId(), entry);
+                }
+
+                if (tx.pessimistic())
+                    tx.prepare();
+
+                IgniteFuture<IgniteTx> commitFut = tx.commitAsync();
+
+                // Only for error logging.
+                commitFut.listenAsync(CU.errorLogger(log));
+
+                return commitFut;
+            }
+            else {
+                assert tx != null : "Transaction is null for near rollback request [nodeId=" +
+                    nodeId + ", req=" + req + "]";
+
+                tx.syncRollback(req.syncRollback());
+
+                tx.nearFinishFutureId(req.futureId());
+                tx.nearFinishMiniId(req.miniId());
+
+                IgniteFuture<IgniteTx> rollbackFut = tx.rollbackAsync();
+
+                // Only for error logging.
+                rollbackFut.listenAsync(CU.errorLogger(log));
+
+                return rollbackFut;
+            }
+        }
+        catch (Throwable e) {
+            U.error(log, "Failed completing transaction [commit=" + req.commit() + ", tx=" + tx + ']', e);
+
+            if (tx != null) {
+                IgniteFuture<IgniteTx> rollbackFut = tx.rollbackAsync();
+
+                // Only for error logging.
+                rollbackFut.listenAsync(CU.errorLogger(log));
+
+                return rollbackFut;
+            }
+
+            return new GridFinishedFuture<>(ctx.kernalContext(), e);
+        }
+    }
+
+    /**
+     * @param commit Commit flag (rollback if {@code false}).
+     * @param tx Transaction to commit.
+     * @return Future.
+     */
+    public IgniteFuture<IgniteTx> finishColocatedLocal(boolean commit, GridNearTxLocal<K, V> tx) {
+        try {
+            if (commit) {
+                if (!tx.markFinalizing(USER_FINISH)) {
+                    if (log.isDebugEnabled())
+                        log.debug("Will not finish transaction (it is handled by another thread): " + tx);
+
+                    return null;
+                }
+
+                return tx.commitAsyncLocal();
+            }
+            else
+                return tx.rollbackAsyncLocal();
+        }
+        catch (Throwable e) {
+            U.error(log, "Failed completing transaction [commit=" + commit + ", tx=" + tx + ']', e);
+
+            if (tx != null)
+                return tx.rollbackAsync();
+
+            return new GridFinishedFuture<>(ctx.kernalContext(), e);
+        }
+    }
+
+    /**
+     * @param nodeId Sender node ID.
+     * @param req Request.
+     */
+    protected final void processDhtTxPrepareRequest(UUID nodeId, GridDhtTxPrepareRequest<K, V> req) {
+        assert nodeId != null;
+        assert req != null;
+
+        if (log.isDebugEnabled())
+            log.debug("Processing dht tx prepare request [locNodeId=" + ctx.localNodeId() +
+                ", nodeId=" + nodeId + ", req=" + req + ']');
+
+        GridDhtTxRemote<K, V> dhtTx = null;
+        GridNearTxRemote<K, V> nearTx = null;
+
+        GridDhtTxPrepareResponse<K, V> res;
+
+        try {
+            res = new GridDhtTxPrepareResponse<>(req.version(), req.futureId(), req.miniId());
+
+            // Start near transaction first.
+            nearTx = !F.isEmpty(req.nearWrites()) ? startNearRemoteTx(ctx.deploy().globalLoader(), nodeId, req) : null;
+            dhtTx = startRemoteTx(nodeId, req, res);
+
+            // Set evicted keys from near transaction.
+            if (nearTx != null)
+                res.nearEvicted(nearTx.evicted());
+
+            if (dhtTx != null && !F.isEmpty(dhtTx.invalidPartitions()))
+                res.invalidPartitions(dhtTx.invalidPartitions());
+        }
+        catch (IgniteCheckedException e) {
+            if (e instanceof IgniteTxRollbackException)
+                U.error(log, "Transaction was rolled back before prepare completed: " + dhtTx, e);
+            else if (e instanceof IgniteTxOptimisticException) {
+                if (log.isDebugEnabled())
+                    log.debug("Optimistic failure for remote transaction (will rollback): " + dhtTx);
+            }
+            else
+                U.error(log, "Failed to process prepare request: " + req, e);
+
+            if (nearTx != null)
+                nearTx.rollback();
+
+            if (dhtTx != null)
+                dhtTx.rollback();
+
+            res = new GridDhtTxPrepareResponse<>(req.version(), req.futureId(), req.miniId(), e);
+        }
+
+        try {
+            // Reply back to sender.
+            ctx.io().send(nodeId, res, req.system() ? UTILITY_CACHE_POOL : SYSTEM_POOL);
+        }
+        catch (IgniteCheckedException e) {
+            if (e instanceof ClusterTopologyException) {
+                if (log.isDebugEnabled())
+                    log.debug("Failed to send tx response to remote node (node left grid) [node=" + nodeId +
+                        ", xid=" + req.version());
+            }
+            else
+                U.warn(log, "Failed to send tx response to remote node (will rollback transaction) [node=" + nodeId +
+                    ", xid=" + req.version() + ", err=" +  e.getMessage() + ']');
+
+            if (nearTx != null)
+                nearTx.rollback();
+
+            if (dhtTx != null)
+                dhtTx.rollback();
+        }
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param req Request.
+     */
+    @SuppressWarnings({"unchecked"})
+    protected final void processDhtTxFinishRequest(final UUID nodeId, final GridDhtTxFinishRequest<K, V> req) {
+        assert nodeId != null;
+        assert req != null;
+
+        if (log.isDebugEnabled())
+            log.debug("Processing dht tx finish request [nodeId=" + nodeId + ", req=" + req + ']');
+
+        GridDhtTxRemote<K, V> dhtTx = ctx.tm().tx(req.version());
+        GridNearTxRemote<K, V> nearTx = ctx.tm().nearTx(req.version());
+
+        try {
+            if (dhtTx == null && !F.isEmpty(req.writes()))
+                dhtTx = startRemoteTxForFinish(nodeId, req);
+
+            if (dhtTx != null) {
+                dhtTx.syncCommit(req.syncCommit());
+                dhtTx.syncRollback(req.syncRollback());
+            }
+
+            // One-phase commit transactions send finish requests to backup nodes.
+            if (dhtTx != null && req.onePhaseCommit()) {
+                dhtTx.onePhaseCommit(true);
+
+                dhtTx.writeVersion(req.writeVersion());
+            }
+
+            if (nearTx == null && !F.isEmpty(req.nearWrites()) && req.groupLock())
+                nearTx = startNearRemoteTxForFinish(nodeId, req);
+
+            if (nearTx != null) {
+                nearTx.syncCommit(req.syncCommit());
+                nearTx.syncRollback(req.syncRollback());
+            }
+        }
+        catch (IgniteTxRollbackException e) {
+            if (log.isDebugEnabled())
+                log.debug("Received finish request for completed transaction (will ignore) [req=" + req + ", err=" +
+                    e.getMessage() + ']');
+
+            sendReply(nodeId, req);
+
+            return;
+        }
+        catch (IgniteCheckedException e) {
+            U.error(log, "Failed to start remote DHT and Near transactions (will invalidate transactions) [dhtTx=" +
+                dhtTx + ", nearTx=" + nearTx + ']', e);
+
+            if (dhtTx != null)
+                dhtTx.invalidate(true);
+
+            if (nearTx != null)
+                nearTx.invalidate(true);
+        }
+        catch (GridDistributedLockCancelledException ignore) {
+            U.warn(log, "Received commit request to cancelled lock (will invalidate transaction) [dhtTx=" +
+                dhtTx + ", nearTx=" + nearTx + ']');
+
+            if (dhtTx != null)
+                dhtTx.invalidate(true);
+
+            if (nearTx != null)
+                nearTx.invalidate(true);
+        }
+
+        // Safety - local transaction will finish explicitly.
+        if (nearTx != null && nearTx.local())
+            nearTx = null;
+
+        finish(nodeId, dhtTx, req, req.writes());
+
+        if (nearTx != null)
+            finish(nodeId, nearTx, req, req.nearWrites());
+
+        sendReply(nodeId, req);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param tx Transaction.
+     * @param req Request.
+     * @param writes Writes.
+     */
+    protected void finish(
+        UUID nodeId,
+        IgniteTxRemoteEx<K, V> tx,
+        GridDhtTxFinishRequest<K, V> req,
+        Collection<IgniteTxEntry<K, V>> writes) {
+        // We don't allow explicit locks for transactions and
+        // therefore immediately return if transaction is null.
+        // However, we may decide to relax this restriction in
+        // future.
+        if (tx == null) {
+            if (req.commit())
+                // Must be some long time duplicate, but we add it anyway.
+                ctx.tm().addCommittedTx(req.version(), null);
+            else
+                ctx.tm().addRolledbackTx(req.version());
+
+            if (log.isDebugEnabled())
+                log.debug("Received finish request for non-existing transaction (added to completed set) " +
+                    "[senderNodeId=" + nodeId + ", res=" + req + ']');
+
+            return;
+        }
+        else if (log.isDebugEnabled())
+            log.debug("Received finish request for transaction [senderNodeId=" + nodeId + ", req=" + req +
+                ", tx=" + tx + ']');
+
+        try {
+            if (req.commit() || req.isSystemInvalidate()) {
+                if (tx.commitVersion(req.commitVersion())) {
+                    tx.invalidate(req.isInvalidate());
+                    tx.systemInvalidate(req.isSystemInvalidate());
+
+                    if (!F.isEmpty(writes)) {
+                        // In OPTIMISTIC mode, we get the values at PREPARE stage.
+                        assert tx.concurrency() == PESSIMISTIC;
+
+                        for (IgniteTxEntry<K, V> entry : writes) {
+                            if (log.isDebugEnabled())
+                                log.debug("Unmarshalled transaction entry from pessimistic transaction [key=" +
+                                    entry.key() + ", value=" + entry.value() + ", tx=" + tx + ']');
+
+                            if (!tx.setWriteValue(entry))
+                                U.warn(log, "Received entry to commit that was not present in transaction [entry=" +
+                                    entry + ", tx=" + tx + ']');
+                        }
+                    }
+
+                    // Complete remote candidates.
+                    tx.doneRemote(req.baseVersion(), null, null, null);
+
+                    if (tx.pessimistic())
+                        tx.prepare();
+
+                    tx.commit();
+                }
+            }
+            else {
+                assert tx != null;
+
+                tx.doneRemote(req.baseVersion(), null, null, null);
+
+                tx.rollback();
+            }
+        }
+        catch (Throwable e) {
+            U.error(log, "Failed completing transaction [commit=" + req.commit() + ", tx=" + tx + ']', e);
+
+            // Mark transaction for invalidate.
+            tx.invalidate(true);
+            tx.systemInvalidate(true);
+
+            try {
+                tx.commit();
+            }
+            catch (IgniteCheckedException ex) {
+                U.error(log, "Failed to invalidate transaction: " + tx, ex);
+            }
+        }
+    }
+
+    /**
+     * Sends tx finish response to remote node, if response is requested.
+     *
+     * @param nodeId Node id that originated finish request.
+     * @param req Request.
+     */
+    protected void sendReply(UUID nodeId, GridDhtTxFinishRequest<K, V> req) {
+        if (req.replyRequired()) {
+            GridCacheMessage<K, V> res = new GridDhtTxFinishResponse<>(req.version(), req.futureId(), req.miniId());
+
+            try {
+                ctx.io().send(nodeId, res, req.system() ? UTILITY_CACHE_POOL : SYSTEM_POOL);
+            }
+            catch (Throwable e) {
+                // Double-check.
+                if (ctx.discovery().node(nodeId) == null) {
+                    if (log.isDebugEnabled())
+                        log.debug("Node left while sending finish response [nodeId=" + nodeId + ", res=" + res + ']');
+                }
+                else
+                    U.error(log, "Failed to send finish response to node [nodeId=" + nodeId + ", res=" + res + ']', e);
+            }
+        }
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param req Request.
+     * @param res Response.
+     * @return Remote transaction.
+     * @throws IgniteCheckedException If failed.
+     */
+    @Nullable GridDhtTxRemote<K, V> startRemoteTx(UUID nodeId,
+        GridDhtTxPrepareRequest<K, V> req,
+        GridDhtTxPrepareResponse<K, V> res) throws IgniteCheckedException {
+        if (!F.isEmpty(req.writes())) {
+            GridDhtTxRemote<K, V> tx = ctx.tm().tx(req.version());
+
+            assert F.isEmpty(req.candidatesByKey());
+
+            if (tx == null) {
+                tx = new GridDhtTxRemote<>(
+                    ctx,
+                    req.nearNodeId(),
+                    req.futureId(),
+                    nodeId,
+                    req.threadId(),
+                    req.topologyVersion(),
+                    req.version(),
+                    req.commitVersion(),
+                    req.system(),
+                    req.concurrency(),
+                    req.isolation(),
+                    req.isInvalidate(),
+                    req.timeout(),
+                    req.writes() != null ? Math.max(req.writes().size(), req.txSize()) : req.txSize(),
+                    req.groupLockKey(),
+                    req.nearXidVersion(),
+                    req.transactionNodes(),
+                    req.subjectId(),
+                    req.taskNameHash());
+
+                tx = ctx.tm().onCreated(tx);
+
+                if (tx == null || !ctx.tm().onStarted(tx)) {
+                    if (log.isDebugEnabled())
+                        log.debug("Attempt to start a completed transaction (will ignore): " + tx);
+
+                    return null;
+                }
+            }
+
+            if (!tx.isSystemInvalidate() && !F.isEmpty(req.writes())) {
+                int idx = 0;
+
+                for (IgniteTxEntry<K, V> entry : req.writes()) {
+                    GridCacheContext<K, V> cacheCtx = entry.context();
+
+                    tx.addWrite(entry, ctx.deploy().globalLoader());
+
+                    if (isNearEnabled(cacheCtx) && req.invalidateNearEntry(idx))
+                        invalidateNearEntry(cacheCtx, entry.key(), req.version());
+
+                    try {
+                        if (req.needPreloadKey(idx)) {
+                            GridCacheEntryEx<K, V> cached = entry.cached();
+
+                            if (cached == null)
+                                cached = cacheCtx.cache().entryEx(entry.key(), req.topologyVersion());
+
+                            GridCacheEntryInfo<K, V> info = cached.info();
+
+                            if (info != null && !info.isNew() && !info.isDeleted())
+                                res.addPreloadEntry(info);
+                        }
+                    }
+                    catch (GridDhtInvalidPartitionException e) {
+                        tx.addInvalidPartition(cacheCtx, e.partition());
+
+                        tx.clearEntry(entry.txKey());
+                    }
+
+                    idx++;
+                }
+            }
+
+            // Prepare prior to reordering, so the pending locks added
+            // in prepare phase will get properly ordered as well.
+            tx.prepare();
+
+            if (req.last())
+                tx.state(PREPARED);
+
+            res.invalidPartitions(tx.invalidPartitions());
+
+            if (tx.empty() && req.last()) {
+                tx.rollback();
+
+                return null;
+            }
+
+            return tx;
+        }
+
+        return null;
+    }
+
+    /**
+     * @param key Key
+     * @param ver Version.
+     * @throws IgniteCheckedException If invalidate failed.
+     */
+    private void invalidateNearEntry(GridCacheContext<K, V> cacheCtx, K key, GridCacheVersion ver)
+        throws IgniteCheckedException {
+        GridNearCacheAdapter<K, V> near = cacheCtx.isNear() ? cacheCtx.near() : cacheCtx.dht().near();
+
+        GridCacheEntryEx<K, V> nearEntry = near.peekEx(key);
+
+        if (nearEntry != null)
+            nearEntry.invalidate(null, ver);
+    }
+
+    /**
+     * Called while processing dht tx prepare request.
+     *
+     * @param ldr Loader.
+     * @param nodeId Sender node ID.
+     * @param req Request.
+     * @return Remote transaction.
+     * @throws IgniteCheckedException If failed.
+     */
+    @Nullable public GridNearTxRemote<K, V> startNearRemoteTx(ClassLoader ldr, UUID nodeId,
+        GridDhtTxPrepareRequest<K, V> req) throws IgniteCheckedException {
+        assert F.isEmpty(req.candidatesByKey());
+
+        if (!F.isEmpty(req.nearWrites())) {
+            GridNearTxRemote<K, V> tx = ctx.tm().nearTx(req.version());
+
+            if (tx == null) {
+                tx = new GridNearTxRemote<>(
+                    ctx,
+                    ldr,
+                    nodeId,
+                    req.nearNodeId(),
+                    req.threadId(),
+                    req.version(),
+                    req.commitVersion(),
+                    req.system(),
+                    req.concurrency(),
+                    req.isolation(),
+                    req.isInvalidate(),
+                    req.timeout(),
+                    req.nearWrites(),
+                    req.txSize(),
+                    req.groupLockKey(),
+                    req.subjectId(),
+                    req.taskNameHash()
+                );
+
+                if (!tx.empty()) {
+                    tx = ctx.tm().onCreated(tx);
+
+                    if (tx == null || !ctx.tm().onStarted(tx))
+                        throw new IgniteTxRollbackException("Attempt to start a completed transaction: " + tx);
+                }
+            }
+            else
+                tx.addEntries(ldr, req.nearWrites());
+
+            tx.ownedVersions(req.owned());
+
+            // Prepare prior to reordering, so the pending locks added
+            // in prepare phase will get properly ordered as well.
+            tx.prepare();
+
+            return tx;
+        }
+
+        return null;
+    }
+
+    /**
+     * @param nodeId Primary node ID.
+     * @param req Request.
+     * @return Remote transaction.
+     * @throws IgniteCheckedException If failed.
+     * @throws GridDistributedLockCancelledException If lock has been cancelled.
+     */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Nullable GridDhtTxRemote<K, V> startRemoteTxForFinish(UUID nodeId, GridDhtTxFinishRequest<K, V> req)
+        throws IgniteCheckedException, GridDistributedLockCancelledException {
+
+        GridDhtTxRemote<K, V> tx = null;
+
+        boolean marked = false;
+
+        for (IgniteTxEntry<K, V> txEntry : req.writes()) {
+            GridDistributedCacheEntry<K, V> entry = null;
+
+            GridCacheContext<K, V> cacheCtx = txEntry.context();
+
+            while (true) {
+                try {
+                    int part = cacheCtx.affinity().partition(txEntry.key());
+
+                    GridDhtLocalPartition<K, V> locPart = cacheCtx.topology().localPartition(part,
+                        req.topologyVersion(), false);
+
+                    // Handle implicit locks for pessimistic transactions.
+                    if (tx == null)
+                        tx = ctx.tm().tx(req.version());
+
+                    if (locPart == null || !locPart.reserve()) {
+                        if (log.isDebugEnabled())
+                            log.debug("Local partition for given key is already evicted (will remove from tx) " +
+                                "[key=" + txEntry.key() + ", part=" + part + ", locPart=" + locPart + ']');
+
+                        if (tx != null)
+                            tx.clearEntry(txEntry.txKey());
+
+                        break;
+                    }
+
+                    try {
+                        entry = (GridDistributedCacheEntry<K, V>)cacheCtx.cache().entryEx(txEntry.key(),
+                            req.topologyVersion());
+
+                        if (tx == null) {
+                            tx = new GridDhtTxRemote<>(
+                                ctx,
+                                req.nearNodeId(),
+                                req.futureId(),
+                                nodeId,
+                                // We can pass null as nearXidVersion as transaction will be committed right away.
+                                null,
+                                req.threadId(),
+                                req.topologyVersion(),
+                                req.version(),
+                                /*commitVer*/null,
+                                req.system(),
+                                PESSIMISTIC,
+                                req.isolation(),
+                                req.isInvalidate(),
+                                0,
+                                req.txSize(),
+                                req.groupLockKey(),
+                                req.subjectId(),
+                                req.taskNameHash());
+
+                            tx = ctx.tm().onCreated(tx);
+
+                            if (tx == null || !ctx.tm().onStarted(tx))
+                                throw new IgniteTxRollbackException("Failed to acquire lock " +
+                                    "(transaction has been completed): " + req.version());
+                        }
+
+                        tx.addWrite(cacheCtx, txEntry.op(), txEntry.txKey(), txEntry.keyBytes(), txEntry.value(),
+                            txEntry.valueBytes(), txEntry.transformClosures(), txEntry.drVersion());
+
+                        if (!marked) {
+                            if (tx.markFinalizing(USER_FINISH))
+                                marked = true;
+                            else {
+                                tx.clearEntry(txEntry.txKey());
+
+                                return null;
+                            }
+                        }
+
+                        // Add remote candidate before reordering.
+                        if (txEntry.explicitVersion() == null && !txEntry.groupLockEntry())
+                            entry.addRemote(
+                                req.nearNodeId(),
+                                nodeId,
+                                req.threadId(),
+                                req.version(),
+                                0,
+                                /*tx*/true,
+                                tx.implicitSingle(),
+                                null
+                            );
+
+                        // Double-check in case if sender node left the grid.
+                        if (ctx.discovery().node(req.nearNodeId()) == null) {
+                            if (log.isDebugEnabled())
+                                log.debug("Node requesting lock left grid (lock request will be ignored): " + req);
+
+                            tx.rollback();
+
+                            return null;
+                        }
+
+                        // Entry is legit.
+                        break;
+                    }
+                    finally {
+                        locPart.release();
+                    }
+                }
+                catch (GridCacheEntryRemovedException ignored) {
+                    assert entry.obsoleteVersion() != null : "Obsolete flag not set on removed entry: " +
+                        entry;
+
+                    if (log.isDebugEnabled())
+                        log.debug("Received entry removed exception (will retry on renewed entry): " + entry);
+
+                    tx.clearEntry(txEntry.txKey());
+
+                    if (log.isDebugEnabled())
+                        log.debug("Cleared removed entry from remote transaction (will retry) [entry=" +
+                            entry + ", tx=" + tx + ']');
+                }
+                catch (GridDhtInvalidPartitionException p) {
+                    if (log.isDebugEnabled())
+                        log.debug("Received invalid partition (will clear entry from tx) [part=" + p + ", req=" +
+                            req + ", txEntry=" + txEntry + ']');
+
+                    if (tx != null)
+                        tx.clearEntry(txEntry.txKey());
+
+                    break;
+                }
+            }
+        }
+
+        if (tx != null && tx.empty()) {
+            tx.rollback();
+
+            return null;
+        }
+
+        return tx;
+    }
+
+    /**
+     * @param nodeId Primary node ID.
+     * @param req Request.
+     * @return Remote transaction.
+     * @throws IgniteCheckedException If failed.
+     * @throws GridDistributedLockCancelledException If lock has been cancelled.
+     */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Nullable public GridNearTxRemote<K, V> startNearRemoteTxForFinish(UUID nodeId, GridDhtTxFinishRequest<K, V> req)
+        throws IgniteCheckedException, GridDistributedLockCancelledException {
+        assert req.groupLock();
+
+        GridNearTxRemote<K, V> tx = null;
+
+        ClassLoader ldr = ctx.deploy().globalLoader();
+
+        if (ldr != null) {
+            boolean marked = false;
+
+            for (IgniteTxEntry<K, V> txEntry : req.nearWrites()) {
+                GridDistributedCacheEntry<K, V> entry = null;
+
+                GridCacheContext<K, V> cacheCtx = txEntry.context();
+
+                while (true) {
+                    try {
+                        entry = cacheCtx.near().peekExx(txEntry.key());
+
+                        if (entry != null) {
+                            entry.keyBytes(txEntry.keyBytes());
+
+                            // Handle implicit locks for pessimistic transactions.
+                            if (tx == null)
+                                tx = ctx.tm().nearTx(req.version());
+
+                            if (tx == null) {
+                                tx = new GridNearTxRemote<>(
+                                    ctx,
+                                    nodeId,
+                                    req.nearNodeId(),
+                                    // We can pass null as nearXidVer as transaction will be committed right away.
+                                    null,
+                                    req.threadId(),
+                                    req.version(),
+                                    null,
+                                    req.system(),
+                                    PESSIMISTIC,
+                                    req.isolation(),
+                                    req.isInvalidate(),
+                                    0,
+                                    req.txSize(),
+                                    req.groupLockKey(),
+                                    req.subjectId(),
+                                    req.taskNameHash());
+
+                                tx = ctx.tm().onCreated(tx);
+
+                                if (tx == null || !ctx.tm().onStarted(tx))
+                                    throw new IgniteTxRollbackException("Failed to acquire lock " +
+                                        "(transaction has been completed): " + req.version());
+
+                                if (!marked)
+                                    marked = tx.markFinalizing(USER_FINISH);
+
+                                if (!marked)
+                                    return null;
+                            }
+
+                            if (tx.local())
+                                return null;
+
+                            if (!marked)
+                                marked = tx.markFinalizing(USER_FINISH);
+
+                            if (marked)
+                                tx.addEntry(cacheCtx, txEntry.txKey(), txEntry.keyBytes(), txEntry.op(), txEntry.value(),
+                                    txEntry.valueBytes(), txEntry.drVersion());
+                            else
+                                return null;
+
+                            if (req.groupLock()) {
+                                tx.markGroupLock();
+
+                                if (!txEntry.groupLockEntry())
+                                    tx.groupLockKey(txEntry.txKey());
+                            }
+
+                            // Add remote candidate before reordering.
+                            if (txEntry.explicitVersion() == null && !txEntry.groupLockEntry())
+                                entry.addRemote(
+                                    req.nearNodeId(),
+                                    nodeId,
+                                    req.threadId(),
+                                    req.version(),
+                                    0,
+                                    /*tx*/true,
+                                    tx.implicitSingle(),
+                                    null
+                                );
+                        }
+
+                        // Double-check in case if sender node left the grid.
+                        if (ctx.discovery().node(req.nearNodeId()) == null) {
+                            if (log.isDebugEnabled())
+                                log.debug("Node requesting lock left grid (lock request will be ignored): " + req);
+
+                            if (tx != null)
+                                tx.rollback();
+
+                            return null;
+                        }
+
+                        // Entry is legit.
+                        break;
+                    }
+                    catch (GridCacheEntryRemovedException ignored) {
+                        assert entry.obsoleteVersion() != null : "Obsolete flag not set on removed entry: " +
+                            entry;
+
+                        if (log.isDebugEnabled())
+                            log.debug("Received entry removed exception (will retry on renewed entry): " + entry);
+
+                        if (tx != null) {
+                            tx.clearEntry(txEntry.txKey());
+
+                            if (log.isDebugEnabled())
+                                log.debug("Cleared removed entry from remote transaction (will retry) [entry=" +
+                                    entry + ", tx=" + tx + ']');
+                        }
+
+                        // Will retry in while loop.
+                    }
+                }
+            }
+        }
+        else {
+            String err = "Failed to acquire deployment class loader for message: " + req;
+
+            U.warn(log, err);
+
+            throw new IgniteCheckedException(err);
+        }
+
+        return tx;
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param req Request.
+     */
+    protected void processCheckPreparedTxRequest(UUID nodeId, GridCacheOptimisticCheckPreparedTxRequest<K, V> req) {
+        if (log.isDebugEnabled())
+            log.debug("Processing check prepared transaction requests [nodeId=" + nodeId + ", req=" + req + ']');
+
+        boolean prepared = ctx.tm().txsPreparedOrCommitted(req.nearXidVersion(), req.transactions());
+
+        GridCacheOptimisticCheckPreparedTxResponse<K, V> res =
+            new GridCacheOptimisticCheckPreparedTxResponse<>(req.version(), req.futureId(), req.miniId(), prepared);
+
+        try {
+            if (log.isDebugEnabled())
+                log.debug("Sending check prepared transaction response [nodeId=" + nodeId + ", res=" + res + ']');
+
+            ctx.io().send(nodeId, res);
+        }
+        catch (ClusterTopologyException ignored) {
+            if (log.isDebugEnabled())
+                log.debug("Failed to send check prepared transaction response (did node leave grid?) [nodeId=" +
+                    nodeId + ", res=" + res + ']');
+        }
+        catch (IgniteCheckedException e) {
+            U.error(log, "Failed to send response to node [nodeId=" + nodeId + ", res=" + res + ']', e);
+        }
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param res Response.
+     */
+    protected void processCheckPreparedTxResponse(UUID nodeId, GridCacheOptimisticCheckPreparedTxResponse<K, V> res) {
+        if (log.isDebugEnabled())
+            log.debug("Processing check prepared transaction response [nodeId=" + nodeId + ", res=" + res + ']');
+
+        GridCacheOptimisticCheckPreparedTxFuture<K, V> fut = (GridCacheOptimisticCheckPreparedTxFuture<K, V>)ctx.mvcc().
+            <Boolean>future(res.version(), res.futureId());
+
+        if (fut == null) {
+            if (log.isDebugEnabled())
+                log.debug("Received response for unknown future (will ignore): " + res);
+
+            return;
+        }
+
+        fut.onResult(nodeId, res);
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param req Request.
+     */
+    protected void processCheckCommittedTxRequest(final UUID nodeId,
+        final GridCachePessimisticCheckCommittedTxRequest<K, V> req) {
+        if (log.isDebugEnabled())
+            log.debug("Processing check committed transaction request [nodeId=" + nodeId + ", req=" + req + ']');
+
+        IgniteFuture<GridCacheCommittedTxInfo<K, V>> infoFut = ctx.tm().checkPessimisticTxCommitted(req);
+
+        infoFut.listenAsync(new CI1<IgniteFuture<GridCacheCommittedTxInfo<K, V>>>() {
+            @Override public void apply(IgniteFuture<GridCacheCommittedTxInfo<K, V>> infoFut) {
+                GridCacheCommittedTxInfo<K, V> info = null;
+
+                try {
+                    info = infoFut.get();
+                }
+                catch (IgniteCheckedException e) {
+                    U.error(log, "Failed to obtain committed info for transaction (will rollback): " + req, e);
+                }
+
+                GridCachePessimisticCheckCommittedTxResponse<K, V>
+                    res = new GridCachePessimisticCheckCommittedTxResponse<>(
+                    req.version(), req.futureId(), req.miniId(), info);
+
+                if (log.isDebugEnabled())
+                    log.debug("Finished waiting for tx committed info [req=" + req + ", res=" + res + ']');
+
+                sendCheckCommittedResponse(nodeId, res);            }
+        });
+    }
+
+    /**
+     * @param nodeId Node ID.
+     * @param res Response.
+     */
+    protected void processCheckCommittedTxResponse(UUID nodeId,
+        GridCachePessimisticCheckCommittedTxResponse<K, V> res) {
+        if (log.isDebugEnabled())
+            log.debug("Processing check committed transaction response [nodeId=" + nodeId + ", res=" + res + ']');
+
+        GridCachePessimisticCheckCommittedTxFuture<K, V> fut =
+            (GridCachePessimisticCheckCommittedTxFuture<K, V>)ctx.mvcc().<GridCacheCommittedTxInfo<K, V>>future(
+                res.version(), res.futureId());
+
+        if (fut == null) {
+            if (log.isDebugEnabled())
+                log.debug("Received response for unknown future (will ignore): " + res);
+
+            return;
+        }
+
+        fut.onResult(nodeId, res);
+    }
+
+    /**
+     * Sends check committed response to remote node.
+     *
+     * @param nodeId Node ID to send to.
+     * @param res Reponse to send.
+     */
+    private void sendCheckCommittedResponse(UUID nodeId, GridCachePessimisticCheckCommittedTxResponse<K, V> res) {
+        try {
+            if (log.isDebugEnabled())
+                log.debug("Sending check committed transaction response [nodeId=" + nodeId + ", res=" + res + ']');
+
+            ctx.io().send(nodeId, res);
+        }
+        catch (ClusterTopologyException ignored) {
+            if (log.isDebugEnabled())
+                log.debug("Failed to send check committed transaction response (did node leave grid?) [nodeId=" +
+                    nodeId + ", res=" + res + ']');
+        }
+        catch (IgniteCheckedException e) {
+            U.error(log, "Failed to send response to node [nodeId=" + nodeId + ", res=" + res + ']', e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxKey.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxKey.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxKey.java
new file mode 100644
index 0000000..e2950c0
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxKey.java
@@ -0,0 +1,97 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.internal.*;
+
+import java.io.*;
+
+/**
+ * Cache transaction key. This wrapper is needed because same keys may be enlisted in the same transaction
+ * for multiple caches.
+ */
+public class IgniteTxKey<K> implements Externalizable {
+    /** Key. */
+    @GridToStringInclude
+    private K key;
+
+    /** Cache ID. */
+    private int cacheId;
+
+    /**
+     * Empty constructor required for {@link Externalizable}.
+     */
+    public IgniteTxKey() {
+        // No-op.
+    }
+
+    /**
+     * @param key User key.
+     * @param cacheId Cache ID.
+     */
+    public IgniteTxKey(K key, int cacheId) {
+        this.key = key;
+        this.cacheId = cacheId;
+    }
+
+    /**
+     * @return User key.
+     */
+    public K key() {
+        return key;
+    }
+
+    /**
+     * @return Cache ID.
+     */
+    public int cacheId() {
+        return cacheId;
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean equals(Object o) {
+        if (this == o)
+            return true;
+
+        if (!(o instanceof IgniteTxKey))
+            return false;
+
+        IgniteTxKey that = (IgniteTxKey)o;
+
+        return cacheId == that.cacheId && key.equals(that.key);
+    }
+
+    /** {@inheritDoc} */
+    @Override public int hashCode() {
+        int res = key.hashCode();
+
+        res = 31 * res + cacheId;
+
+        return res;
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeInt(cacheId);
+        out.writeObject(key);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        cacheId = in.readInt();
+        key = (K)in.readObject();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteTxKey.class, this);
+    }
+}


[39/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
GG-9141 - Renaming.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/cd46f567
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/cd46f567
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/cd46f567

Branch: refs/heads/ignite-32
Commit: cd46f567364c1b42911878ed5ce8256fcc68f7d9
Parents: 8365bb3
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Dec 19 18:53:42 2014 -0800
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Dec 19 18:53:42 2014 -0800

----------------------------------------------------------------------
 .../GridClientAbstractMultiNodeSelfTest.java    |    5 +-
 .../processors/cache/GridCacheAdapter.java      |  122 +-
 .../processors/cache/GridCacheContext.java      |    7 +-
 .../processors/cache/GridCacheEntryEx.java      |   15 +-
 .../processors/cache/GridCacheEntryImpl.java    |    7 +-
 .../cache/GridCacheEvictionEntry.java           |    5 +-
 .../cache/GridCacheEvictionManager.java         |    3 +-
 .../processors/cache/GridCacheMapEntry.java     |   31 +-
 .../processors/cache/GridCacheMessage.java      |    9 +-
 .../cache/GridCacheMultiTxFuture.java           |   13 +-
 .../kernal/processors/cache/GridCacheMvcc.java  |    3 +-
 .../processors/cache/GridCacheMvccManager.java  |   15 +-
 .../processors/cache/GridCacheProcessor.java    |    2 +-
 .../cache/GridCacheSharedContext.java           |   16 +-
 .../processors/cache/GridCacheTxAdapter.java    | 1523 ---------
 .../processors/cache/GridCacheTxEntry.java      | 1059 ------
 .../kernal/processors/cache/GridCacheTxEx.java  |  519 ---
 .../processors/cache/GridCacheTxHandler.java    | 1492 --------
 .../kernal/processors/cache/GridCacheTxKey.java |   97 -
 .../cache/GridCacheTxLocalAdapter.java          | 3178 -----------------
 .../processors/cache/GridCacheTxLocalEx.java    |  166 -
 .../processors/cache/GridCacheTxManager.java    | 2212 ------------
 .../kernal/processors/cache/GridCacheTxMap.java |  179 -
 .../processors/cache/GridCacheTxRemoteEx.java   |   37 -
 .../kernal/processors/cache/GridCacheUtils.java |   57 +-
 .../GridCacheDataStructuresManager.java         |    7 +-
 .../distributed/GridCacheCommittedTxInfo.java   |    9 +-
 ...ridCacheOptimisticCheckPreparedTxFuture.java |    6 +-
 ...idCacheOptimisticCheckPreparedTxRequest.java |    3 +-
 .../GridCachePerThreadTxCommitBuffer.java       |    3 +-
 ...dCachePessimisticCheckCommittedTxFuture.java |    9 +-
 ...CachePessimisticCheckCommittedTxRequest.java |    3 +-
 .../distributed/GridCacheTxCommitBuffer.java    |    3 +-
 .../GridDistributedCacheAdapter.java            |    7 +-
 .../distributed/GridDistributedCacheEntry.java  |    5 +-
 .../distributed/GridDistributedLockRequest.java |   13 +-
 .../GridDistributedTxFinishRequest.java         |   31 +-
 .../distributed/GridDistributedTxMapping.java   |   31 +-
 .../GridDistributedTxPrepareRequest.java        |   53 +-
 .../GridDistributedTxRemoteAdapter.java         |   67 +-
 .../distributed/dht/GridDhtCacheEntry.java      |    5 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |    5 +-
 .../distributed/dht/GridDhtLockFuture.java      |    3 +-
 .../distributed/dht/GridDhtLockRequest.java     |    5 +-
 .../distributed/dht/GridDhtLockResponse.java    |    7 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |   21 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   19 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   31 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   29 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |   67 +-
 .../dht/GridDhtTxPrepareRequest.java            |   25 +-
 .../dht/GridDhtTxPrepareResponse.java           |    7 +-
 .../cache/distributed/dht/GridDhtTxRemote.java  |   15 +-
 .../dht/atomic/GridDhtAtomicCache.java          |    3 +-
 .../dht/colocated/GridDhtColocatedCache.java    |    7 +-
 .../colocated/GridDhtColocatedLockFuture.java   |    9 +-
 .../distributed/near/GridNearAtomicCache.java   |    3 +-
 .../distributed/near/GridNearCacheAdapter.java  |    7 +-
 .../distributed/near/GridNearCacheEntry.java    |    5 +-
 .../distributed/near/GridNearGetFuture.java     |    5 +-
 .../distributed/near/GridNearLockFuture.java    |    7 +-
 .../distributed/near/GridNearLockRequest.java   |    5 +-
 .../near/GridNearTransactionalCache.java        |   13 +-
 .../near/GridNearTxFinishFuture.java            |    3 +-
 .../near/GridNearTxFinishRequest.java           |    5 +-
 .../cache/distributed/near/GridNearTxLocal.java |   89 +-
 .../near/GridNearTxPrepareFuture.java           |   49 +-
 .../near/GridNearTxPrepareRequest.java          |   15 +-
 .../near/GridNearTxPrepareResponse.java         |   15 +-
 .../distributed/near/GridNearTxRemote.java      |   31 +-
 .../processors/cache/dr/GridCacheDrManager.java |    3 +-
 .../cache/dr/os/GridOsCacheDrManager.java       |    3 +-
 .../processors/cache/local/GridLocalCache.java  |    7 +-
 .../cache/local/GridLocalCacheEntry.java        |    5 +-
 .../cache/local/GridLocalLockFuture.java        |    6 +-
 .../processors/cache/local/GridLocalTx.java     |    9 +-
 .../cache/local/GridLocalTxFuture.java          |    9 +-
 .../local/atomic/GridLocalAtomicCache.java      |    3 +-
 .../transactions/IgniteTransactionsImpl.java    |    4 +-
 .../cache/transactions/IgniteTxAdapter.java     | 1523 +++++++++
 .../cache/transactions/IgniteTxEntry.java       | 1060 ++++++
 .../cache/transactions/IgniteTxEx.java          |  520 +++
 .../cache/transactions/IgniteTxHandler.java     | 1493 ++++++++
 .../cache/transactions/IgniteTxKey.java         |   97 +
 .../transactions/IgniteTxLocalAdapter.java      | 3179 ++++++++++++++++++
 .../cache/transactions/IgniteTxLocalEx.java     |  167 +
 .../cache/transactions/IgniteTxManager.java     | 2213 ++++++++++++
 .../cache/transactions/IgniteTxMap.java         |  179 +
 .../cache/transactions/IgniteTxProxyImpl.java   |    6 +-
 .../cache/transactions/IgniteTxRemoteEx.java    |   39 +
 .../processors/cache/GridCacheTestEntryEx.java  |   17 +-
 .../processors/cache/GridCacheTestStore.java    |    3 +-
 ...xOriginatingNodeFailureAbstractSelfTest.java |    2 +-
 ...cOriginatingNodeFailureAbstractSelfTest.java |    5 +-
 .../atomic/GridCacheAtomicPreloadSelfTest.java  |    4 +-
 .../near/GridCacheNearTxMultiNodeSelfTest.java  |    8 +-
 .../GridCachePartitionedTxSalvageSelfTest.java  |    9 +-
 .../ggfs/GridGgfsDataManagerSelfTest.java       |    7 +-
 .../loadtests/hashmap/GridCacheTestContext.java |    4 +-
 .../loadtests/hashmap/GridHashMapLoadTest.java  |    5 +-
 .../cache/jta/GridCacheJtaManager.java          |    4 +-
 .../cache/jta/GridCacheXAResource.java          |    5 +-
 102 files changed, 11104 insertions(+), 11026 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
index 60ab835..62c0d4c 100644
--- a/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
+++ b/modules/clients/src/test/java/org/gridgain/client/integration/GridClientAbstractMultiNodeSelfTest.java
@@ -28,6 +28,7 @@ import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.*;
@@ -781,11 +782,11 @@ public abstract class GridClientAbstractMultiNodeSelfTest extends GridCommonAbst
 
             GridCacheContext<Object, Object> cacheCtx = g.internalCache(REPLICATED_ASYNC_CACHE_NAME).context();
 
-            GridCacheTxManager<Object, Object> tm = cacheCtx.tm();
+            IgniteTxManager<Object, Object> tm = cacheCtx.tm();
 
             GridCacheVersion v = ((GridCacheVersionable)o).version();
 
-            GridCacheTxEx t = tm.tx(v);
+            IgniteTxEx t = tm.tx(v);
 
             if (t.hasWriteKey(cacheCtx.txKey("x1")))
                 assertFalse("Invalid tx flags: " + t, t.syncCommit());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 3a6d702..a88cc02 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -488,7 +488,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     public abstract IgniteFuture<Boolean> txLockAsync(
         Collection<? extends K> keys,
         long timeout,
-        GridCacheTxLocalEx<K, V> tx,
+        IgniteTxLocalEx<K, V> tx,
         boolean isRead,
         boolean retval,
         IgniteTxIsolation isolation,
@@ -625,7 +625,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
                 }
             }
 
-            GridCacheTxEx<K, V> tx = ctx.tm().localTx();
+            IgniteTxEx<K, V> tx = ctx.tm().localTx();
 
             if (tx != null) {
                 GridTuple<V> peek = tx.peek(ctx, failFast, key, filter);
@@ -704,7 +704,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @return Peeked value.
      * @throws IgniteCheckedException In case of error.
      */
-    @Nullable protected V peek0(K key, @Nullable Collection<GridCachePeekMode> modes, GridCacheTxEx<K, V> tx)
+    @Nullable protected V peek0(K key, @Nullable Collection<GridCachePeekMode> modes, IgniteTxEx<K, V> tx)
         throws IgniteCheckedException {
         try {
             GridTuple<V> peek = peek0(false, key, modes, tx);
@@ -730,7 +730,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @throws GridCacheFilterFailedException If filer validation failed.
      */
     @Nullable protected GridTuple<V> peek0(boolean failFast, K key, @Nullable Collection<GridCachePeekMode> modes,
-        GridCacheTxEx<K, V> tx) throws IgniteCheckedException, GridCacheFilterFailedException {
+        IgniteTxEx<K, V> tx) throws IgniteCheckedException, GridCacheFilterFailedException {
         if (F.isEmpty(modes))
             return F.t(peek(key, (IgnitePredicate<GridCacheEntry<K, V>>)null));
 
@@ -801,7 +801,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @throws IgniteCheckedException If failed.
      */
     protected Map<K, V> peekAll0(@Nullable Collection<? extends K> keys, @Nullable Collection<GridCachePeekMode> modes,
-        GridCacheTxEx<K, V> tx, @Nullable Collection<K> skipped) throws IgniteCheckedException {
+        IgniteTxEx<K, V> tx, @Nullable Collection<K> skipped) throws IgniteCheckedException {
         if (F.isEmpty(keys))
             return emptyMap();
 
@@ -1242,7 +1242,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
     /**
      * @param entry Removes entry from cache if currently mapped value is the same as passed.
      */
-    protected void removeEntry(GridCacheEntryEx<K, V> entry) {
+    public void removeEntry(GridCacheEntryEx<K, V> entry) {
         map.removeEntry(entry);
     }
 
@@ -1371,7 +1371,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @return Future.
      */
     public IgniteFuture<Object> readThroughAllAsync(final Collection<? extends K> keys, boolean reload,
-        @Nullable final GridCacheTxEx<K, V> tx, IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable UUID subjId,
+        @Nullable final IgniteTxEx<K, V> tx, IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable UUID subjId,
         String taskName, final IgniteBiInClosure<K, V> vis) {
         return ctx.closures().callLocalSafe(new GPC<Object>() {
             @Nullable @Override public Object call() {
@@ -1712,7 +1712,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         if (keyCheck)
             validateCacheKeys(keys);
 
-        GridCacheTxLocalAdapter<K, V> tx = null;
+        IgniteTxLocalAdapter<K, V> tx = null;
 
         if (checkTx) {
             try {
@@ -1812,7 +1812,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
                     final Collection<K> redos = new LinkedList<>();
 
-                    final GridCacheTxLocalAdapter<K, V> tx0 = tx;
+                    final IgniteTxLocalAdapter<K, V> tx0 = tx;
 
                     final Collection<K> loaded = new HashSet<>();
 
@@ -1964,7 +1964,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             final GridCacheEntryEx<K, V> cached0 = cached;
 
             return asyncOp(tx, new AsyncOp<Map<K, V>>(keys) {
-                @Override public IgniteFuture<Map<K, V>> op(GridCacheTxLocalAdapter<K, V> tx) {
+                @Override public IgniteFuture<Map<K, V>> op(IgniteTxLocalAdapter<K, V> tx) {
                     return ctx.wrapCloneMap(tx.getAllAsync(ctx, keys, cached0, deserializePortable, filter));
                 }
             });
@@ -1990,7 +1990,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) {
-            @Override public V op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public V op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), true, cached, ttl, filter).get().value();
             }
 
@@ -2015,7 +2015,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
         return syncOp(new SyncOp<Boolean>(true) {
             @Override
-            public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), false, cached, ttl, filter).get().success();
             }
 
@@ -2046,7 +2046,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
         return ctx.wrapClone(asyncOp(new AsyncOp<V>(key) {
             @Override
-            public IgniteFuture<V> op(GridCacheTxLocalAdapter<K, V> tx) {
+            public IgniteFuture<V> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, F.t(key, val), true, entry, ttl, filter)
                     .chain((IgniteClosure<IgniteFuture<GridCacheReturn<V>>, V>)RET2VAL);
             }
@@ -2072,7 +2072,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
         return syncOp(new SyncOp<Boolean>(true) {
             @Override
-            public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, filter).get().success();
             }
 
@@ -2093,7 +2093,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         syncOp(new SyncInOp(drMap.size() == 1) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.putAllDrAsync(ctx, drMap).get();
             }
 
@@ -2114,7 +2114,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncInOp(drMap.keySet()) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllDrAsync(ctx, drMap);
             }
 
@@ -2134,7 +2134,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         syncOp(new SyncInOp(true) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.transformAllAsync(ctx, Collections.singletonMap(key, transformer), false, null, -1).get();
             }
 
@@ -2155,7 +2155,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return syncOp(new SyncOp<R>(true) {
-            @Override public R op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public R op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 IgniteFuture<GridCacheReturn<V>> ret = tx.transformAllAsync(ctx,
                     F.t(key, new GridCacheTransformComputeClosure<>(transformer)), true, null, -1);
 
@@ -2188,7 +2188,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncOp<Boolean>(key) {
-            @Override public IgniteFuture<Boolean> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<Boolean> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, F.t(key, val), false, entry, ttl, filter).chain(
                     (IgniteClosure<IgniteFuture<GridCacheReturn<V>>, Boolean>)RET2FLAG);
             }
@@ -2215,7 +2215,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncInOp(key) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.transformAllAsync(ctx, F.t(key, transformer), false, entry, ttl);
             }
 
@@ -2237,7 +2237,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) {
-            @Override public V op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public V op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.noPeekArray()).get().value();
             }
 
@@ -2259,7 +2259,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return ctx.wrapClone(asyncOp(new AsyncOp<V>(key) {
-            @Override public IgniteFuture<V> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<V> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.noPeekArray())
                     .chain((IgniteClosure<IgniteFuture<GridCacheReturn<V>>, V>)RET2VAL);
             }
@@ -2282,7 +2282,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return syncOp(new SyncOp<Boolean>(true) {
-            @Override public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.noPeekArray()).get().success();
             }
 
@@ -2304,7 +2304,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncOp<Boolean>(key) {
-            @Override public IgniteFuture<Boolean> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<Boolean> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.noPeekArray()).chain(
                     (IgniteClosure<IgniteFuture<GridCacheReturn<V>>, Boolean>)RET2FLAG);
             }
@@ -2328,7 +2328,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) {
-            @Override public V op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public V op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.hasPeekArray()).get().value();
             }
 
@@ -2350,7 +2350,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return ctx.wrapClone(asyncOp(new AsyncOp<V>(key) {
-            @Override public IgniteFuture<V> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<V> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, F.t(key, val), true, null, -1, ctx.hasPeekArray()).chain(
                     (IgniteClosure<IgniteFuture<GridCacheReturn<V>>, V>)RET2VAL);
             }
@@ -2373,7 +2373,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return syncOp(new SyncOp<Boolean>(true) {
-            @Override public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.hasPeekArray()).get().success();
             }
 
@@ -2395,7 +2395,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncOp<Boolean>(key) {
-            @Override public IgniteFuture<Boolean> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<Boolean> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, F.t(key, val), false, null, -1, ctx.hasPeekArray()).chain(
                     (IgniteClosure<IgniteFuture<GridCacheReturn<V>>, Boolean>)RET2FLAG);
             }
@@ -2420,7 +2420,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return syncOp(new SyncOp<Boolean>(true) {
-            @Override public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 // Register before hiding in the filter.
                 if (ctx.deploymentEnabled())
                     ctx.deploy().registerClass(oldVal);
@@ -2449,7 +2449,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncOp<Boolean>(key) {
-            @Override public IgniteFuture<Boolean> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<Boolean> op(IgniteTxLocalAdapter<K, V> tx) {
                 // Register before hiding in the filter.
                 if (ctx.deploymentEnabled()) {
                     try {
@@ -2484,7 +2484,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         syncOp(new SyncInOp(m.size() == 1) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.putAllAsync(ctx, m, false, null, -1, filter).get();
             }
 
@@ -2506,7 +2506,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         syncOp(new SyncInOp(m.size() == 1) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.transformAllAsync(ctx, m, false, null, -1).get();
             }
 
@@ -2544,7 +2544,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncInOp(m.keySet()) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.putAllAsync(ctx, m, false, null, -1, filter);
             }
 
@@ -2565,7 +2565,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncInOp(m.keySet()) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.transformAllAsync(ctx, m, false, null, -1);
             }
 
@@ -2606,7 +2606,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             validateCacheKey(key);
 
         return ctx.cloneOnFlag(syncOp(new SyncOp<V>(true) {
-            @Override public V op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public V op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 V ret = tx.removeAllAsync(ctx, Collections.singletonList(key), entry, true, filter).get().value();
 
                 if (ctx.config().getInterceptor() != null)
@@ -2637,7 +2637,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             validateCacheKey(key);
 
         return ctx.wrapClone(asyncOp(new AsyncOp<V>(key) {
-            @Override public IgniteFuture<V> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<V> op(IgniteTxLocalAdapter<K, V> tx) {
                 // TODO should we invoke interceptor here?
                 return tx.removeAllAsync(ctx, Collections.singletonList(key), null, true, filter)
                     .chain((IgniteClosure<IgniteFuture<GridCacheReturn<V>>, V>) RET2VAL);
@@ -2672,7 +2672,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         final Collection<K> pKeys0 = pKeys;
 
         syncOp(new SyncInOp(keys.size() == 1) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.removeAllAsync(ctx, pKeys0 != null ? pKeys0 : keys, null, false, filter).get();
             }
 
@@ -2694,7 +2694,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncInOp(keys) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.removeAllAsync(ctx, keys, null, false, filter);
             }
 
@@ -2721,7 +2721,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             validateCacheKey(key);
 
         return syncOp(new SyncOp<Boolean>(true) {
-            @Override public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 return tx.removeAllAsync(ctx, Collections.singletonList(key), entry, false, filter).get().success();
             }
 
@@ -2747,7 +2747,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             validateCacheKey(key);
 
         return asyncOp(new AsyncOp<Boolean>(key) {
-            @Override public IgniteFuture<Boolean> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<Boolean> op(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.removeAllAsync(ctx, Collections.singletonList(key), entry, false, filter).chain(
                     (IgniteClosure<IgniteFuture<GridCacheReturn<V>>, Boolean>)RET2FLAG);
             }
@@ -2768,7 +2768,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             validateCacheKey(key);
 
         return syncOp(new SyncOp<GridCacheReturn<V>>(true) {
-            @Override public GridCacheReturn<V> op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public GridCacheReturn<V> op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 // Register before hiding in the filter.
                 if (ctx.deploymentEnabled())
                     ctx.deploy().registerClass(val);
@@ -2793,7 +2793,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.dr().onReceiveCacheEntriesReceived(drMap.size());
 
         syncOp(new SyncInOp(false) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.removeAllDrAsync(ctx, drMap).get();
             }
 
@@ -2814,7 +2814,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.dr().onReceiveCacheEntriesReceived(drMap.size());
 
         return asyncOp(new AsyncInOp(drMap.keySet()) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.removeAllDrAsync(ctx, drMap);
             }
 
@@ -2834,7 +2834,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return syncOp(new SyncOp<GridCacheReturn<V>>(true) {
-            @Override public GridCacheReturn<V> op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public GridCacheReturn<V> op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 // Register before hiding in the filter.
                 if (ctx.deploymentEnabled())
                     ctx.deploy().registerClass(oldVal);
@@ -2858,7 +2858,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             validateCacheKey(key);
 
         return asyncOp(new AsyncOp<GridCacheReturn<V>>(key) {
-            @Override public IgniteFuture<GridCacheReturn<V>> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<GridCacheReturn<V>> op(IgniteTxLocalAdapter<K, V> tx) {
                 // Register before hiding in the filter.
                 try {
                     if (ctx.deploymentEnabled())
@@ -2888,7 +2888,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         ctx.denyOnLocalRead();
 
         return asyncOp(new AsyncOp<GridCacheReturn<V>>(key) {
-            @Override public IgniteFuture<GridCacheReturn<V>> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<GridCacheReturn<V>> op(IgniteTxLocalAdapter<K, V> tx) {
                 // Register before hiding in the filter.
                 try {
                     if (ctx.deploymentEnabled())
@@ -2919,7 +2919,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         validateCacheValue(val);
 
         return syncOp(new SyncOp<Boolean>(true) {
-            @Override public Boolean op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public Boolean op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 // Register before hiding in the filter.
                 if (ctx.deploymentEnabled())
                     ctx.deploy().registerClass(val);
@@ -2951,7 +2951,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         validateCacheValue(val);
 
         return asyncOp(new AsyncOp<Boolean>(key) {
-            @Override public IgniteFuture<Boolean> op(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<Boolean> op(IgniteTxLocalAdapter<K, V> tx) {
                 // Register before hiding in the filter.
                 if (ctx.deploymentEnabled()) {
                     try {
@@ -2994,7 +2994,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         final IgnitePredicate<GridCacheEntry<K, V>>[] p = filter;
 
         syncOp(new SyncInOp(false) {
-            @Override public void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+            @Override public void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
                 tx.removeAllAsync(ctx, keySet(p), null, false, null).get();
             }
 
@@ -3011,7 +3011,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         final Set<? extends K> keys = keySet(filter);
 
         return asyncOp(new AsyncInOp(keys) {
-            @Override public IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx) {
+            @Override public IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx) {
                 return tx.removeAllAsync(ctx, keys, null, false, null);
             }
 
@@ -3035,7 +3035,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
     /** {@inheritDoc} */
     @Nullable @Override public IgniteTx tx() {
-        GridCacheTxAdapter<K, V> tx = ctx.tm().threadLocalTx();
+        IgniteTxAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
         return tx == null ? null : new IgniteTxProxyImpl<>(tx, ctx.shared());
     }
@@ -3601,7 +3601,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
         awaitLastFut();
 
-        GridCacheTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
+        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
         if (tx == null || tx.implicit()) {
             TransactionsConfiguration tCfg = ctx.gridConfig().getTransactionsConfiguration();
@@ -3678,7 +3678,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         if (log.isDebugEnabled())
             log.debug("Performing async op: " + op);
 
-        GridCacheTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
+        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
         if (tx == null || tx.implicit()) {
             tx = ctx.tm().newTx(
@@ -3708,7 +3708,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
      * @return Future.
      */
     @SuppressWarnings("unchecked")
-    protected <T> IgniteFuture<T> asyncOp(GridCacheTxLocalAdapter<K, V> tx, final AsyncOp<T> op) {
+    protected <T> IgniteFuture<T> asyncOp(IgniteTxLocalAdapter<K, V> tx, final AsyncOp<T> op) {
         IgniteFuture<T> fail = asyncOpAcquire();
 
         if (fail != null)
@@ -3722,7 +3722,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
             IgniteFuture fut = holder.future();
 
             if (fut != null && !fut.isDone()) {
-                final GridCacheTxLocalAdapter<K, V> tx0 = tx;
+                final IgniteTxLocalAdapter<K, V> tx0 = tx;
 
                 IgniteFuture<T> f = new GridEmbeddedFuture<>(fut,
                     new C2<T, Exception, IgniteFuture<T>>() {
@@ -4505,7 +4505,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
          * @return Operation return value.
          * @throws IgniteCheckedException If failed.
          */
-        @Nullable public abstract T op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException;
+        @Nullable public abstract T op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException;
     }
 
     /**
@@ -4520,7 +4520,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public final Object op(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
+        @Nullable @Override public final Object op(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException {
             inOp(tx);
 
             return null;
@@ -4530,7 +4530,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
          * @param tx Transaction.
          * @throws IgniteCheckedException If failed.
          */
-        public abstract void inOp(GridCacheTxLocalAdapter<K, V> tx) throws IgniteCheckedException;
+        public abstract void inOp(IgniteTxLocalAdapter<K, V> tx) throws IgniteCheckedException;
     }
 
     /**
@@ -4579,7 +4579,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
          * @param tx Transaction.
          * @return Operation return value.
          */
-        public abstract IgniteFuture<T> op(GridCacheTxLocalAdapter<K, V> tx);
+        public abstract IgniteFuture<T> op(IgniteTxLocalAdapter<K, V> tx);
     }
 
     /**
@@ -4602,7 +4602,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
         /** {@inheritDoc} */
         @SuppressWarnings({"unchecked"})
-        @Override public final IgniteFuture<Object> op(GridCacheTxLocalAdapter<K, V> tx) {
+        @Override public final IgniteFuture<Object> op(IgniteTxLocalAdapter<K, V> tx) {
             return (IgniteFuture<Object>)inOp(tx);
         }
 
@@ -4610,7 +4610,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
          * @param tx Transaction.
          * @return Operation return value.
          */
-        public abstract IgniteFuture<?> inOp(GridCacheTxLocalAdapter<K, V> tx);
+        public abstract IgniteFuture<?> inOp(IgniteTxLocalAdapter<K, V> tx);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
index a15713e..dd55965 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheContext.java
@@ -32,6 +32,7 @@ import org.gridgain.grid.kernal.processors.cache.jta.*;
 import org.gridgain.grid.kernal.processors.cache.local.*;
 import org.gridgain.grid.kernal.processors.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.query.continuous.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.closure.*;
 import org.gridgain.grid.kernal.processors.offheap.*;
 import org.gridgain.grid.kernal.processors.portable.*;
@@ -527,8 +528,8 @@ public class GridCacheContext<K, V> implements Externalizable {
      * @param key Key to construct tx key for.
      * @return Transaction key.
      */
-    public GridCacheTxKey<K> txKey(K key) {
-        return new GridCacheTxKey<>(key, cacheId);
+    public IgniteTxKey<K> txKey(K key) {
+        return new IgniteTxKey<>(key, cacheId);
     }
 
     /**
@@ -762,7 +763,7 @@ public class GridCacheContext<K, V> implements Externalizable {
     /**
      * @return Cache transaction manager.
      */
-    public GridCacheTxManager<K, V> tm() {
+    public IgniteTxManager<K, V> tm() {
          return sharedCtx.tm();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryEx.java
index e94016f..01c1695 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryEx.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.gridgain.grid.util.lang.*;
 import org.jetbrains.annotations.*;
@@ -92,7 +93,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
     /**
      * @return Transaction key.
      */
-    public GridCacheTxKey<K> txKey();
+    public IgniteTxKey<K> txKey();
 
     /**
      * @return Value.
@@ -278,7 +279,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
      * @throws GridCacheEntryRemovedException If entry was removed.
      * @throws GridCacheFilterFailedException If filter failed.
      */
-    @Nullable public V innerGet(@Nullable GridCacheTxEx<K, V> tx,
+    @Nullable public V innerGet(@Nullable IgniteTxEx<K, V> tx,
         boolean readSwap,
         boolean readThrough,
         boolean failFast,
@@ -327,7 +328,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
      * @throws GridCacheEntryRemovedException If entry has been removed.
      */
     public GridCacheUpdateTxResult<V> innerSet(
-        @Nullable GridCacheTxEx<K, V> tx,
+        @Nullable IgniteTxEx<K, V> tx,
         UUID evtNodeId,
         UUID affNodeId,
         @Nullable V val,
@@ -366,7 +367,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
      * @throws GridCacheEntryRemovedException If entry has been removed.
      */
     public GridCacheUpdateTxResult<V> innerRemove(
-        @Nullable GridCacheTxEx<K, V> tx,
+        @Nullable IgniteTxEx<K, V> tx,
         UUID evtNodeId,
         UUID affNodeId,
         boolean writeThrough,
@@ -496,7 +497,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
      * @throws GridCacheEntryRemovedException If this entry is obsolete.
      * @throws GridDistributedLockCancelledException If lock has been cancelled.
      */
-    public boolean tmLock(GridCacheTxEx<K, V> tx, long timeout) throws GridCacheEntryRemovedException,
+    public boolean tmLock(IgniteTxEx<K, V> tx, long timeout) throws GridCacheEntryRemovedException,
         GridDistributedLockCancelledException;
 
     /**
@@ -505,7 +506,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
      * @param tx Cache transaction.
      * @throws GridCacheEntryRemovedException If this entry has been removed from cache.
      */
-    public abstract void txUnlock(GridCacheTxEx<K, V> tx) throws GridCacheEntryRemovedException;
+    public abstract void txUnlock(IgniteTxEx<K, V> tx) throws GridCacheEntryRemovedException;
 
     /**
      * @param ver Removes lock.
@@ -605,7 +606,7 @@ public interface GridCacheEntryEx<K, V> extends GridMetadataAware {
      */
     @SuppressWarnings({"RedundantTypeArguments"})
     @Nullable public GridTuple<V> peek0(boolean failFast, GridCachePeekMode mode,
-        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable GridCacheTxEx<K, V> tx)
+        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable IgniteTxEx<K, V> tx)
         throws GridCacheEntryRemovedException, GridCacheFilterFailedException, IgniteCheckedException;
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java
index bad8d2e..f7545b0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEntryImpl.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
@@ -268,7 +269,7 @@ public class GridCacheEntryImpl<K, V> implements GridCacheEntry<K, V>, Externali
      */
     @SuppressWarnings({"unchecked"})
     @Nullable private V peek0(@Nullable GridCachePeekMode mode,
-        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable GridCacheTxEx<K, V> tx)
+        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable IgniteTxEx<K, V> tx)
         throws IgniteCheckedException {
         assert tx == null || tx.local();
 
@@ -340,7 +341,7 @@ public class GridCacheEntryImpl<K, V> implements GridCacheEntry<K, V>, Externali
      * @throws IgniteCheckedException If failed.
      */
     @Nullable private V peek0(@Nullable Collection<GridCachePeekMode> modes,
-        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, GridCacheTxEx<K, V> tx) throws IgniteCheckedException {
+        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, IgniteTxEx<K, V> tx) throws IgniteCheckedException {
         if (F.isEmpty(modes))
             return peek0(SMART, filter, tx);
 
@@ -474,7 +475,7 @@ public class GridCacheEntryImpl<K, V> implements GridCacheEntry<K, V>, Externali
         this.ttl = ttl;
 
         // Make sure to update only user transaction.
-        GridCacheTxLocalAdapter<K, V> tx;
+        IgniteTxLocalAdapter<K, V> tx;
 
         if (ctx.isDht())
             tx = ctx.dht().near().context().tm().localTx();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java
index 1c3a386..04fe0a9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionEntry.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.lang.*;
@@ -143,7 +144,7 @@ public class GridCacheEvictionEntry<K, V> implements GridCacheEntry<K, V>, Exter
      */
     @SuppressWarnings({"unchecked"})
     @Nullable private V peek0(@Nullable GridCachePeekMode mode,
-        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable GridCacheTxEx<K, V> tx)
+        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable IgniteTxEx<K, V> tx)
         throws IgniteCheckedException {
         assert tx == null || tx.local();
 
@@ -175,7 +176,7 @@ public class GridCacheEvictionEntry<K, V> implements GridCacheEntry<K, V>, Exter
      * @throws IgniteCheckedException If failed.
      */
     @Nullable private V peek0(@Nullable Collection<GridCachePeekMode> modes,
-        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, GridCacheTxEx<K, V> tx) throws IgniteCheckedException {
+        @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter, IgniteTxEx<K, V> tx) throws IgniteCheckedException {
         if (F.isEmpty(modes))
             return peek0(SMART, filter, tx);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
index c61a037..01e938d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEvictionManager.java
@@ -20,6 +20,7 @@ import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.eventstorage.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
@@ -675,7 +676,7 @@ public class GridCacheEvictionManager<K, V> extends GridCacheManagerAdapter<K, V
     /**
      * @param txEntry Transactional entry.
      */
-    public void touch(GridCacheTxEntry<K, V> txEntry, boolean loc) {
+    public void touch(IgniteTxEntry<K, V> txEntry, boolean loc) {
         if (!plcEnabled && memoryMode != OFFHEAP_TIERED)
             return;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
index bdc8882..84c6eed 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
@@ -17,6 +17,7 @@ import org.gridgain.grid.kernal.managers.deployment.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.extras.*;
 import org.gridgain.grid.kernal.processors.cache.query.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.dr.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.lang.*;
@@ -681,13 +682,13 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
      * @throws IgniteCheckedException If failed.
      */
     @SuppressWarnings({"RedundantTypeArguments"})
-    @Nullable protected V readThrough(@Nullable GridCacheTxEx<K, V> tx, K key, boolean reload,
+    @Nullable protected V readThrough(@Nullable IgniteTxEx<K, V> tx, K key, boolean reload,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter, UUID subjId, String taskName) throws IgniteCheckedException {
         return cctx.store().loadFromStore(tx, key);
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public final V innerGet(@Nullable GridCacheTxEx<K, V> tx,
+    @Nullable @Override public final V innerGet(@Nullable IgniteTxEx<K, V> tx,
         boolean readSwap,
         boolean readThrough,
         boolean failFast,
@@ -718,7 +719,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @SuppressWarnings({"unchecked", "RedundantTypeArguments", "TooBroadScope"})
-    private V innerGet0(GridCacheTxEx<K, V> tx,
+    private V innerGet0(IgniteTxEx<K, V> tx,
         boolean readSwap,
         boolean readThrough,
         boolean evt,
@@ -911,7 +912,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
         boolean loadedFromStore = false;
 
         if (ret == null && readThrough) {
-            GridCacheTxEx tx0 = null;
+            IgniteTxEx tx0 = null;
 
             if (tx != null && tx.local()) {
                 if (cctx.isReplicated() || cctx.isColocated() || tx.near())
@@ -1093,7 +1094,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @Override public final GridCacheUpdateTxResult<V> innerSet(
-        @Nullable GridCacheTxEx<K, V> tx,
+        @Nullable IgniteTxEx<K, V> tx,
         UUID evtNodeId,
         UUID affNodeId,
         V val,
@@ -1235,7 +1236,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
 
     /** {@inheritDoc} */
     @Override public final GridCacheUpdateTxResult<V> innerRemove(
-        @Nullable GridCacheTxEx<K, V> tx,
+        @Nullable IgniteTxEx<K, V> tx,
         UUID evtNodeId,
         UUID affNodeId,
         boolean writeThrough,
@@ -2451,7 +2452,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxKey<K> txKey() {
+    @Override public IgniteTxKey<K> txKey() {
         return cctx.txKey(key);
     }
 
@@ -2563,7 +2564,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
      */
     @SuppressWarnings({"RedundantTypeArguments"})
     @Nullable @Override public GridTuple<V> peek0(boolean failFast, GridCachePeekMode mode,
-        IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable GridCacheTxEx<K, V> tx)
+        IgnitePredicate<GridCacheEntry<K, V>>[] filter, @Nullable IgniteTxEx<K, V> tx)
         throws GridCacheEntryRemovedException, GridCacheFilterFailedException, IgniteCheckedException {
         assert tx == null || tx.local();
 
@@ -2654,10 +2655,10 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
      * @throws GridCacheEntryRemovedException If entry is obsolete.
      * @throws IgniteCheckedException If entry was externally locked.
      */
-    private void groupLockSanityCheck(GridCacheTxEx<K, V> tx) throws GridCacheEntryRemovedException, IgniteCheckedException {
+    private void groupLockSanityCheck(IgniteTxEx<K, V> tx) throws GridCacheEntryRemovedException, IgniteCheckedException {
         assert tx.groupLock();
 
-        GridCacheTxEntry<K, V> txEntry = tx.entry(txKey());
+        IgniteTxEntry<K, V> txEntry = tx.entry(txKey());
 
         if (txEntry.groupLockEntry()) {
             if (lockedByAny())
@@ -2676,7 +2677,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
      * @throws IgniteCheckedException If unexpected cache failure occurred.
      */
     @Nullable private GridTuple<V> peekTxThenGlobal(boolean failFast, IgnitePredicate<GridCacheEntry<K, V>>[] filter,
-        GridCacheTxEx<K, V> tx) throws GridCacheFilterFailedException, GridCacheEntryRemovedException, IgniteCheckedException {
+        IgniteTxEx<K, V> tx) throws GridCacheFilterFailedException, GridCacheEntryRemovedException, IgniteCheckedException {
         GridTuple<V> peek = peekTx(failFast, filter, tx);
 
         // If transaction has value (possibly null, which means value is to be deleted).
@@ -2697,7 +2698,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
      */
     @Nullable private GridTuple<V> peekTx(boolean failFast,
         IgnitePredicate<GridCacheEntry<K, V>>[] filter,
-        @Nullable GridCacheTxEx<K, V> tx) throws GridCacheFilterFailedException {
+        @Nullable IgniteTxEx<K, V> tx) throws GridCacheFilterFailedException {
         return tx == null ? null : tx.peek(cctx, failFast, key, filter);
     }
 
@@ -3196,7 +3197,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
     /** {@inheritDoc} */
     @SuppressWarnings({"IfMayBeConditional"})
     @Override public long expireTime() throws GridCacheEntryRemovedException {
-        GridCacheTxLocalAdapter<K, V> tx;
+        IgniteTxLocalAdapter<K, V> tx;
 
         if (cctx.isDht())
             tx = cctx.dht().near().context().tm().localTx();
@@ -3282,7 +3283,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
     /** {@inheritDoc} */
     @SuppressWarnings({"IfMayBeConditional"})
     @Override public long ttl() throws GridCacheEntryRemovedException {
-        GridCacheTxLocalAdapter<K, V> tx;
+        IgniteTxLocalAdapter<K, V> tx;
 
         if (cctx.isDht())
             tx = cctx.dht().near().context().tm().localTx();
@@ -3655,7 +3656,7 @@ public abstract class GridCacheMapEntry<K, V> implements GridCacheEntryEx<K, V>
             return false;
         }
 
-        GridCacheTxEx<K, V> tx = cctx.tm().localTxx();
+        IgniteTxEx<K, V> tx = cctx.tm().localTxx();
 
         return tx == null || !tx.removed(txKey());
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMessage.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMessage.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMessage.java
index 71eac41..12e7329 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMessage.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMessage.java
@@ -15,6 +15,7 @@ import org.apache.ignite.marshaller.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.deployment.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -325,12 +326,12 @@ public abstract class GridCacheMessage<K, V> extends GridTcpCommunicationMessage
      * @param ctx Context.
      * @throws IgniteCheckedException If failed.
      */
-    protected final void marshalTx(Iterable<GridCacheTxEntry<K, V>> txEntries, GridCacheSharedContext<K, V> ctx)
+    protected final void marshalTx(Iterable<IgniteTxEntry<K, V>> txEntries, GridCacheSharedContext<K, V> ctx)
         throws IgniteCheckedException {
         assert ctx != null;
 
         if (txEntries != null) {
-            for (GridCacheTxEntry<K, V> e : txEntries) {
+            for (IgniteTxEntry<K, V> e : txEntries) {
                 e.marshal(ctx);
 
                 if (ctx.deploymentEnabled()) {
@@ -348,13 +349,13 @@ public abstract class GridCacheMessage<K, V> extends GridTcpCommunicationMessage
      * @param ldr Loader.
      * @throws IgniteCheckedException If failed.
      */
-    protected final void unmarshalTx(Iterable<GridCacheTxEntry<K, V>> txEntries, boolean near,
+    protected final void unmarshalTx(Iterable<IgniteTxEntry<K, V>> txEntries, boolean near,
         GridCacheSharedContext<K, V> ctx, ClassLoader ldr) throws IgniteCheckedException {
         assert ldr != null;
         assert ctx != null;
 
         if (txEntries != null) {
-            for (GridCacheTxEntry<K, V> e : txEntries)
+            for (IgniteTxEntry<K, V> e : txEntries)
                 e.unmarshal(ctx, near, ldr);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
index 9975b27..19a0a69 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -32,10 +33,10 @@ public final class GridCacheMultiTxFuture<K, V> extends GridFutureAdapter<Boolea
     private static final AtomicReference<IgniteLogger> logRef = new AtomicReference<>();
 
     /** Transactions to wait for. */
-    private final Set<GridCacheTxEx<K, V>> txs = new GridLeanSet<>();
+    private final Set<IgniteTxEx<K, V>> txs = new GridLeanSet<>();
 
     /** */
-    private Set<GridCacheTxEx<K, V>> remainingTxs;
+    private Set<IgniteTxEx<K, V>> remainingTxs;
 
     /** Logger. */
     private IgniteLogger log;
@@ -62,21 +63,21 @@ public final class GridCacheMultiTxFuture<K, V> extends GridFutureAdapter<Boolea
     /**
      * @return Transactions to wait for.
      */
-    public Set<GridCacheTxEx<K, V>> txs() {
+    public Set<IgniteTxEx<K, V>> txs() {
         return txs;
     }
 
     /**
      * @return Remaining transactions.
      */
-    public Set<GridCacheTxEx<K, V>> remainingTxs() {
+    public Set<IgniteTxEx<K, V>> remainingTxs() {
         return remainingTxs;
     }
 
     /**
      * @param tx Transaction to add.
      */
-    public void addTx(GridCacheTxEx<K, V> tx) {
+    public void addTx(IgniteTxEx<K, V> tx) {
         txs.add(tx);
     }
 
@@ -92,7 +93,7 @@ public final class GridCacheMultiTxFuture<K, V> extends GridFutureAdapter<Boolea
         else {
             remainingTxs = new GridConcurrentHashSet<>(txs);
 
-            for (final GridCacheTxEx<K, V> tx : txs) {
+            for (final IgniteTxEx<K, V> tx : txs) {
                 if (!tx.done()) {
                     tx.finishFuture().listenAsync(new CI1<IgniteFuture<IgniteTx>>() {
                         @Override public void apply(IgniteFuture<IgniteTx> t) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvcc.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvcc.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvcc.java
index 7445179..f0c085e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvcc.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvcc.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.tostring.*;
@@ -796,7 +797,7 @@ public final class GridCacheMvcc<K> {
                 // Only Near and DHT remote candidates should be released.
                 assert !rmt.nearLocal();
 
-                GridCacheTxEx tx = cctx.tm().tx(rmt.version());
+                IgniteTxEx tx = cctx.tm().tx(rmt.version());
 
                 if (tx != null) {
                     tx.systemInvalidate(true);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManager.java
index 93bf3fa..fddefcd 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManager.java
@@ -17,6 +17,7 @@ import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.managers.eventstorage.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;
@@ -60,11 +61,11 @@ public class GridCacheMvccManager<K, V> extends GridCacheSharedManagerAdapter<K,
 
     /** Locked keys. */
     @GridToStringExclude
-    private final ConcurrentMap<GridCacheTxKey<K>, GridDistributedCacheEntry<K, V>> locked = newMap();
+    private final ConcurrentMap<IgniteTxKey<K>, GridDistributedCacheEntry<K, V>> locked = newMap();
 
     /** Near locked keys. Need separate map because mvcc manager is shared between caches. */
     @GridToStringExclude
-    private final ConcurrentMap<GridCacheTxKey<K>, GridDistributedCacheEntry<K, V>> nearLocked = newMap();
+    private final ConcurrentMap<IgniteTxKey<K>, GridDistributedCacheEntry<K, V>> nearLocked = newMap();
 
     /** Active futures mapped by version ID. */
     @GridToStringExclude
@@ -1023,7 +1024,7 @@ public class GridCacheMvccManager<K, V> extends GridCacheSharedManagerAdapter<K,
 
         /** */
         @GridToStringInclude
-        private final Map<GridCacheTxKey<K>, Collection<GridCacheMvccCandidate<K>>> pendingLocks =
+        private final Map<IgniteTxKey<K>, Collection<GridCacheMvccCandidate<K>>> pendingLocks =
             new ConcurrentHashMap8<>();
 
         /**
@@ -1092,8 +1093,8 @@ public class GridCacheMvccManager<K, V> extends GridCacheSharedManagerAdapter<K,
          *
          */
         void recheck() {
-            for (Iterator<GridCacheTxKey<K>> it = pendingLocks.keySet().iterator(); it.hasNext(); ) {
-                GridCacheTxKey<K> key = it.next();
+            for (Iterator<IgniteTxKey<K>> it = pendingLocks.keySet().iterator(); it.hasNext(); ) {
+                IgniteTxKey<K> key = it.next();
 
                 GridCacheContext<K, V> cacheCtx = cctx.cacheContext(key.cacheId());
 
@@ -1155,11 +1156,11 @@ public class GridCacheMvccManager<K, V> extends GridCacheSharedManagerAdapter<K,
         /** {@inheritDoc} */
         @Override public String toString() {
             if (!pendingLocks.isEmpty()) {
-                Map<GridCacheVersion, GridCacheTxEx> txs = new HashMap<>(1, 1.0f);
+                Map<GridCacheVersion, IgniteTxEx> txs = new HashMap<>(1, 1.0f);
 
                 for (Collection<GridCacheMvccCandidate<K>> cands : pendingLocks.values())
                     for (GridCacheMvccCandidate<K> c : cands)
-                        txs.put(c.version(), cctx.tm().<GridCacheTxEx>tx(c.version()));
+                        txs.put(c.version(), cctx.tm().<IgniteTxEx>tx(c.version()));
 
                 return S.toString(FinishLockFuture.class, this, "txs=" + txs + ", super=" + super.toString());
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
index 3e3d7de..2a7c792 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
@@ -855,7 +855,7 @@ public class GridCacheProcessor extends GridProcessorAdapter {
      */
     @SuppressWarnings("unchecked")
     private GridCacheSharedContext createSharedContext(GridKernalContext kernalCtx) {
-        GridCacheTxManager tm = new GridCacheTxManager();
+        IgniteTxManager tm = new IgniteTxManager();
         GridCacheMvccManager mvccMgr = new GridCacheMvccManager();
         GridCacheVersionManager verMgr = new GridCacheVersionManager();
         GridCacheDeploymentManager depMgr = new GridCacheDeploymentManager();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index 7912b69..82fb86f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -42,7 +42,7 @@ public class GridCacheSharedContext<K, V> {
     private List<GridCacheSharedManager<K, V>> mgrs = new LinkedList<>();
 
     /** Cache transaction manager. */
-    private GridCacheTxManager<K, V> txMgr;
+    private IgniteTxManager<K, V> txMgr;
 
     /** Partition exchange manager. */
     private GridCachePartitionExchangeManager<K, V> exchMgr;
@@ -75,7 +75,7 @@ public class GridCacheSharedContext<K, V> {
      */
     public GridCacheSharedContext(
         GridKernalContext kernalCtx,
-        GridCacheTxManager<K, V> txMgr,
+        IgniteTxManager<K, V> txMgr,
         GridCacheVersionManager<K, V> verMgr,
         GridCacheMvccManager<K, V> mvccMgr,
         GridCacheDeploymentManager<K, V> depMgr,
@@ -232,7 +232,7 @@ public class GridCacheSharedContext<K, V> {
     /**
      * @return Cache transaction manager.
      */
-    public GridCacheTxManager<K, V> tm() {
+    public IgniteTxManager<K, V> tm() {
         return txMgr;
     }
 
@@ -392,7 +392,7 @@ public class GridCacheSharedContext<K, V> {
      * @param cacheCtx Cache context.
      * @return {@code True} if cross-cache transaction can include this new cache.
      */
-    public boolean txCompatible(GridCacheTxEx<K, V> tx, Iterable<Integer> activeCacheIds, GridCacheContext<K, V> cacheCtx) {
+    public boolean txCompatible(IgniteTxEx<K, V> tx, Iterable<Integer> activeCacheIds, GridCacheContext<K, V> cacheCtx) {
         if (cacheCtx.system() ^ tx.system())
             return false;
 
@@ -412,7 +412,7 @@ public class GridCacheSharedContext<K, V> {
      * @throws GridCacheFlagException If given flags are conflicting with given transaction.
      */
     public void checkTxFlags(@Nullable Collection<GridCacheFlag> flags) throws GridCacheFlagException {
-        GridCacheTxEx tx = tm().userTxx();
+        IgniteTxEx tx = tm().userTxx();
 
         if (tx == null || F.isEmpty(flags))
             return;
@@ -439,7 +439,7 @@ public class GridCacheSharedContext<K, V> {
      * @param tx Transaction to close.
      * @throws IgniteCheckedException If failed.
      */
-    public void endTx(GridCacheTxEx<K, V> tx) throws IgniteCheckedException {
+    public void endTx(IgniteTxEx<K, V> tx) throws IgniteCheckedException {
         Collection<Integer> cacheIds = tx.activeCacheIds();
 
         if (!cacheIds.isEmpty()) {
@@ -454,7 +454,7 @@ public class GridCacheSharedContext<K, V> {
      * @param tx Transaction to commit.
      * @return Commit future.
      */
-    public IgniteFuture<IgniteTx> commitTxAsync(GridCacheTxEx<K, V> tx) {
+    public IgniteFuture<IgniteTx> commitTxAsync(IgniteTxEx<K, V> tx) {
         Collection<Integer> cacheIds = tx.activeCacheIds();
 
         if (cacheIds.isEmpty())
@@ -476,7 +476,7 @@ public class GridCacheSharedContext<K, V> {
      * @param tx Transaction to rollback.
      * @throws IgniteCheckedException If failed.
      */
-    public void rollbackTx(GridCacheTxEx<K, V> tx) throws IgniteCheckedException {
+    public void rollbackTx(IgniteTxEx<K, V> tx) throws IgniteCheckedException {
         Collection<Integer> cacheIds = tx.activeCacheIds();
 
         if (!cacheIds.isEmpty()) {


[15/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index 85702a7..28c56ee 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -2971,8 +2971,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
                 setRollbackOnly();
 
                 if (commit && commitAfterLock())
-                    return rollbackAsync().chain(new C1<IgniteFuture<GridCacheTx>, T>() {
-                        @Override public T apply(IgniteFuture<GridCacheTx> f) {
+                    return rollbackAsync().chain(new C1<IgniteFuture<IgniteTx>, T>() {
+                        @Override public T apply(IgniteFuture<IgniteTx> f) {
                             throw new GridClosureException(e);
                         }
                     });
@@ -2988,8 +2988,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
                     ", tx=" + this + ']'));
 
                 if (commit && commitAfterLock())
-                    return rollbackAsync().chain(new C1<IgniteFuture<GridCacheTx>, T>() {
-                        @Override public T apply(IgniteFuture<GridCacheTx> f) {
+                    return rollbackAsync().chain(new C1<IgniteFuture<IgniteTx>, T>() {
+                        @Override public T apply(IgniteFuture<IgniteTx> f) {
                             throw ex;
                         }
                     });
@@ -3006,8 +3006,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
                 if (commit && commitAfterLock()) {
                     rollback = false;
 
-                    return commitAsync().chain(new CX1<IgniteFuture<GridCacheTx>, T>() {
-                        @Override public T applyx(IgniteFuture<GridCacheTx> f) throws IgniteCheckedException {
+                    return commitAsync().chain(new CX1<IgniteFuture<IgniteTx>, T>() {
+                        @Override public T applyx(IgniteFuture<IgniteTx> f) throws IgniteCheckedException {
                             f.get();
 
                             return r;
@@ -3021,8 +3021,8 @@ public abstract class GridCacheTxLocalAdapter<K, V> extends GridCacheTxAdapter<K
             }
             catch (final IgniteCheckedException ex) {
                 if (commit && commitAfterLock())
-                    return rollbackAsync().chain(new C1<IgniteFuture<GridCacheTx>, T>() {
-                        @Override public T apply(IgniteFuture<GridCacheTx> f) {
+                    return rollbackAsync().chain(new C1<IgniteFuture<IgniteTx>, T>() {
+                        @Override public T apply(IgniteFuture<IgniteTx> f) {
                             throw new GridClosureException(ex);
                         }
                     });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
index bf31af4..42f8364 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
@@ -505,10 +505,10 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
      * @return Future that will be completed when all ongoing transactions are finished.
      */
     public IgniteFuture<Boolean> finishTxs(long topVer) {
-        GridCompoundFuture<GridCacheTx, Boolean> res =
+        GridCompoundFuture<IgniteTx, Boolean> res =
             new GridCompoundFuture<>(context().kernalContext(),
-                new IgniteReducer<GridCacheTx, Boolean>() {
-                    @Override public boolean collect(GridCacheTx e) {
+                new IgniteReducer<IgniteTx, Boolean>() {
+                    @Override public boolean collect(IgniteTx e) {
                         return true;
                     }
 
@@ -660,7 +660,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     /**
      * @return User transaction for current thread.
      */
-    @Nullable public GridCacheTx userTx() {
+    @Nullable public IgniteTx userTx() {
         GridCacheTxEx<K, V> tx = txContext();
 
         if (tx != null && tx.user() && tx.state() == ACTIVE)
@@ -1680,7 +1680,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
      * @param newState New state.
      * @param tx Cache transaction.
      */
-    public void onTxStateChange(@Nullable GridCacheTxState prevState, GridCacheTxState newState, GridCacheTx tx) {
+    public void onTxStateChange(@Nullable GridCacheTxState prevState, GridCacheTxState newState, IgniteTx tx) {
         // Notify synchronizations.
         for (GridCacheTxSynchronization s : syncs)
             s.onStateChanged(prevState, newState, tx);
@@ -1981,8 +1981,8 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
 
             final GridCacheTxEx<K, V> tx0 = tx;
 
-            return tx.finishFuture().chain(new C1<IgniteFuture<GridCacheTx>, GridCacheCommittedTxInfo<K, V>>() {
-                @Override public GridCacheCommittedTxInfo<K, V> apply(IgniteFuture<GridCacheTx> txFut) {
+            return tx.finishFuture().chain(new C1<IgniteFuture<IgniteTx>, GridCacheCommittedTxInfo<K, V>>() {
+                @Override public GridCacheCommittedTxInfo<K, V> apply(IgniteFuture<IgniteTx> txFut) {
                     GridCacheCommittedTxInfo<K, V> info = null;
 
                     if (tx0.state() == COMMITTED)
@@ -2178,7 +2178,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
     /**
      * Commit listener. Checks if commit succeeded and rollbacks if case of error.
      */
-    private class CommitListener implements CI1<IgniteFuture<GridCacheTx>> {
+    private class CommitListener implements CI1<IgniteFuture<IgniteTx>> {
         /** */
         private static final long serialVersionUID = 0L;
 
@@ -2193,7 +2193,7 @@ public class GridCacheTxManager<K, V> extends GridCacheSharedManagerAdapter<K, V
         }
 
         /** {@inheritDoc} */
-        @Override public void apply(IgniteFuture<GridCacheTx> t) {
+        @Override public void apply(IgniteFuture<IgniteTx> t) {
             try {
                 t.get();
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
deleted file mode 100644
index fe7c15b..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.transactions.*;
-
-/**
- * Marker interface for transaction proxy.
- */
-public interface GridCacheTxProxy extends GridCacheTx {
-    // No-op.
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
deleted file mode 100644
index 07ce436..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.transactions.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.util.tostring.*;
-import org.gridgain.grid.util.typedef.internal.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.*;
-
-/**
- * Cache transaction proxy.
- */
-public class GridCacheTxProxyImpl<K, V> implements GridCacheTxProxy, Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Wrapped transaction. */
-    @GridToStringInclude
-    private GridCacheTxEx<K, V> tx;
-
-    /** Gateway. */
-    @GridToStringExclude
-    private GridCacheSharedContext<K, V> cctx;
-
-    /**
-     * Empty constructor required for {@link Externalizable}.
-     */
-    public GridCacheTxProxyImpl() {
-        // No-op.
-    }
-
-    /**
-     * @param tx Transaction.
-     */
-    public GridCacheTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
-        assert tx != null;
-        assert cctx != null;
-
-        this.tx = tx;
-        this.cctx = cctx;
-    }
-
-    /**
-     * Enters a call.
-     */
-    private void enter() {
-        if (cctx.deploymentEnabled())
-            cctx.deploy().onEnter();
-
-        try {
-            cctx.kernalContext().gateway().readLock();
-        }
-        catch (IllegalStateException e) {
-            throw e;
-        }
-        catch (RuntimeException | Error e) {
-            cctx.kernalContext().gateway().readUnlock();
-
-            throw e;
-        }
-    }
-
-    /**
-     * Leaves a call.
-     */
-    private void leave() {
-        try {
-            CU.unwindEvicts(cctx);
-        }
-        finally {
-            cctx.kernalContext().gateway().readUnlock();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteUuid xid() {
-        return tx.xid();
-    }
-
-    /** {@inheritDoc} */
-    @Override public UUID nodeId() {
-        return tx.nodeId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long threadId() {
-        return tx.threadId();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long startTime() {
-        return tx.startTime();
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheTxIsolation isolation() {
-        return tx.isolation();
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheTxConcurrency concurrency() {
-        return tx.concurrency();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isInvalidate() {
-        return tx.isInvalidate();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean implicit() {
-        return tx.implicit();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long timeout() {
-        return tx.timeout();
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheTxState state() {
-        return tx.state();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long timeout(long timeout) {
-        return tx.timeout(timeout);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean setRollbackOnly() {
-        enter();
-
-        try {
-            return tx.setRollbackOnly();
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isRollbackOnly() {
-        enter();
-
-        try {
-            return tx.isRollbackOnly();
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void commit() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.commitTxAsync(tx).get();
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void close() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.endTx(tx);
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTx> commitAsync() {
-        enter();
-
-        try {
-
-            return cctx.commitTxAsync(tx);
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void rollback() throws IgniteCheckedException {
-        enter();
-
-        try {
-            cctx.rollbackTx(tx);
-        }
-        finally {
-            leave();
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override public void copyMeta(GridMetadataAware from) {
-        tx.copyMeta(from);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void copyMeta(Map<String, ?> data) {
-        tx.copyMeta(data);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 addMeta(String name, V1 val) {
-        return tx.addMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
-        return tx.putMetaIfAbsent(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
-        return tx.putMetaIfAbsent(name, c);
-    }
-
-    /** {@inheritDoc} */
-    @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
-        return tx.addMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable Callable<V1> c) {
-        return tx.addMetaIfAbsent(name, c);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 meta(String name) {
-        return tx.<V1>meta(name);
-    }
-
-    /** {@inheritDoc} */
-    @SuppressWarnings({"RedundantTypeArguments"})
-    @Override public <V1> V1 removeMeta(String name) {
-        return tx.<V1>removeMeta(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean removeMeta(String name, V1 val) {
-        return tx.removeMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> Map<String, V1> allMeta() {
-        return tx.allMeta();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean hasMeta(String name) {
-        return tx.hasMeta(name);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean hasMeta(String name, V1 val) {
-        return tx.hasMeta(name, val);
-    }
-
-    /** {@inheritDoc} */
-    @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 newVal) {
-        return tx.replaceMeta(name, curVal, newVal);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeObject(tx);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        tx = (GridCacheTxAdapter<K, V>)in.readObject();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(GridCacheTxProxyImpl.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
index e081126..dbd7c0f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
@@ -155,8 +155,8 @@ public class GridCacheUtils {
     };
 
     /** Converts transaction to XID. */
-    private static final IgniteClosure<GridCacheTx, IgniteUuid> tx2xid = new C1<GridCacheTx, IgniteUuid>() {
-        @Override public IgniteUuid apply(GridCacheTx tx) {
+    private static final IgniteClosure<IgniteTx, IgniteUuid> tx2xid = new C1<IgniteTx, IgniteUuid>() {
+        @Override public IgniteUuid apply(IgniteTx tx) {
             return tx.xid();
         }
 
@@ -796,7 +796,7 @@ public class GridCacheUtils {
     /**
      * @return Closure which converts transaction to xid.
      */
-    public static IgniteClosure<GridCacheTx, IgniteUuid> tx2xid() {
+    public static IgniteClosure<IgniteTx, IgniteUuid> tx2xid() {
         return tx2xid;
     }
 
@@ -1198,7 +1198,7 @@ public class GridCacheUtils {
      * @param isolation Isolation.
      * @return New transaction.
      */
-    public static GridCacheTx txStartInternal(GridCacheContext ctx, GridCacheProjection prj,
+    public static IgniteTx txStartInternal(GridCacheContext ctx, GridCacheProjection prj,
         GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
         assert ctx != null;
         assert prj != null;
@@ -1212,7 +1212,7 @@ public class GridCacheUtils {
      * @param tx Transaction.
      * @return String view of all safe-to-print transaction properties.
      */
-    public static String txString(@Nullable GridCacheTx tx) {
+    public static String txString(@Nullable IgniteTx tx) {
         if (tx == null)
             return "null";
 
@@ -1615,7 +1615,7 @@ public class GridCacheUtils {
     public static <K, V> void inTx(GridCacheProjection<K, V> cache, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, IgniteInClosureX<GridCacheProjection<K ,V>> clo) throws IgniteCheckedException {
 
-        try (GridCacheTx tx = cache.txStart(concurrency, isolation)) {
+        try (IgniteTx tx = cache.txStart(concurrency, isolation)) {
             clo.applyx(cache);
 
             tx.commit();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
index 043f702..981bdca 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
@@ -378,7 +378,7 @@ public class GridCacheWriteBehindStore<K, V> implements GridCacheStore<K, V>, Li
 
     /** {@inheritDoc} */
     @SuppressWarnings({"NullableProblems"})
-    @Override public void loadAll(@Nullable GridCacheTx tx,
+    @Override public void loadAll(@Nullable IgniteTx tx,
         @Nullable Collection<? extends K> keys, IgniteBiInClosure<K, V> c) throws IgniteCheckedException {
         if (log.isDebugEnabled())
             log.debug("Store load all [keys=" + keys + ", tx=" + tx + ']');
@@ -421,7 +421,7 @@ public class GridCacheWriteBehindStore<K, V> implements GridCacheStore<K, V>, Li
     }
 
     /** {@inheritDoc} */
-    @Override public V load(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public V load(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         if (log.isDebugEnabled())
             log.debug("Store load [key=" + key + ", tx=" + tx + ']');
 
@@ -451,14 +451,14 @@ public class GridCacheWriteBehindStore<K, V> implements GridCacheStore<K, V>, Li
     }
 
     /** {@inheritDoc} */
-    @Override public void putAll(@Nullable GridCacheTx tx, @Nullable Map<? extends K, ? extends V> map)
+    @Override public void putAll(@Nullable IgniteTx tx, @Nullable Map<? extends K, ? extends V> map)
         throws IgniteCheckedException {
         for (Map.Entry<? extends K, ? extends V> e : map.entrySet())
             put(tx, e.getKey(), e.getValue());
     }
 
     /** {@inheritDoc} */
-    @Override public void put(@Nullable GridCacheTx tx, K key, V val) throws IgniteCheckedException {
+    @Override public void put(@Nullable IgniteTx tx, K key, V val) throws IgniteCheckedException {
         if (log.isDebugEnabled())
             log.debug("Store put [key=" + key + ", val=" + val + ", tx=" + tx + ']');
 
@@ -466,14 +466,14 @@ public class GridCacheWriteBehindStore<K, V> implements GridCacheStore<K, V>, Li
     }
 
     /** {@inheritDoc} */
-    @Override public void removeAll(@Nullable GridCacheTx tx, @Nullable Collection<? extends K> keys)
+    @Override public void removeAll(@Nullable IgniteTx tx, @Nullable Collection<? extends K> keys)
         throws IgniteCheckedException {
         for (K key : keys)
             remove(tx, key);
     }
 
     /** {@inheritDoc} */
-    @Override public void remove(@Nullable GridCacheTx tx, K key) throws IgniteCheckedException {
+    @Override public void remove(@Nullable IgniteTx tx, K key) throws IgniteCheckedException {
         if (log.isDebugEnabled())
             log.debug("Store remove [key=" + key + ", tx=" + tx + ']');
 
@@ -481,7 +481,7 @@ public class GridCacheWriteBehindStore<K, V> implements GridCacheStore<K, V>, Li
     }
 
     /** {@inheritDoc} */
-    @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+    @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
         // No-op.
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
new file mode 100644
index 0000000..19c8116
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxy.java
@@ -0,0 +1,19 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.transactions.*;
+
+/**
+ * Marker interface for transaction proxy.
+ */
+public interface IgniteTxProxy extends IgniteTx {
+    // No-op.
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
new file mode 100644
index 0000000..844bd44
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/IgniteTxProxyImpl.java
@@ -0,0 +1,303 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.*;
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.*;
+
+/**
+ * Cache transaction proxy.
+ */
+public class IgniteTxProxyImpl<K, V> implements IgniteTxProxy, Externalizable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** Wrapped transaction. */
+    @GridToStringInclude
+    private GridCacheTxEx<K, V> tx;
+
+    /** Gateway. */
+    @GridToStringExclude
+    private GridCacheSharedContext<K, V> cctx;
+
+    /**
+     * Empty constructor required for {@link Externalizable}.
+     */
+    public IgniteTxProxyImpl() {
+        // No-op.
+    }
+
+    /**
+     * @param tx Transaction.
+     */
+    public IgniteTxProxyImpl(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> cctx) {
+        assert tx != null;
+        assert cctx != null;
+
+        this.tx = tx;
+        this.cctx = cctx;
+    }
+
+    /**
+     * Enters a call.
+     */
+    private void enter() {
+        if (cctx.deploymentEnabled())
+            cctx.deploy().onEnter();
+
+        try {
+            cctx.kernalContext().gateway().readLock();
+        }
+        catch (IllegalStateException e) {
+            throw e;
+        }
+        catch (RuntimeException | Error e) {
+            cctx.kernalContext().gateway().readUnlock();
+
+            throw e;
+        }
+    }
+
+    /**
+     * Leaves a call.
+     */
+    private void leave() {
+        try {
+            CU.unwindEvicts(cctx);
+        }
+        finally {
+            cctx.kernalContext().gateway().readUnlock();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteUuid xid() {
+        return tx.xid();
+    }
+
+    /** {@inheritDoc} */
+    @Override public UUID nodeId() {
+        return tx.nodeId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long threadId() {
+        return tx.threadId();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long startTime() {
+        return tx.startTime();
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheTxIsolation isolation() {
+        return tx.isolation();
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheTxConcurrency concurrency() {
+        return tx.concurrency();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isInvalidate() {
+        return tx.isInvalidate();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean implicit() {
+        return tx.implicit();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long timeout() {
+        return tx.timeout();
+    }
+
+    /** {@inheritDoc} */
+    @Override public GridCacheTxState state() {
+        return tx.state();
+    }
+
+    /** {@inheritDoc} */
+    @Override public long timeout(long timeout) {
+        return tx.timeout(timeout);
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean setRollbackOnly() {
+        enter();
+
+        try {
+            return tx.setRollbackOnly();
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean isRollbackOnly() {
+        enter();
+
+        try {
+            return tx.isRollbackOnly();
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void commit() throws IgniteCheckedException {
+        enter();
+
+        try {
+            cctx.commitTxAsync(tx).get();
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void close() throws IgniteCheckedException {
+        enter();
+
+        try {
+            cctx.endTx(tx);
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public IgniteFuture<IgniteTx> commitAsync() {
+        enter();
+
+        try {
+
+            return cctx.commitTxAsync(tx);
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void rollback() throws IgniteCheckedException {
+        enter();
+
+        try {
+            cctx.rollbackTx(tx);
+        }
+        finally {
+            leave();
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override public void copyMeta(GridMetadataAware from) {
+        tx.copyMeta(from);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void copyMeta(Map<String, ?> data) {
+        tx.copyMeta(data);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 addMeta(String name, V1 val) {
+        return tx.addMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 putMetaIfAbsent(String name, V1 val) {
+        return tx.putMetaIfAbsent(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 putMetaIfAbsent(String name, Callable<V1> c) {
+        return tx.putMetaIfAbsent(name, c);
+    }
+
+    /** {@inheritDoc} */
+    @Nullable @Override public <V1> V1 addMetaIfAbsent(String name, V1 val) {
+        return tx.addMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> V1 addMetaIfAbsent(String name, @Nullable Callable<V1> c) {
+        return tx.addMetaIfAbsent(name, c);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Override public <V1> V1 meta(String name) {
+        return tx.<V1>meta(name);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"RedundantTypeArguments"})
+    @Override public <V1> V1 removeMeta(String name) {
+        return tx.<V1>removeMeta(name);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> boolean removeMeta(String name, V1 val) {
+        return tx.removeMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> Map<String, V1> allMeta() {
+        return tx.allMeta();
+    }
+
+    /** {@inheritDoc} */
+    @Override public boolean hasMeta(String name) {
+        return tx.hasMeta(name);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> boolean hasMeta(String name, V1 val) {
+        return tx.hasMeta(name, val);
+    }
+
+    /** {@inheritDoc} */
+    @Override public <V1> boolean replaceMeta(String name, V1 curVal, V1 newVal) {
+        return tx.replaceMeta(name, curVal, newVal);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeObject(tx);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        tx = (GridCacheTxAdapter<K, V>)in.readObject();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(IgniteTxProxyImpl.class, this);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
index d42ba00..10a2ad6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
@@ -73,7 +73,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     /** Callable for {@link #incrementAndGet()}. */
     private final Callable<Long> incAndGetCall = new Callable<Long>() {
         @Override public Long call() throws Exception {
-            GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 GridCacheAtomicLongValue val = atomicView.get(key);
@@ -104,7 +104,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     /** Callable for {@link #getAndIncrement()}. */
     private final Callable<Long> getAndIncCall = new Callable<Long>() {
         @Override public Long call() throws Exception {
-            GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 GridCacheAtomicLongValue val = atomicView.get(key);
@@ -135,7 +135,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     /** Callable for {@link #decrementAndGet()}. */
     private final Callable<Long> decAndGetCall = new Callable<Long>() {
         @Override public Long call() throws Exception {
-            GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 GridCacheAtomicLongValue val = atomicView.get(key);
@@ -166,7 +166,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     /** Callable for {@link #getAndDecrement()}. */
     private final Callable<Long> getAndDecCall = new Callable<Long>() {
         @Override public Long call() throws Exception {
-            GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 GridCacheAtomicLongValue val = atomicView.get(key);
@@ -331,7 +331,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     private Callable<Long> internalAddAndGet(final long l) {
         return new Callable<Long>() {
             @Override public Long call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicLongValue val = atomicView.get(key);
@@ -369,7 +369,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     private Callable<Long> internalGetAndAdd(final long l) {
         return new Callable<Long>() {
             @Override public Long call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicLongValue val = atomicView.get(key);
@@ -407,7 +407,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     private Callable<Long> internalGetAndSet(final long l) {
         return new Callable<Long>() {
             @Override public Long call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicLongValue val = atomicView.get(key);
@@ -447,7 +447,7 @@ public final class GridCacheAtomicLongImpl implements GridCacheAtomicLongEx, Ext
     private Callable<Boolean> internalCompareAndSet(final long expVal, final long newVal) {
         return new Callable<Boolean>() {
             @Override public Boolean call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicLongValue val = atomicView.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
index 908e28c..7d10060 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
@@ -186,7 +186,7 @@ public final class GridCacheAtomicReferenceImpl<T> implements GridCacheAtomicRef
         return new Callable<Boolean>() {
             @Override public Boolean call() throws Exception {
 
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicReferenceValue<T> ref = atomicView.get(key);
@@ -225,7 +225,7 @@ public final class GridCacheAtomicReferenceImpl<T> implements GridCacheAtomicRef
         final IgniteClosure<T, T> newValClos) {
         return new Callable<Boolean>() {
             @Override public Boolean call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicReferenceValue<T> ref = atomicView.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
index 80f7e09..ba25633 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
@@ -391,7 +391,7 @@ public final class GridCacheAtomicSequenceImpl implements GridCacheAtomicSequenc
     private Callable<Long> internalUpdate(final long l, final boolean updated) {
         return new Callable<Long>() {
             @Override public Long call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, seqView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, seqView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicSequenceValue seq = seqView.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
index e4a0b55..51aaf45 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
@@ -212,7 +212,7 @@ public final class GridCacheAtomicStampedImpl<T, S> implements GridCacheAtomicSt
         return new Callable<Boolean>() {
             @Override public Boolean call() throws Exception {
 
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicStampedValue<T, S> stmp = atomicView.get(key);
@@ -254,7 +254,7 @@ public final class GridCacheAtomicStampedImpl<T, S> implements GridCacheAtomicSt
         final IgniteClosure<S, S> newStampClos) {
         return new Callable<Boolean>() {
             @Override public Boolean call() throws Exception {
-                GridCacheTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = CU.txStartInternal(ctx, atomicView, PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridCacheAtomicStampedValue<T, S> stmp = atomicView.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
index 559bdbe..579b11c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
@@ -211,7 +211,7 @@ public final class GridCacheCountDownLatchImpl implements GridCacheCountDownLatc
                 internalLatch = CU.outTx(
                     new Callable<CountDownLatch>() {
                         @Override public CountDownLatch call() throws Exception {
-                            GridCacheTx tx = CU.txStartInternal(ctx, latchView, PESSIMISTIC, REPEATABLE_READ);
+                            IgniteTx tx = CU.txStartInternal(ctx, latchView, PESSIMISTIC, REPEATABLE_READ);
 
                             try {
                                 GridCacheCountDownLatchValue val = latchView.get(key);
@@ -310,7 +310,7 @@ public final class GridCacheCountDownLatchImpl implements GridCacheCountDownLatc
 
         /** {@inheritDoc} */
         @Override public Integer call() throws Exception {
-            GridCacheTx tx = CU.txStartInternal(ctx, latchView, PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = CU.txStartInternal(ctx, latchView, PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 GridCacheCountDownLatchValue latchVal = latchView.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
index 3066811..8878f37 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
@@ -190,7 +190,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
             return CU.outTx(new Callable<GridCacheAtomicSequence>() {
                 @Override
                 public GridCacheAtomicSequence call() throws Exception {
-                    try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                         GridCacheAtomicSequenceValue seqVal = cast(dsView.get(key),
                             GridCacheAtomicSequenceValue.class);
 
@@ -308,7 +308,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
             return CU.outTx(new Callable<GridCacheAtomicLong>() {
                 @Override
                 public GridCacheAtomicLong call() throws Exception {
-                    try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                         GridCacheAtomicLongValue val = cast(dsView.get(key),
                             GridCacheAtomicLongValue.class);
 
@@ -404,7 +404,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
             return CU.outTx(new Callable<GridCacheAtomicReference<T>>() {
                 @Override
                 public GridCacheAtomicReference<T> call() throws Exception {
-                    try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                         GridCacheAtomicReferenceValue val = cast(dsView.get(key),
                             GridCacheAtomicReferenceValue.class);
 
@@ -503,7 +503,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
             return CU.outTx(new Callable<GridCacheAtomicStamped<T, S>>() {
                 @Override
                 public GridCacheAtomicStamped<T, S> call() throws Exception {
-                    try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                         GridCacheAtomicStampedValue val = cast(dsView.get(key),
                             GridCacheAtomicStampedValue.class);
 
@@ -774,7 +774,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
 
             return CU.outTx(new Callable<GridCacheCountDownLatch>() {
                     @Override public GridCacheCountDownLatch call() throws Exception {
-                        try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                        try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                             GridCacheCountDownLatchValue val = cast(dsView.get(key),
                                 GridCacheCountDownLatchValue.class);
 
@@ -838,7 +838,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
                     @Override public Boolean call() throws Exception {
                         GridCacheInternal key = new GridCacheInternalKeyImpl(name);
 
-                        try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                        try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                             // Check correctness type of removable object.
                             GridCacheCountDownLatchValue val =
                                 cast(dsView.get(key), GridCacheCountDownLatchValue.class);
@@ -885,7 +885,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
         return CU.outTx(
             new Callable<Boolean>() {
                 @Override public Boolean call() throws Exception {
-                    try (GridCacheTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = CU.txStartInternal(cctx, dsView, PESSIMISTIC, REPEATABLE_READ)) {
                         // Check correctness type of removable object.
                         R val = cast(dsView.get(key), cls);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
index ef64d31..98720b2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
@@ -47,7 +47,7 @@ public class GridTransactionalCacheQueueImpl<T> extends GridCacheQueueAdapter<T>
 
             while (true) {
                 try {
-                    try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                    try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                         Long idx = (Long)cache.transformAndCompute(queueKey, new AddClosure(id, 1));
 
                         if (idx != null) {
@@ -97,7 +97,7 @@ public class GridTransactionalCacheQueueImpl<T> extends GridCacheQueueAdapter<T>
             T retVal;
 
             while (true) {
-                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                     Long idx = (Long)cache.transformAndCompute(queueKey, new PollClosure(id));
 
                     if (idx != null) {
@@ -146,7 +146,7 @@ public class GridTransactionalCacheQueueImpl<T> extends GridCacheQueueAdapter<T>
             int cnt = 0;
 
             while (true) {
-                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                     Long idx = (Long)cache.transformAndCompute(queueKey, new AddClosure(id, items.size()));
 
                     if (idx != null) {
@@ -199,7 +199,7 @@ public class GridTransactionalCacheQueueImpl<T> extends GridCacheQueueAdapter<T>
             int cnt = 0;
 
             while (true) {
-                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                     Long idx = (Long)cache.transformAndCompute(queueKey, new RemoveClosure(id, rmvIdx));
 
                     if (idx != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index 248b4a0..bc8688c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -728,11 +728,11 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTx> commitAsync() {
+    @Override public IgniteFuture<IgniteTx> commitAsync() {
         try {
             commit();
 
-            return new GridFinishedFutureEx<GridCacheTx>(this);
+            return new GridFinishedFutureEx<IgniteTx>(this);
         }
         catch (IgniteCheckedException e) {
             return new GridFinishedFutureEx<>(e);
@@ -759,10 +759,10 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTx> rollbackAsync() {
+    @Override public IgniteFuture<IgniteTx> rollbackAsync() {
         rollback();
 
-        return new GridFinishedFutureEx<GridCacheTx>(this);
+        return new GridFinishedFutureEx<IgniteTx>(this);
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index fee6d0a..1c9d367 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -828,8 +828,8 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
                                             assert t.implicit();
 
                                             return t.commitAsync().chain(
-                                                new C1<IgniteFuture<GridCacheTx>, GridNearLockResponse<K, V>>() {
-                                                    @Override public GridNearLockResponse<K, V> apply(IgniteFuture<GridCacheTx> f) {
+                                                new C1<IgniteFuture<IgniteTx>, GridNearLockResponse<K, V>>() {
+                                                    @Override public GridNearLockResponse<K, V> apply(IgniteFuture<IgniteTx> f) {
                                                         try {
                                                             // Check for error.
                                                             f.get();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index 2f1c971..33c116c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -31,8 +31,8 @@ import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 /**
  *
  */
-public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFuture<GridCacheTx>
-    implements GridCacheFuture<GridCacheTx> {
+public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFuture<IgniteTx>
+    implements GridCacheFuture<IgniteTx> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -81,7 +81,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
      * @param commit Commit flag.
      */
     public GridDhtTxFinishFuture(GridCacheSharedContext<K, V> cctx, GridDhtTxLocalAdapter<K, V> tx, boolean commit) {
-        super(cctx.kernalContext(), F.<GridCacheTx>identityReducer(tx));
+        super(cctx.kernalContext(), F.<IgniteTx>identityReducer(tx));
 
         assert cctx != null;
 
@@ -189,7 +189,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
      */
     public void onResult(UUID nodeId, GridDhtTxFinishResponse<K, V> res) {
         if (!isDone()) {
-            for (IgniteFuture<GridCacheTx> fut : futures()) {
+            for (IgniteFuture<IgniteTx> fut : futures()) {
                 if (isMini(fut)) {
                     MiniFuture f = (MiniFuture)fut;
 
@@ -204,7 +204,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
     }
 
     /** {@inheritDoc} */
-    @Override public boolean onDone(GridCacheTx tx, Throwable err) {
+    @Override public boolean onDone(IgniteTx tx, Throwable err) {
         if (initialized() || err != null) {
             if (this.tx.onePhaseCommit() && (this.tx.state() == COMMITTING))
                 this.tx.tmCommit();
@@ -413,7 +413,7 @@ public final class GridDhtTxFinishFuture<K, V> extends GridCompoundIdentityFutur
      * Mini-future for get operations. Mini-futures are only waiting on a single
      * node as opposed to multiple nodes.
      */
-    private class MiniFuture extends GridFutureAdapter<GridCacheTx> {
+    private class MiniFuture extends GridFutureAdapter<IgniteTx> {
         /** */
         private static final long serialVersionUID = 0L;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
index 1a0d840..b3f5d38 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -439,7 +439,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
 
     /** {@inheritDoc} */
     @SuppressWarnings({"ThrowableInstanceNeverThrown"})
-    @Override public IgniteFuture<GridCacheTx> commitAsync() {
+    @Override public IgniteFuture<IgniteTx> commitAsync() {
         if (log.isDebugEnabled())
             log.debug("Committing dht local tx: " + this);
 
@@ -534,7 +534,7 @@ public class GridDhtTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> implements
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTx> rollbackAsync() {
+    @Override public IgniteFuture<IgniteTx> rollbackAsync() {
         GridDhtTxPrepareFuture<K, V> prepFut = this.prepFut.get();
 
         final GridDhtTxFinishFuture<K, V> fut = new GridDhtTxFinishFuture<>(cctx, this, /*rollback*/false);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index 1a3aba0..5b4b637 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -33,8 +33,8 @@ import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 /**
  *
  */
-public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFuture<GridCacheTx>
-    implements GridCacheFuture<GridCacheTx> {
+public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFuture<IgniteTx>
+    implements GridCacheFuture<IgniteTx> {
     /** */
     private static final long serialVersionUID = 0L;
 
@@ -79,7 +79,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
      * @param commit Commit flag.
      */
     public GridNearTxFinishFuture(GridCacheSharedContext<K, V> cctx, GridNearTxLocal<K, V> tx, boolean commit) {
-        super(cctx.kernalContext(), F.<GridCacheTx>identityReducer(tx));
+        super(cctx.kernalContext(), F.<IgniteTx>identityReducer(tx));
 
         assert cctx != null;
 
@@ -188,7 +188,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
      */
     public void onResult(UUID nodeId, GridNearTxFinishResponse<K, V> res) {
         if (!isDone())
-            for (IgniteFuture<GridCacheTx> fut : futures()) {
+            for (IgniteFuture<IgniteTx> fut : futures()) {
                 if (isMini(fut)) {
                     MiniFuture f = (MiniFuture)fut;
 
@@ -202,7 +202,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
     }
 
     /** {@inheritDoc} */
-    @Override public boolean onDone(GridCacheTx tx, Throwable err) {
+    @Override public boolean onDone(IgniteTx tx, Throwable err) {
         if ((initialized() || err != null)) {
             if (this.tx.onePhaseCommit() && (this.tx.state() == COMMITTING))
                 this.tx.tmCommit();
@@ -271,7 +271,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
             // Finish local mapping only as we need send commit message to backups.
             for (GridDistributedTxMapping<K, V> m : mappings.values()) {
                 if (m.node().isLocal()) {
-                    IgniteFuture<GridCacheTx> fut = cctx.tm().txHandler().finishColocatedLocal(commit, tx);
+                    IgniteFuture<IgniteTx> fut = cctx.tm().txHandler().finishColocatedLocal(commit, tx);
 
                     // Add new future.
                     if (fut != null)
@@ -358,7 +358,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
         if (n.isLocal()) {
             req.miniId(IgniteUuid.randomUuid());
 
-            IgniteFuture<GridCacheTx> fut = cctx.tm().txHandler().finish(n.id(), tx, req);
+            IgniteFuture<IgniteTx> fut = cctx.tm().txHandler().finish(n.id(), tx, req);
 
             // Add new future.
             if (fut != null)
@@ -403,7 +403,7 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
      * Mini-future for get operations. Mini-futures are only waiting on a single
      * node as opposed to multiple nodes.
      */
-    private class MiniFuture extends GridFutureAdapter<GridCacheTx> {
+    private class MiniFuture extends GridFutureAdapter<IgniteTx> {
         /** */
         private static final long serialVersionUID = 0L;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index b178649..24c7feb 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -734,7 +734,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
 
     /** {@inheritDoc} */
     @SuppressWarnings({"ThrowableInstanceNeverThrown"})
-    @Override public IgniteFuture<GridCacheTx> commitAsync() {
+    @Override public IgniteFuture<IgniteTx> commitAsync() {
         if (log.isDebugEnabled())
             log.debug("Committing near local tx: " + this);
 
@@ -780,7 +780,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTx> rollbackAsync() {
+    @Override public IgniteFuture<IgniteTx> rollbackAsync() {
         if (log.isDebugEnabled())
             log.debug("Rolling back near tx: " + this);
 
@@ -928,7 +928,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
      *
      * @return Commit future.
      */
-    public IgniteFuture<GridCacheTx> commitAsyncLocal() {
+    public IgniteFuture<IgniteTx> commitAsyncLocal() {
         if (log.isDebugEnabled())
             log.debug("Committing colocated tx locally: " + this);
 
@@ -941,9 +941,9 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
         // Do not create finish future if there are no remote nodes.
         if (F.isEmpty(dhtMap) && F.isEmpty(nearMap)) {
             if (prep != null)
-                return (IgniteFuture<GridCacheTx>)(IgniteFuture)prep;
+                return (IgniteFuture<IgniteTx>)(IgniteFuture)prep;
 
-            return new GridFinishedFuture<GridCacheTx>(cctx.kernalContext(), this);
+            return new GridFinishedFuture<IgniteTx>(cctx.kernalContext(), this);
         }
 
         final GridDhtTxFinishFuture<K, V> fut = new GridDhtTxFinishFuture<>(cctx, this, /*commit*/true);
@@ -1001,7 +1001,7 @@ public class GridNearTxLocal<K, V> extends GridDhtTxLocalAdapter<K, V> {
      *
      * @return Commit future.
      */
-    public IgniteFuture<GridCacheTx> rollbackAsyncLocal() {
+    public IgniteFuture<IgniteTx> rollbackAsyncLocal() {
         if (log.isDebugEnabled())
             log.debug("Rolling back colocated tx locally: " + this);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
index 6356034..c049af8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
@@ -142,7 +142,7 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
 
     /** {@inheritDoc} */
     @SuppressWarnings( {"unchecked", "RedundantCast"})
-    @Override public IgniteFuture<GridCacheTx> commitAsync() {
+    @Override public IgniteFuture<IgniteTx> commitAsync() {
         try {
             prepare();
         }
@@ -172,7 +172,7 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
         rollbackAsync().get();
     }
 
-    @Override public IgniteFuture<GridCacheTx> rollbackAsync() {
+    @Override public IgniteFuture<IgniteTx> rollbackAsync() {
         try {
             state(ROLLING_BACK);
 
@@ -180,7 +180,7 @@ class GridLocalTx<K, V> extends GridCacheTxLocalAdapter<K, V> {
 
             state(ROLLED_BACK);
 
-            return new GridFinishedFuture<GridCacheTx>(cctx.kernalContext(), this);
+            return new GridFinishedFuture<IgniteTx>(cctx.kernalContext(), this);
         }
         catch (IgniteCheckedException e) {
             return new GridFinishedFuture<>(cctx.kernalContext(), e);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index 7ce1e11..084f196 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -39,7 +39,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart() throws IllegalStateException {
+    @Override public IgniteTx txStart() throws IllegalStateException {
         TransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
 
         return txStart0(
@@ -52,7 +52,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
@@ -68,7 +68,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStart(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
         long timeout, int txSize) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
@@ -84,7 +84,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         );
     }
 
-    @Override public GridCacheTx txStartSystem(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    @Override public IgniteTx txStartSystem(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
         long timeout, int txSize) {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
@@ -108,7 +108,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
      * @param sys System flag.
      * @return Transaction.
      */
-    private GridCacheTx txStart0(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
+    private IgniteTx txStart0(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
         long timeout, int txSize, boolean sys) {
         TransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
 
@@ -139,12 +139,12 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         assert tx != null;
 
         // Wrap into proxy.
-        return new GridCacheTxProxyImpl<>(tx, cctx);
+        return new IgniteTxProxyImpl<>(tx, cctx);
 
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartAffinity(String cacheName, Object affinityKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheAdapter<Object, Object> cache = cctx.kernalContext().cache().internalCache(cacheName);
 
@@ -156,7 +156,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
+    @Override public IgniteTx txStartPartition(String cacheName, int partId, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, long timeout, int txSize) throws IllegalStateException, IgniteCheckedException {
         GridCacheAdapter<Object, Object> cache = cctx.kernalContext().cache().internalCache(cacheName);
 
@@ -185,10 +185,10 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
      * @throws IgniteCheckedException In case of error.
      */
     @SuppressWarnings("unchecked")
-    private GridCacheTx txStartGroupLock(GridCacheContext ctx, Object grpLockKey, GridCacheTxConcurrency concurrency,
+    private IgniteTx txStartGroupLock(GridCacheContext ctx, Object grpLockKey, GridCacheTxConcurrency concurrency,
         GridCacheTxIsolation isolation, boolean partLock, long timeout, int txSize, boolean sys)
         throws IllegalStateException, IgniteCheckedException {
-        GridCacheTx tx = cctx.tm().userTx();
+        IgniteTx tx = cctx.tm().userTx();
 
         if (tx != null)
             throw new IllegalStateException("Failed to start new transaction " +
@@ -225,11 +225,11 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         }
 
         // Wrap into proxy.
-        return new GridCacheTxProxyImpl<>(tx0, cctx);
+        return new IgniteTxProxyImpl<>(tx0, cctx);
     }
 
     /** {@inheritDoc} */
-    @Nullable @Override public GridCacheTx tx() {
+    @Nullable @Override public IgniteTx tx() {
         return cctx.tm().userTx();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
index 421f24e..e07a7e5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
@@ -264,7 +264,7 @@ public class GridDataLoadCacheUpdaters {
                 Integer part = e.getKey();
                 int cnt = e.getValue();
 
-                GridCacheTx tx = cache.txStartPartition(part, PESSIMISTIC, REPEATABLE_READ, 0, cnt);
+                IgniteTx tx = cache.txStartPartition(part, PESSIMISTIC, REPEATABLE_READ, 0, cnt);
 
                 try {
                     updateAll(cache, rmvPartMap == null ? null : rmvPartMap.get(part),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
index ddbeae2..946e39e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
@@ -677,7 +677,7 @@ public class GridGgfsDataManager extends GridGgfsManager {
                         // Need to check if block is partially written.
                         // If so, must update it in pessimistic transaction.
                         if (block.length != fileInfo.blockSize()) {
-                            try (GridCacheTx tx = dataCachePrj.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                            try (IgniteTx tx = dataCachePrj.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                                 Map<GridGgfsBlockKey, byte[]> vals = dataCachePrj.getAll(F.asList(colocatedKey, key));
 
                                 byte[] val = vals.get(colocatedKey);
@@ -1117,7 +1117,7 @@ public class GridGgfsDataManager extends GridGgfsManager {
         GridGgfsBlockKey key = new GridGgfsBlockKey(colocatedKey.getFileId(), null,
             colocatedKey.evictExclude(), colocatedKey.getBlockId());
 
-        GridCacheTx tx = dataCachePrj.txStart(PESSIMISTIC, REPEATABLE_READ);
+        IgniteTx tx = dataCachePrj.txStart(PESSIMISTIC, REPEATABLE_READ);
 
         try {
             // Lock keys.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
index 0e2f286..da7832c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
@@ -399,7 +399,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
                 assert validTxState(false);
                 assert fileId != null;
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     // Lock file ID for this transaction.
@@ -482,7 +482,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
 
                 IgniteUuid fileId = info.id();
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     // Lock file ID for this transaction.
@@ -683,7 +683,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
 
                 IgniteUuid res = null;
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     res = putIfAbsentNonTx(parentId, fileName, newFileInfo);
@@ -772,7 +772,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
             try {
                 assert validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     moveNonTx(fileId, srcFileName, srcParentId, destFileName, destParentId);
@@ -892,7 +892,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
             try {
                 assert validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     if (parentId != null)
@@ -1006,7 +1006,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
             try {
                 assert validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     if (parentId == null)
@@ -1127,7 +1127,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
                 assert listing != null;
                 assert validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     Collection<IgniteUuid> res = new HashSet<>();
@@ -1212,7 +1212,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
             try {
                 assert validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     boolean res = false;
@@ -1385,7 +1385,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
             try {
                 assert validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     GridGgfsFileInfo info = updatePropertiesNonTx(parentId, fileId, fileName, props);
@@ -1455,7 +1455,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
                 if (log.isDebugEnabled())
                     log.debug("Update file info [fileId=" + fileId + ", c=" + c + ']');
 
-                GridCacheTx tx = metaCache.isLockedByThread(fileId) ? null : metaCache.txStart(PESSIMISTIC,
+                IgniteTx tx = metaCache.isLockedByThread(fileId) ? null : metaCache.txStart(PESSIMISTIC,
                     REPEATABLE_READ);
 
                 try {
@@ -1518,7 +1518,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
             try {
                 validTxState(false);
 
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     Object prev = val != null ? metaCache.put(sampling, val) : metaCache.remove(sampling);
@@ -2352,7 +2352,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
                 pathIds.add(fileIds(path));
 
             // Start pessimistic.
-            GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+            IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
             try {
                 // Lock the very first existing parents and possibly the leaf as well.
@@ -2574,7 +2574,7 @@ public class GridGgfsMetaManager extends GridGgfsManager {
                 assert validTxState(false);
 
                 // Start pessimistic transaction.
-                GridCacheTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
+                IgniteTx tx = metaCache.txStart(PESSIMISTIC, REPEATABLE_READ);
 
                 try {
                     Map<IgniteUuid, GridGgfsFileInfo> infoMap = lockIds(fileId, parentId);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
index b897b93..c05097c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
@@ -456,7 +456,7 @@ public class GridCacheCommandHandler extends GridRestCommandHandlerAdapter {
 
         return ctx.closure().callLocalSafe(new Callable<Object>() {
             @Override public Object call() throws Exception {
-                try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+                try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                     Object curVal = cache.get(key);
 
                     if (curVal == null)

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
index 39215f8..a78d063 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
@@ -620,7 +620,7 @@ public class GridServiceProcessor extends GridProcessorAdapter {
         Object affKey = cfg.getAffinityKey();
 
         while (true) {
-            try (GridCacheTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            try (IgniteTx tx = cache.txStart(PESSIMISTIC, REPEATABLE_READ)) {
                 GridServiceAssignmentsKey key = new GridServiceAssignmentsKey(cfg.getName());
 
                 GridServiceAssignments oldAssigns = (GridServiceAssignments)cache.get(key);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3008d2ad/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
index a0eeae1..8239278 100644
--- a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
@@ -120,7 +120,7 @@ public class GridCacheBalancingStoreSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Nullable @Override public Integer load(@Nullable GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Nullable @Override public Integer load(@Nullable IgniteTx tx, Integer key) throws IgniteCheckedException {
             boolean res = locks[key].tryLock();
 
             if (res) {
@@ -144,7 +144,7 @@ public class GridCacheBalancingStoreSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void loadAll(@Nullable GridCacheTx tx, Collection<? extends Integer> keys,
+        @Override public void loadAll(@Nullable IgniteTx tx, Collection<? extends Integer> keys,
             IgniteBiInClosure<Integer, Integer> c) throws IgniteCheckedException {
             for (Integer key : keys) {
                 boolean res = locks[key].tryLock();
@@ -163,29 +163,29 @@ public class GridCacheBalancingStoreSelfTest extends GridCommonAbstractTest {
         }
 
         /** {@inheritDoc} */
-        @Override public void put(@Nullable GridCacheTx tx, Integer key, Integer val) throws IgniteCheckedException {
+        @Override public void put(@Nullable IgniteTx tx, Integer key, Integer val) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void putAll(@Nullable GridCacheTx tx, Map<? extends Integer, ? extends Integer> map)
+        @Override public void putAll(@Nullable IgniteTx tx, Map<? extends Integer, ? extends Integer> map)
             throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void remove(@Nullable GridCacheTx tx, Integer key) throws IgniteCheckedException {
+        @Override public void remove(@Nullable IgniteTx tx, Integer key) throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void removeAll(@Nullable GridCacheTx tx, Collection<? extends Integer> keys)
+        @Override public void removeAll(@Nullable IgniteTx tx, Collection<? extends Integer> keys)
             throws IgniteCheckedException {
             // No-op.
         }
 
         /** {@inheritDoc} */
-        @Override public void txEnd(GridCacheTx tx, boolean commit) throws IgniteCheckedException {
+        @Override public void txEnd(IgniteTx tx, boolean commit) throws IgniteCheckedException {
             // No-op.
         }
     }


[34/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMap.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMap.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMap.java
deleted file mode 100644
index 9cd1872..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxMap.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import org.apache.ignite.lang.*;
-import org.gridgain.grid.util.*;
-import org.gridgain.grid.util.typedef.*;
-import org.jetbrains.annotations.*;
-
-import java.io.*;
-import java.util.*;
-
-/**
- * Grid cache transaction read or write set.
- */
-public class GridCacheTxMap<K, V> extends AbstractMap<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> implements Externalizable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** Base transaction map. */
-    private Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> txMap;
-
-    /** Entry set. */
-    private Set<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>> entrySet;
-
-    /** Cached size. */
-    private int size = -1;
-
-    /** Empty flag. */
-    private Boolean empty;
-
-    /** Sealed flag. */
-    private boolean sealed;
-
-    /** Filter. */
-    private IgnitePredicate<GridCacheTxEntry<K, V>> filter;
-
-    /**
-     * Empty constructor required for {@link Externalizable}.
-     */
-    public GridCacheTxMap() {
-        // No-op.
-    }
-
-    /**
-     * @param txMap Transaction map.
-     * @param filter Filter.
-     */
-    public GridCacheTxMap(Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> txMap,
-        IgnitePredicate<GridCacheTxEntry<K, V>> filter) {
-        this.txMap = txMap;
-        this.filter = filter;
-    }
-
-    /**
-     * Seals this map.
-     *
-     * @return This map for chaining.
-     */
-    GridCacheTxMap<K, V> seal() {
-        sealed = true;
-
-        return this;
-    }
-
-    /**
-     * @return Sealed flag.
-     */
-    boolean sealed() {
-        return sealed;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Set<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>> entrySet() {
-        if (entrySet == null) {
-            entrySet = new GridSerializableSet<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>>() {
-                private Set<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>> set = txMap.entrySet();
-
-                @Override public Iterator<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>> iterator() {
-                    return new GridSerializableIterator<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>>() {
-                        private Iterator<Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>>> it = set.iterator();
-
-                        private Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> cur;
-
-                        // Constructor.
-                        {
-                            advance();
-                        }
-
-                        @Override public boolean hasNext() {
-                            return cur != null;
-                        }
-
-                        @Override public Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> next() {
-                            if (cur == null)
-                                throw new NoSuchElementException();
-
-                            Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> e = cur;
-
-                            advance();
-
-                            return e;
-                        }
-
-                        @Override public void remove() {
-                            throw new UnsupportedOperationException();
-                        }
-
-                        private void advance() {
-                            cur = null;
-
-                            while (cur == null && it.hasNext()) {
-                                Entry<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> e = it.next();
-
-                                if (filter.apply(e.getValue()))
-                                    cur = e;
-                            }
-                        }
-                    };
-                }
-
-                @Override public int size() {
-                    return !sealed ? F.size(iterator()) : size == -1 ? size = F.size(iterator()) : size;
-                }
-
-                @Override public boolean isEmpty() {
-                    return !sealed ? !iterator().hasNext() : empty == null ? empty = !iterator().hasNext() : empty;
-                }
-            };
-        }
-
-        return entrySet;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isEmpty() {
-        return entrySet().isEmpty();
-    }
-
-    /** {@inheritDoc} */
-    @Override public int size() {
-        return entrySet().size();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean containsKey(Object key) {
-        return get(key) != null;
-    }
-
-    /** {@inheritDoc} */
-    @Nullable
-    @Override public GridCacheTxEntry<K, V> get(Object key) {
-        GridCacheTxEntry<K, V> e = txMap.get(key);
-
-        return e == null ? null : filter.apply(e) ? e : null;
-    }
-
-    /** {@inheritDoc} */
-    @Override public GridCacheTxEntry<K, V> remove(Object key) {
-        throw new UnsupportedOperationException();
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        throw new IllegalStateException("Transaction view map should never be serialized: " + this);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        throw new IllegalStateException("Transaction view map should never be serialized: " + this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxRemoteEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxRemoteEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxRemoteEx.java
deleted file mode 100644
index deb4a78..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxRemoteEx.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.kernal.processors.cache;
-
-import java.util.*;
-
-/**
- * Local transaction API.
- */
-public interface GridCacheTxRemoteEx<K, V> extends GridCacheTxEx<K, V> {
-    /**
-     * @return Remote thread ID.
-     */
-    public long remoteThreadId();
-
-    /**
-     * @param baseVer Base version.
-     * @param committedVers Committed version.
-     * @param rolledbackVers Rolled back version.
-     * @param pendingVers Pending versions.
-     */
-    public void doneRemote(GridCacheVersion baseVer, Collection<GridCacheVersion> committedVers,
-        Collection<GridCacheVersion> rolledbackVers, Collection<GridCacheVersion> pendingVers);
-
-    /**
-     * @param e Sets write value for pessimistic transactions.
-     * @return {@code True} if entry was found.
-     */
-    public boolean setWriteValue(GridCacheTxEntry<K, V> e);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
index e29da86..3ee6d87 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
@@ -18,6 +18,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.typedef.*;
@@ -105,7 +106,7 @@ public class GridCacheUtils {
     /** Read filter. */
     private static final IgnitePredicate READ_FILTER = new P1<Object>() {
         @Override public boolean apply(Object e) {
-            return ((GridCacheTxEntry)e).op() == READ;
+            return ((IgniteTxEntry)e).op() == READ;
         }
 
         @Override public String toString() {
@@ -116,7 +117,7 @@ public class GridCacheUtils {
     /** Write filter. */
     private static final IgnitePredicate WRITE_FILTER = new P1<Object>() {
         @Override public boolean apply(Object e) {
-            return ((GridCacheTxEntry)e).op() != READ;
+            return ((IgniteTxEntry)e).op() != READ;
         }
 
         @Override public String toString() {
@@ -125,15 +126,15 @@ public class GridCacheUtils {
     };
 
     /** Transfer required predicate. */
-    private static final IgnitePredicate TRANSFER_REQUIRED_PREDICATE = new P1<GridCacheTxEntry>() {
-        @Override public boolean apply(GridCacheTxEntry e) {
+    private static final IgnitePredicate TRANSFER_REQUIRED_PREDICATE = new P1<IgniteTxEntry>() {
+        @Override public boolean apply(IgniteTxEntry e) {
             return e.transferRequired();
         }
     };
 
     /** Transaction entry to key. */
-    private static final IgniteClosure tx2key = new C1<GridCacheTxEntry, Object>() {
-        @Override public Object apply(GridCacheTxEntry e) {
+    private static final IgniteClosure tx2key = new C1<IgniteTxEntry, Object>() {
+        @Override public Object apply(IgniteTxEntry e) {
             return e.key();
         }
 
@@ -143,9 +144,9 @@ public class GridCacheUtils {
     };
 
     /** Transaction entry to key. */
-    private static final IgniteClosure txCol2key = new C1<Collection<GridCacheTxEntry>, Collection<Object>>() {
+    private static final IgniteClosure txCol2key = new C1<Collection<IgniteTxEntry>, Collection<Object>>() {
         @SuppressWarnings( {"unchecked"})
-        @Override public Collection<Object> apply(Collection<GridCacheTxEntry> e) {
+        @Override public Collection<Object> apply(Collection<IgniteTxEntry> e) {
             return F.viewReadOnly(e, tx2key);
         }
 
@@ -166,8 +167,8 @@ public class GridCacheUtils {
     };
 
     /** Converts transaction to XID version. */
-    private static final IgniteClosure tx2xidVer = new C1<GridCacheTxEx, GridCacheVersion>() {
-        @Override public GridCacheVersion apply(GridCacheTxEx tx) {
+    private static final IgniteClosure tx2xidVer = new C1<IgniteTxEx, GridCacheVersion>() {
+        @Override public GridCacheVersion apply(IgniteTxEx tx) {
             return tx.xidVersion();
         }
 
@@ -177,15 +178,15 @@ public class GridCacheUtils {
     };
 
     /** Converts tx entry to entry. */
-    private static final IgniteClosure tx2entry = new C1<GridCacheTxEntry, GridCacheEntryEx>() {
-        @Override public GridCacheEntryEx apply(GridCacheTxEntry e) {
+    private static final IgniteClosure tx2entry = new C1<IgniteTxEntry, GridCacheEntryEx>() {
+        @Override public GridCacheEntryEx apply(IgniteTxEntry e) {
             return e.cached();
         }
     };
 
     /** Transaction entry to key bytes. */
-    private static final IgniteClosure tx2keyBytes = new C1<GridCacheTxEntry, byte[]>() {
-        @Nullable @Override public byte[] apply(GridCacheTxEntry e) {
+    private static final IgniteClosure tx2keyBytes = new C1<IgniteTxEntry, byte[]>() {
+        @Nullable @Override public byte[] apply(IgniteTxEntry e) {
             return e.keyBytes();
         }
 
@@ -757,40 +758,40 @@ public class GridCacheUtils {
      * @return Closure that converts tx entry to key.
      */
     @SuppressWarnings({"unchecked"})
-    public static <K, V> IgniteClosure<GridCacheTxEntry<K, V>, K> tx2key() {
-        return (IgniteClosure<GridCacheTxEntry<K, V>, K>)tx2key;
+    public static <K, V> IgniteClosure<IgniteTxEntry<K, V>, K> tx2key() {
+        return (IgniteClosure<IgniteTxEntry<K, V>, K>)tx2key;
     }
 
     /**
      * @return Closure that converts tx entry collection to key collection.
      */
     @SuppressWarnings({"unchecked"})
-    public static <K, V> IgniteClosure<Collection<GridCacheTxEntry<K, V>>, Collection<K>> txCol2Key() {
-        return (IgniteClosure<Collection<GridCacheTxEntry<K, V>>, Collection<K>>)txCol2key;
+    public static <K, V> IgniteClosure<Collection<IgniteTxEntry<K, V>>, Collection<K>> txCol2Key() {
+        return (IgniteClosure<Collection<IgniteTxEntry<K, V>>, Collection<K>>)txCol2key;
     }
 
     /**
      * @return Closure that converts tx entry to key.
      */
     @SuppressWarnings({"unchecked"})
-    public static <K, V> IgniteClosure<GridCacheTxEntry<K, V>, byte[]> tx2keyBytes() {
-        return (IgniteClosure<GridCacheTxEntry<K, V>, byte[]>)tx2keyBytes;
+    public static <K, V> IgniteClosure<IgniteTxEntry<K, V>, byte[]> tx2keyBytes() {
+        return (IgniteClosure<IgniteTxEntry<K, V>, byte[]>)tx2keyBytes;
     }
 
     /**
      * @return Converts transaction entry to cache entry.
      */
     @SuppressWarnings( {"unchecked"})
-    public static <K, V> IgniteClosure<GridCacheTxEntry<K, V>, GridCacheEntryEx<K, V>> tx2entry() {
-        return (IgniteClosure<GridCacheTxEntry<K, V>, GridCacheEntryEx<K, V>>)tx2entry;
+    public static <K, V> IgniteClosure<IgniteTxEntry<K, V>, GridCacheEntryEx<K, V>> tx2entry() {
+        return (IgniteClosure<IgniteTxEntry<K, V>, GridCacheEntryEx<K, V>>)tx2entry;
     }
 
     /**
      * @return Closure which converts transaction entry xid to XID version.
      */
     @SuppressWarnings( {"unchecked"})
-    public static <K, V> IgniteClosure<GridCacheTxEx<K, V>, GridCacheVersion> tx2xidVersion() {
-        return (IgniteClosure<GridCacheTxEx<K, V>, GridCacheVersion>)tx2xidVer;
+    public static <K, V> IgniteClosure<IgniteTxEx<K, V>, GridCacheVersion> tx2xidVersion() {
+        return (IgniteClosure<IgniteTxEx<K, V>, GridCacheVersion>)tx2xidVer;
     }
 
     /**
@@ -820,7 +821,7 @@ public class GridCacheUtils {
      * @return Filter for transaction reads.
      */
     @SuppressWarnings({"unchecked"})
-    public static <K, V> IgnitePredicate<GridCacheTxEntry<K, V>> reads() {
+    public static <K, V> IgnitePredicate<IgniteTxEntry<K, V>> reads() {
         return READ_FILTER;
     }
 
@@ -828,7 +829,7 @@ public class GridCacheUtils {
      * @return Filter for transaction writes.
      */
     @SuppressWarnings({"unchecked"})
-    public static <K, V> IgnitePredicate<GridCacheTxEntry<K, V>> writes() {
+    public static <K, V> IgnitePredicate<IgniteTxEntry<K, V>> writes() {
         return WRITE_FILTER;
     }
 
@@ -836,7 +837,7 @@ public class GridCacheUtils {
      * @return Transfer required predicate.
      */
     @SuppressWarnings("unchecked")
-    public static <K, V> IgnitePredicate<GridCacheTxEntry<K, V>> transferRequired() {
+    public static <K, V> IgnitePredicate<IgniteTxEntry<K, V>> transferRequired() {
         return TRANSFER_REQUIRED_PREDICATE;
     }
 
@@ -1628,7 +1629,7 @@ public class GridCacheUtils {
      * @param tx Transaction.
      * @return Subject ID.
      */
-    public static <K, V> UUID subjectId(GridCacheTxEx<K, V> tx, GridCacheSharedContext<K, V> ctx) {
+    public static <K, V> UUID subjectId(IgniteTxEx<K, V> tx, GridCacheSharedContext<K, V> ctx) {
         if (tx == null)
             return ctx.localNodeId();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
index b121039..b4fc6d2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
@@ -19,6 +19,7 @@ import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.query.continuous.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.task.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
@@ -915,7 +916,7 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
      *
      * @param tx Committed transaction.
      */
-    public void onTxCommitted(GridCacheTxEx<K, V> tx) {
+    public void onTxCommitted(IgniteTxEx<K, V> tx) {
         if (!cctx.isDht() && tx.internal() && (!cctx.isColocated() || cctx.isReplicated())) {
             try {
                 waitInitialization();
@@ -926,12 +927,12 @@ public final class GridCacheDataStructuresManager<K, V> extends GridCacheManager
                 return;
             }
 
-            Collection<GridCacheTxEntry<K, V>> entries = tx.writeEntries();
+            Collection<IgniteTxEntry<K, V>> entries = tx.writeEntries();
 
             if (log.isDebugEnabled())
                 log.debug("Committed entries: " + entries);
 
-            for (GridCacheTxEntry<K, V> entry : entries) {
+            for (IgniteTxEntry<K, V> entry : entries) {
                 // Check updated or created GridCacheInternalKey keys.
                 if ((entry.op() == CREATE || entry.op() == UPDATE) && entry.key() instanceof GridCacheInternalKey) {
                     GridCacheInternal key = (GridCacheInternal)entry.key();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheCommittedTxInfo.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheCommittedTxInfo.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheCommittedTxInfo.java
index ec71041..3691fe5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheCommittedTxInfo.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheCommittedTxInfo.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.tostring.*;
 
@@ -32,7 +33,7 @@ public class GridCacheCommittedTxInfo<K, V> implements Externalizable {
 
     /** Recovery writes, i.e. values that have never been sent to remote nodes. */
     @GridToStringInclude
-    private Collection<GridCacheTxEntry<K, V>> recoveryWrites;
+    private Collection<IgniteTxEntry<K, V>> recoveryWrites;
 
     /**
      * Empty constructor required by {@link Externalizable}.
@@ -44,7 +45,7 @@ public class GridCacheCommittedTxInfo<K, V> implements Externalizable {
     /**
      * @param tx Committed cache transaction.
      */
-    public GridCacheCommittedTxInfo(GridCacheTxEx<K, V> tx) {
+    public GridCacheCommittedTxInfo(IgniteTxEx<K, V> tx) {
         assert !tx.local() || !tx.replicated();
 
         originatingTxId = tx.nearXidVersion();
@@ -72,8 +73,8 @@ public class GridCacheCommittedTxInfo<K, V> implements Externalizable {
     /**
      * @return Collection of recovery writes.
      */
-    public Collection<GridCacheTxEntry<K, V>> recoveryWrites() {
-        return recoveryWrites == null ? Collections.<GridCacheTxEntry<K, V>>emptyList() : recoveryWrites;
+    public Collection<IgniteTxEntry<K, V>> recoveryWrites() {
+        return recoveryWrites == null ? Collections.<IgniteTxEntry<K, V>>emptyList() : recoveryWrites;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxFuture.java
index bedefa9..9232338 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxFuture.java
@@ -12,8 +12,8 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -45,7 +45,7 @@ public class GridCacheOptimisticCheckPreparedTxFuture<K, V> extends GridCompound
     private final IgniteUuid futId = IgniteUuid.randomUuid();
 
     /** Transaction. */
-    private final GridCacheTxEx<K, V> tx;
+    private final IgniteTxEx<K, V> tx;
 
     /** All involved nodes. */
     private final Map<UUID, ClusterNode> nodes;
@@ -66,7 +66,7 @@ public class GridCacheOptimisticCheckPreparedTxFuture<K, V> extends GridCompound
      * @param txNodes Transaction mapping.
      */
     @SuppressWarnings("ConstantConditions")
-    public GridCacheOptimisticCheckPreparedTxFuture(GridCacheSharedContext<K, V> cctx, GridCacheTxEx<K, V> tx,
+    public GridCacheOptimisticCheckPreparedTxFuture(GridCacheSharedContext<K, V> cctx, IgniteTxEx<K, V> tx,
         UUID failedNodeId, Map<UUID, Collection<UUID>> txNodes) {
         super(cctx.kernalContext(), CU.boolReducer());
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxRequest.java
index 693f1ff..014dba5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxRequest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
@@ -50,7 +51,7 @@ public class GridCacheOptimisticCheckPreparedTxRequest<K, V> extends GridDistrib
      * @param futId Future ID.
      * @param miniId Mini future ID.
      */
-    public GridCacheOptimisticCheckPreparedTxRequest(GridCacheTxEx<K, V> tx, int txNum, IgniteUuid futId, IgniteUuid miniId) {
+    public GridCacheOptimisticCheckPreparedTxRequest(IgniteTxEx<K, V> tx, int txNum, IgniteUuid futId, IgniteUuid miniId) {
         super(tx.xidVersion(), 0);
 
         nearXidVer = tx.nearXidVersion();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePerThreadTxCommitBuffer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePerThreadTxCommitBuffer.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePerThreadTxCommitBuffer.java
index c7284b3..7fcb6c9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePerThreadTxCommitBuffer.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePerThreadTxCommitBuffer.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -48,7 +49,7 @@ public class GridCachePerThreadTxCommitBuffer<K, V> implements GridCacheTxCommit
     }
 
     /** {@inheritDoc} */
-    @Override public void addCommittedTx(GridCacheTxEx<K, V> tx) {
+    @Override public void addCommittedTx(IgniteTxEx<K, V> tx) {
         long threadId = tx.threadId();
 
         StoreKey key = new StoreKey(tx.eventNodeId(), threadId);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxFuture.java
index 1e31fdf..201289c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxFuture.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -42,7 +43,7 @@ public class GridCachePessimisticCheckCommittedTxFuture<K, V> extends GridCompou
     private final IgniteUuid futId = IgniteUuid.randomUuid();
 
     /** Transaction. */
-    private final GridCacheTxEx<K, V> tx;
+    private final IgniteTxEx<K, V> tx;
 
     /** All involved nodes. */
     private final Map<UUID, ClusterNode> nodes;
@@ -59,7 +60,7 @@ public class GridCachePessimisticCheckCommittedTxFuture<K, V> extends GridCompou
      * @param failedNodeId ID of failed node started transaction.
      */
     @SuppressWarnings("ConstantConditions")
-    public GridCachePessimisticCheckCommittedTxFuture(GridCacheSharedContext<K, V> cctx, GridCacheTxEx<K, V> tx,
+    public GridCachePessimisticCheckCommittedTxFuture(GridCacheSharedContext<K, V> cctx, IgniteTxEx<K, V> tx,
         UUID failedNodeId) {
         super(cctx.kernalContext(), new SingleReducer<K, V>());
 
@@ -83,8 +84,8 @@ public class GridCachePessimisticCheckCommittedTxFuture<K, V> extends GridCompou
         // Check local node first (local node can be a backup node for some part of this transaction).
         long originatingThreadId = tx.threadId();
 
-        if (tx instanceof GridCacheTxRemoteEx)
-            originatingThreadId = ((GridCacheTxRemoteEx)tx).remoteThreadId();
+        if (tx instanceof IgniteTxRemoteEx)
+            originatingThreadId = ((IgniteTxRemoteEx)tx).remoteThreadId();
 
         GridCacheCommittedTxInfo<K, V> txInfo = cctx.tm().txCommitted(tx.nearXidVersion(), tx.eventNodeId(),
             originatingThreadId);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxRequest.java
index b7f8c2a..b19dec8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCachePessimisticCheckCommittedTxRequest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.typedef.internal.*;
 
@@ -58,7 +59,7 @@ public class GridCachePessimisticCheckCommittedTxRequest<K, V> extends GridDistr
      * @param originatingThreadId Originating thread ID.
      * @param futId Future ID.
      */
-    public GridCachePessimisticCheckCommittedTxRequest(GridCacheTxEx<K, V> tx, long originatingThreadId, IgniteUuid futId,
+    public GridCachePessimisticCheckCommittedTxRequest(IgniteTxEx<K, V> tx, long originatingThreadId, IgniteUuid futId,
         boolean nearOnlyCheck) {
         super(tx.xidVersion(), 0);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxCommitBuffer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxCommitBuffer.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxCommitBuffer.java
index 7317c25..daa8553 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxCommitBuffer.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheTxCommitBuffer.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.jetbrains.annotations.*;
 
 import java.util.*;
@@ -23,7 +24,7 @@ public interface GridCacheTxCommitBuffer<K, V> {
      *
      * @param tx Committed transaction.
      */
-    public void addCommittedTx(GridCacheTxEx<K, V> tx);
+    public void addCommittedTx(IgniteTxEx<K, V> tx);
 
     /**
      * Gets transaction from commit buffer.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
index 778f1d6..e19fe92 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
@@ -13,6 +13,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
 
@@ -53,7 +54,7 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter
     @Override public IgniteFuture<Boolean> txLockAsync(
         Collection<? extends K> keys,
         long timeout,
-        GridCacheTxLocalEx<K, V> tx,
+        IgniteTxLocalEx<K, V> tx,
         boolean isRead,
         boolean retval,
         IgniteTxIsolation isolation,
@@ -68,7 +69,7 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter
     /** {@inheritDoc} */
     @Override public IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
         IgnitePredicate<GridCacheEntry<K, V>>... filter) {
-        GridCacheTxLocalEx<K, V> tx = ctx.tm().userTxx();
+        IgniteTxLocalEx<K, V> tx = ctx.tm().userTxx();
 
         // Return value flag is true because we choose to bring values for explicit locks.
         return lockAllAsync(keys, timeout, tx, false, false, /*retval*/true, null, filter);
@@ -86,7 +87,7 @@ public abstract class GridDistributedCacheAdapter<K, V> extends GridCacheAdapter
      * @return Future for locks.
      */
     protected abstract IgniteFuture<Boolean> lockAllAsync(Collection<? extends K> keys, long timeout,
-        @Nullable GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
+        @Nullable IgniteTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval,
         @Nullable IgniteTxIsolation isolation, IgnitePredicate<GridCacheEntry<K, V>>[] filter);
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheEntry.java
index edab40b..05d99ec 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheEntry.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;
@@ -711,7 +712,7 @@ public class GridDistributedCacheEntry<K, V> extends GridCacheMapEntry<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public boolean tmLock(GridCacheTxEx<K, V> tx, long timeout)
+    @Override public boolean tmLock(IgniteTxEx<K, V> tx, long timeout)
         throws GridCacheEntryRemovedException, GridDistributedLockCancelledException {
         if (tx.local())
             // Null is returned if timeout is negative and there is other lock owner.
@@ -746,7 +747,7 @@ public class GridDistributedCacheEntry<K, V> extends GridCacheMapEntry<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public void txUnlock(GridCacheTxEx<K, V> tx) throws GridCacheEntryRemovedException {
+    @Override public void txUnlock(IgniteTxEx<K, V> tx) throws GridCacheEntryRemovedException {
         removeLock(tx.xidVersion());
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
index 512798e..749eff0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -67,7 +68,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
     /** Write entries. */
     @GridToStringInclude
     @GridDirectTransient
-    private List<GridCacheTxEntry<K, V>> writeEntries;
+    private List<IgniteTxEntry<K, V>> writeEntries;
 
     /** Serialized write entries. */
     private byte[] writeEntriesBytes;
@@ -85,7 +86,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
 
     /** Group lock key if this is a group-lock transaction. */
     @GridDirectTransient
-    private GridCacheTxKey grpLockKey;
+    private IgniteTxKey grpLockKey;
 
     /** Group lock key bytes. */
     private byte[] grpLockKeyBytes;
@@ -135,7 +136,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
         long timeout,
         int keyCnt,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         boolean partLock
     ) {
         super(lockVer, keyCnt);
@@ -245,7 +246,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
     /**
      * @return Write entries list.
      */
-    public List<GridCacheTxEntry<K, V>> writeEntries() {
+    public List<IgniteTxEntry<K, V>> writeEntries() {
         return writeEntries;
     }
 
@@ -271,7 +272,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
     public void addKeyBytes(
         K key,
         @Nullable byte[] keyBytes,
-        @Nullable GridCacheTxEntry<K, V> writeEntry,
+        @Nullable IgniteTxEntry<K, V> writeEntry,
         boolean retVal,
         @Nullable Collection<GridCacheMvccCandidate<K>> cands,
         @Nullable GridCacheVersion drVer,
@@ -328,7 +329,7 @@ public class GridDistributedLockRequest<K, V> extends GridDistributedBaseMessage
     /**
      * @return Group lock key.
      */
-    @Nullable public GridCacheTxKey groupLockKey() {
+    @Nullable public IgniteTxKey groupLockKey() {
         return grpLockKey;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxFinishRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxFinishRequest.java
index 15d2ce3..b5a61d0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxFinishRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxFinishRequest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
@@ -57,7 +58,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
     /** Transaction write entries. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxEntry<K, V>> writeEntries;
+    private Collection<IgniteTxEntry<K, V>> writeEntries;
 
     /** */
     @GridDirectCollection(byte[].class)
@@ -66,7 +67,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
     /** Write entries which have not been transferred to nodes during lock request. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxEntry<K, V>> recoveryWrites;
+    private Collection<IgniteTxEntry<K, V>> recoveryWrites;
 
     /** */
     @GridDirectCollection(byte[].class)
@@ -77,7 +78,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
 
     /** Group lock key. */
     @GridDirectTransient
-    private GridCacheTxKey grpLockKey;
+    private IgniteTxKey grpLockKey;
 
     /** Group lock key bytes. */
     private byte[] grpLockKeyBytes;
@@ -123,9 +124,9 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
         Collection<GridCacheVersion> committedVers,
         Collection<GridCacheVersion> rolledbackVers,
         int txSize,
-        Collection<GridCacheTxEntry<K, V>> writeEntries,
-        Collection<GridCacheTxEntry<K, V>> recoveryWrites,
-        @Nullable GridCacheTxKey grpLockKey
+        Collection<IgniteTxEntry<K, V>> writeEntries,
+        Collection<IgniteTxEntry<K, V>> recoveryWrites,
+        @Nullable IgniteTxKey grpLockKey
     ) {
         super(xidVer, writeEntries == null ? 0 : writeEntries.size());
         assert xidVer != null;
@@ -154,9 +155,9 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
         if (F.isEmpty(writeEntries))
             return;
 
-        Collection<GridCacheTxEntry<K, V>> cp = new ArrayList<>(writeEntries.size());
+        Collection<IgniteTxEntry<K, V>> cp = new ArrayList<>(writeEntries.size());
 
-        for (GridCacheTxEntry<K, V> e : writeEntries) {
+        for (IgniteTxEntry<K, V> e : writeEntries) {
             GridCacheContext<K, V> cacheCtx = e.context();
 
             // Clone only if it is a near cache.
@@ -236,14 +237,14 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
     /**
      * @return Write entries.
      */
-    public Collection<GridCacheTxEntry<K, V>> writes() {
+    public Collection<IgniteTxEntry<K, V>> writes() {
         return writeEntries;
     }
 
     /**
      * @return Recover entries.
      */
-    public Collection<GridCacheTxEntry<K, V>> recoveryWrites() {
+    public Collection<IgniteTxEntry<K, V>> recoveryWrites() {
         return recoveryWrites;
     }
 
@@ -272,7 +273,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
     /**
      * @return Group lock key.
      */
-    @Nullable public GridCacheTxKey groupLockKey() {
+    @Nullable public IgniteTxKey groupLockKey() {
         return grpLockKey;
     }
 
@@ -286,7 +287,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
 
             writeEntriesBytes = new ArrayList<>(writeEntries.size());
 
-            for (GridCacheTxEntry<K, V> e : writeEntries)
+            for (IgniteTxEntry<K, V> e : writeEntries)
                 writeEntriesBytes.add(ctx.marshaller().marshal(e));
         }
 
@@ -295,7 +296,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
 
             recoveryWritesBytes = new ArrayList<>(recoveryWrites.size());
 
-            for (GridCacheTxEntry<K, V> e : recoveryWrites)
+            for (IgniteTxEntry<K, V> e : recoveryWrites)
                 recoveryWritesBytes.add(ctx.marshaller().marshal(e));
         }
 
@@ -315,7 +316,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
             writeEntries = new ArrayList<>(writeEntriesBytes.size());
 
             for (byte[] arr : writeEntriesBytes)
-                writeEntries.add(ctx.marshaller().<GridCacheTxEntry<K, V>>unmarshal(arr, ldr));
+                writeEntries.add(ctx.marshaller().<IgniteTxEntry<K, V>>unmarshal(arr, ldr));
 
             unmarshalTx(writeEntries, false, ctx, ldr);
         }
@@ -324,7 +325,7 @@ public class GridDistributedTxFinishRequest<K, V> extends GridDistributedBaseMes
             recoveryWrites = new ArrayList<>(recoveryWritesBytes.size());
 
             for (byte[] arr : recoveryWritesBytes)
-                recoveryWrites.add(ctx.marshaller().<GridCacheTxEntry<K, V>>unmarshal(arr, ldr));
+                recoveryWrites.add(ctx.marshaller().<IgniteTxEntry<K, V>>unmarshal(arr, ldr));
 
             unmarshalTx(recoveryWrites, false, ctx, ldr);
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxMapping.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxMapping.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxMapping.java
index 145b807..5b59f81 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxMapping.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxMapping.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.cluster.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.tostring.*;
@@ -33,7 +34,7 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
 
     /** Entries. */
     @GridToStringInclude
-    private Collection<GridCacheTxEntry<K, V>> entries;
+    private Collection<IgniteTxEntry<K, V>> entries;
 
     /** Explicit lock flag. */
     private boolean explicitLock;
@@ -121,7 +122,7 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
     /**
      * @return Entries.
      */
-    public Collection<GridCacheTxEntry<K, V>> entries() {
+    public Collection<IgniteTxEntry<K, V>> entries() {
         return entries;
     }
 
@@ -129,7 +130,7 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
      * @param entries Mapped entries.
      * @param readOnly Flag indicating that passed in collection is read-only.
      */
-    public void entries(Collection<GridCacheTxEntry<K, V>> entries, boolean readOnly) {
+    public void entries(Collection<IgniteTxEntry<K, V>> entries, boolean readOnly) {
         this.entries = entries;
 
         // Set copy on remove flag as passed in collection is unmodifiable.
@@ -163,28 +164,28 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
     public void dhtVersion(GridCacheVersion dhtVer) {
         this.dhtVer = dhtVer;
 
-        for (GridCacheTxEntry<K, V> e : entries)
+        for (IgniteTxEntry<K, V> e : entries)
             e.dhtVersion(dhtVer);
     }
 
     /**
      * @return Reads.
      */
-    public Collection<GridCacheTxEntry<K, V>> reads() {
+    public Collection<IgniteTxEntry<K, V>> reads() {
         return F.view(entries, CU.<K, V>reads());
     }
 
     /**
      * @return Writes.
      */
-    public Collection<GridCacheTxEntry<K, V>> writes() {
+    public Collection<IgniteTxEntry<K, V>> writes() {
         return F.view(entries, CU.<K, V>writes());
     }
 
     /**
      * @param entry Adds entry.
      */
-    public void add(GridCacheTxEntry<K, V> entry) {
+    public void add(IgniteTxEntry<K, V> entry) {
         ensureModifiable();
 
         entries.add(entry);
@@ -194,7 +195,7 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
      * @param entry Entry to remove.
      * @return {@code True} if entry was removed.
      */
-    public boolean removeEntry(GridCacheTxEntry<K, V> entry) {
+    public boolean removeEntry(IgniteTxEntry<K, V> entry) {
         ensureModifiable();
 
         return entries.remove(entry);
@@ -215,11 +216,11 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
      * @param parts Partitions.
      * @param c Collection.
      */
-    private void evictPartitions(int[] parts, Collection<GridCacheTxEntry<K, V>> c) {
+    private void evictPartitions(int[] parts, Collection<IgniteTxEntry<K, V>> c) {
         assert parts != null;
 
-        for (Iterator<GridCacheTxEntry<K, V>> it = c.iterator(); it.hasNext();) {
-            GridCacheTxEntry<K, V> e = it.next();
+        for (Iterator<IgniteTxEntry<K, V>> it = c.iterator(); it.hasNext();) {
+            IgniteTxEntry<K, V> e = it.next();
 
             GridCacheEntryEx<K,V> cached = e.cached();
 
@@ -231,7 +232,7 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
     /**
      * @param keys Keys to evict readers for.
      */
-    public void evictReaders(@Nullable Collection<GridCacheTxKey<K>> keys) {
+    public void evictReaders(@Nullable Collection<IgniteTxKey<K>> keys) {
         if (keys == null || keys.isEmpty())
             return;
 
@@ -244,12 +245,12 @@ public class GridDistributedTxMapping<K, V> implements Externalizable {
      * @param keys Keys to evict readers for.
      * @param entries Entries to check.
      */
-    private void evictReaders(Collection<GridCacheTxKey<K>> keys, @Nullable Collection<GridCacheTxEntry<K, V>> entries) {
+    private void evictReaders(Collection<IgniteTxKey<K>> keys, @Nullable Collection<IgniteTxEntry<K, V>> entries) {
         if (entries == null || entries.isEmpty())
             return;
 
-        for (Iterator<GridCacheTxEntry<K, V>> it = entries.iterator(); it.hasNext();) {
-            GridCacheTxEntry<K, V> entry = it.next();
+        for (Iterator<IgniteTxEntry<K, V>> it = entries.iterator(); it.hasNext();) {
+            IgniteTxEntry<K, V> entry = it.next();
 
             if (keys.contains(entry.txKey()))
                 it.remove();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index eac9362..c3bf7af 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
@@ -57,7 +58,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /** Transaction read set. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxEntry<K, V>> reads;
+    private Collection<IgniteTxEntry<K, V>> reads;
 
     /** */
     @GridDirectCollection(byte[].class)
@@ -66,7 +67,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /** Transaction write entries. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxEntry<K, V>> writes;
+    private Collection<IgniteTxEntry<K, V>> writes;
 
     /** */
     @GridDirectCollection(byte[].class)
@@ -75,7 +76,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /** DHT versions to verify. */
     @GridToStringInclude
     @GridDirectTransient
-    private Map<GridCacheTxKey<K>, GridCacheVersion> dhtVers;
+    private Map<IgniteTxKey<K>, GridCacheVersion> dhtVers;
 
     /** Serialized map. */
     @GridToStringExclude
@@ -84,7 +85,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /** Group lock key, if any. */
     @GridToStringInclude
     @GridDirectTransient
-    private GridCacheTxKey grpLockKey;
+    private IgniteTxKey grpLockKey;
 
     /** Group lock key bytes. */
     @GridToStringExclude
@@ -122,10 +123,10 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
      * @param txNodes Transaction nodes mapping.
      */
     public GridDistributedTxPrepareRequest(
-        GridCacheTxEx<K, V> tx,
-        @Nullable Collection<GridCacheTxEntry<K, V>> reads,
-        Collection<GridCacheTxEntry<K, V>> writes,
-        GridCacheTxKey grpLockKey,
+        IgniteTxEx<K, V> tx,
+        @Nullable Collection<IgniteTxEntry<K, V>> reads,
+        Collection<IgniteTxEntry<K, V>> writes,
+        IgniteTxKey grpLockKey,
         boolean partLock,
         Map<UUID, Collection<UUID>> txNodes
     ) {
@@ -167,7 +168,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
      * @param key Key for which version is verified.
      * @param dhtVer DHT version to check.
      */
-    public void addDhtVersion(GridCacheTxKey<K> key, @Nullable GridCacheVersion dhtVer) {
+    public void addDhtVersion(IgniteTxKey<K> key, @Nullable GridCacheVersion dhtVer) {
         if (dhtVers == null)
             dhtVers = new HashMap<>();
 
@@ -177,8 +178,8 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /**
      * @return Map of versions to be verified.
      */
-    public Map<GridCacheTxKey<K>, GridCacheVersion> dhtVersions() {
-        return dhtVers == null ? Collections.<GridCacheTxKey<K>, GridCacheVersion>emptyMap() : dhtVers;
+    public Map<IgniteTxKey<K>, GridCacheVersion> dhtVersions() {
+        return dhtVers == null ? Collections.<IgniteTxKey<K>, GridCacheVersion>emptyMap() : dhtVers;
     }
 
     /**
@@ -222,35 +223,35 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
     /**
      * @return Read set.
      */
-    public Collection<GridCacheTxEntry<K, V>> reads() {
+    public Collection<IgniteTxEntry<K, V>> reads() {
         return reads;
     }
 
     /**
      * @return Write entries.
      */
-    public Collection<GridCacheTxEntry<K, V>> writes() {
+    public Collection<IgniteTxEntry<K, V>> writes() {
         return writes;
     }
 
     /**
      * @param reads Reads.
      */
-    protected void reads(Collection<GridCacheTxEntry<K, V>> reads) {
+    protected void reads(Collection<IgniteTxEntry<K, V>> reads) {
         this.reads = reads;
     }
 
     /**
      * @param writes Writes.
      */
-    protected void writes(Collection<GridCacheTxEntry<K, V>> writes) {
+    protected void writes(Collection<IgniteTxEntry<K, V>> writes) {
         this.writes = writes;
     }
 
     /**
      * @return Group lock key if preparing group-lock transaction.
      */
-    @Nullable public GridCacheTxKey groupLockKey() {
+    @Nullable public IgniteTxKey groupLockKey() {
         return grpLockKey;
     }
 
@@ -278,7 +279,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
 
             writesBytes = new ArrayList<>(writes.size());
 
-            for (GridCacheTxEntry<K, V> e : writes)
+            for (IgniteTxEntry<K, V> e : writes)
                 writesBytes.add(ctx.marshaller().marshal(e));
         }
 
@@ -287,7 +288,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
 
             readsBytes = new ArrayList<>(reads.size());
 
-            for (GridCacheTxEntry<K, V> e : reads)
+            for (IgniteTxEntry<K, V> e : reads)
                 readsBytes.add(ctx.marshaller().marshal(e));
         }
 
@@ -309,7 +310,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
             writes = new ArrayList<>(writesBytes.size());
 
             for (byte[] arr : writesBytes)
-                writes.add(ctx.marshaller().<GridCacheTxEntry<K, V>>unmarshal(arr, ldr));
+                writes.add(ctx.marshaller().<IgniteTxEntry<K, V>>unmarshal(arr, ldr));
 
             unmarshalTx(writes, false, ctx, ldr);
         }
@@ -318,7 +319,7 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
             reads = new ArrayList<>(readsBytes.size());
 
             for (byte[] arr : readsBytes)
-                reads.add(ctx.marshaller().<GridCacheTxEntry<K, V>>unmarshal(arr, ldr));
+                reads.add(ctx.marshaller().<IgniteTxEntry<K, V>>unmarshal(arr, ldr));
 
             unmarshalTx(reads, false, ctx, ldr);
         }
@@ -339,13 +340,13 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
      * @param col Set to write.
      * @throws IOException If write failed.
      */
-    private void writeCollection(ObjectOutput out, Collection<GridCacheTxEntry<K, V>> col) throws IOException {
+    private void writeCollection(ObjectOutput out, Collection<IgniteTxEntry<K, V>> col) throws IOException {
         boolean empty = F.isEmpty(col);
 
         if (!empty) {
             out.writeInt(col.size());
 
-            for (GridCacheTxEntry<K, V> e : col) {
+            for (IgniteTxEntry<K, V> e : col) {
                 V val = e.value();
                 boolean hasWriteVal = e.hasWriteValue();
                 boolean hasReadVal = e.hasReadValue();
@@ -374,9 +375,9 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
      * @throws ClassNotFoundException If deserialized class could not be found.
      */
     @SuppressWarnings({"unchecked"})
-    @Nullable private Collection<GridCacheTxEntry<K, V>> readCollection(ObjectInput in) throws IOException,
+    @Nullable private Collection<IgniteTxEntry<K, V>> readCollection(ObjectInput in) throws IOException,
         ClassNotFoundException {
-        List<GridCacheTxEntry<K, V>> col = null;
+        List<IgniteTxEntry<K, V>> col = null;
 
         int size = in.readInt();
 
@@ -385,10 +386,10 @@ public class GridDistributedTxPrepareRequest<K, V> extends GridDistributedBaseMe
             col = new ArrayList<>(size);
 
             for (int i = 0; i < size; i++)
-                col.add((GridCacheTxEntry<K, V>)in.readObject());
+                col.add((IgniteTxEntry<K, V>)in.readObject());
         }
 
-        return col == null ? Collections.<GridCacheTxEntry<K,V>>emptyList() : col;
+        return col == null ? Collections.<IgniteTxEntry<K,V>>emptyList() : col;
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index 88c55df..70ddbe2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -15,6 +15,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.tostring.*;
@@ -33,18 +34,18 @@ import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 /**
  * Transaction created by system implicitly on remote nodes.
  */
-public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K, V>
-    implements GridCacheTxRemoteEx<K, V> {
+public class GridDistributedTxRemoteAdapter<K, V> extends IgniteTxAdapter<K, V>
+    implements IgniteTxRemoteEx<K, V> {
     /** */
     private static final long serialVersionUID = 0L;
 
     /** Read set. */
     @GridToStringInclude
-    protected Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> readMap;
+    protected Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> readMap;
 
     /** Write map. */
     @GridToStringInclude
-    protected Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> writeMap;
+    protected Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> writeMap;
 
     /** Remote thread ID. */
     @GridToStringInclude
@@ -95,7 +96,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
         boolean invalidate,
         long timeout,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         @Nullable UUID subjId,
         int taskNameHash
     ) {
@@ -151,8 +152,8 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public boolean removed(GridCacheTxKey<K> key) {
-        GridCacheTxEntry e = writeMap.get(key);
+    @Override public boolean removed(IgniteTxKey<K> key) {
+        IgniteTxEntry e = writeMap.get(key);
 
         return e != null && e.op() == DELETE;
     }
@@ -163,12 +164,12 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> writeMap() {
+    @Override public Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> writeMap() {
         return writeMap;
     }
 
     /** {@inheritDoc} */
-    @Override public Map<GridCacheTxKey<K>, GridCacheTxEntry<K, V>> readMap() {
+    @Override public Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> readMap() {
         return readMap;
     }
 
@@ -182,7 +183,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      *
      * @param key Key.
      */
-    public void groupLockKey(GridCacheTxKey key) {
+    public void groupLockKey(IgniteTxKey key) {
         if (grpLockKey == null)
             grpLockKey = key;
     }
@@ -196,8 +197,8 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public GridCacheTxEntry<K, V> entry(GridCacheTxKey<K> key) {
-        GridCacheTxEntry<K, V> e = writeMap == null ? null : writeMap.get(key);
+    @Override public IgniteTxEntry<K, V> entry(IgniteTxKey<K> key) {
+        IgniteTxEntry<K, V> e = writeMap == null ? null : writeMap.get(key);
 
         if (e == null)
             e = readMap == null ? null : readMap.get(key);
@@ -210,7 +211,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      *
      * @param key key to be removed.
      */
-    public void clearEntry(GridCacheTxKey<K> key) {
+    public void clearEntry(IgniteTxKey<K> key) {
         readMap.remove(key);
         writeMap.remove(key);
     }
@@ -223,12 +224,12 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     @Override public void doneRemote(GridCacheVersion baseVer, Collection<GridCacheVersion> committedVers,
         Collection<GridCacheVersion> rolledbackVers, Collection<GridCacheVersion> pendingVers) {
         if (readMap != null && !readMap.isEmpty()) {
-            for (GridCacheTxEntry<K, V> txEntry : readMap.values())
+            for (IgniteTxEntry<K, V> txEntry : readMap.values())
                 doneRemote(txEntry, baseVer, committedVers, rolledbackVers, pendingVers);
         }
 
         if (writeMap != null && !writeMap.isEmpty()) {
-            for (GridCacheTxEntry<K, V> txEntry : writeMap.values())
+            for (IgniteTxEntry<K, V> txEntry : writeMap.values())
                 doneRemote(txEntry, baseVer, committedVers, rolledbackVers, pendingVers);
         }
     }
@@ -242,7 +243,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      * @param rolledbackVers Rolled back versions relative to base version.
      * @param pendingVers Pending versions.
      */
-    private void doneRemote(GridCacheTxEntry<K, V> txEntry, GridCacheVersion baseVer,
+    private void doneRemote(IgniteTxEntry<K, V> txEntry, GridCacheVersion baseVer,
         Collection<GridCacheVersion> committedVers, Collection<GridCacheVersion> rolledbackVers,
         Collection<GridCacheVersion> pendingVers) {
         while (true) {
@@ -301,10 +302,10 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      * @param keyBytes Key bytes.
      * @param drVer Data center replication version.
      */
-    public void addRead(GridCacheContext<K, V> cacheCtx, GridCacheTxKey<K> key, byte[] keyBytes, @Nullable GridCacheVersion drVer) {
+    public void addRead(GridCacheContext<K, V> cacheCtx, IgniteTxKey<K> key, byte[] keyBytes, @Nullable GridCacheVersion drVer) {
         checkInternal(key);
 
-        GridCacheTxEntry<K, V> txEntry = new GridCacheTxEntry<>(cacheCtx, this, READ, null, 0L, -1L,
+        IgniteTxEntry<K, V> txEntry = new IgniteTxEntry<>(cacheCtx, this, READ, null, 0L, -1L,
             cacheCtx.cache().entryEx(key.key()), drVer);
 
         txEntry.keyBytes(keyBytes);
@@ -320,11 +321,11 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      * @param valBytes Write value bytes.
      * @param drVer Data center replication version.
      */
-    public void addWrite(GridCacheContext<K, V> cacheCtx, GridCacheTxKey<K> key, byte[] keyBytes, GridCacheOperation op, V val, byte[] valBytes,
+    public void addWrite(GridCacheContext<K, V> cacheCtx, IgniteTxKey<K> key, byte[] keyBytes, GridCacheOperation op, V val, byte[] valBytes,
         @Nullable GridCacheVersion drVer) {
         checkInternal(key);
 
-        GridCacheTxEntry<K, V> txEntry = new GridCacheTxEntry<>(cacheCtx, this, op, val, 0L, -1L,
+        IgniteTxEntry<K, V> txEntry = new IgniteTxEntry<>(cacheCtx, this, op, val, 0L, -1L,
             cacheCtx.cache().entryEx(key.key()), drVer);
 
         txEntry.keyBytes(keyBytes);
@@ -337,13 +338,13 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      * @param e Transaction entry to set.
      * @return {@code True} if value was set.
      */
-    @Override public boolean setWriteValue(GridCacheTxEntry<K, V> e) {
+    @Override public boolean setWriteValue(IgniteTxEntry<K, V> e) {
         checkInternal(e.txKey());
 
-        GridCacheTxEntry<K, V> entry = writeMap.get(e.txKey());
+        IgniteTxEntry<K, V> entry = writeMap.get(e.txKey());
 
         if (entry == null) {
-            GridCacheTxEntry<K, V> rmv = readMap.remove(e.txKey());
+            IgniteTxEntry<K, V> rmv = readMap.remove(e.txKey());
 
             if (rmv != null) {
                 e.cached(rmv.cached(), rmv.keyBytes());
@@ -379,38 +380,38 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     }
 
     /** {@inheritDoc} */
-    @Override public boolean hasWriteKey(GridCacheTxKey<K> key) {
+    @Override public boolean hasWriteKey(IgniteTxKey<K> key) {
         return writeMap.containsKey(key);
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<GridCacheTxEx<K, V>> prepareAsync() {
+    @Override public IgniteFuture<IgniteTxEx<K, V>> prepareAsync() {
         assert false;
         return null;
     }
 
     /** {@inheritDoc} */
-    @Override public Set<GridCacheTxKey<K>> readSet() {
+    @Override public Set<IgniteTxKey<K>> readSet() {
         return readMap.keySet();
     }
 
     /** {@inheritDoc} */
-    @Override public Set<GridCacheTxKey<K>> writeSet() {
+    @Override public Set<IgniteTxKey<K>> writeSet() {
         return writeMap.keySet();
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> allEntries() {
+    @Override public Collection<IgniteTxEntry<K, V>> allEntries() {
         return F.concat(false, writeEntries(), readEntries());
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> writeEntries() {
+    @Override public Collection<IgniteTxEntry<K, V>> writeEntries() {
         return writeMap.values();
     }
 
     /** {@inheritDoc} */
-    @Override public Collection<GridCacheTxEntry<K, V>> readEntries() {
+    @Override public Collection<IgniteTxEntry<K, V>> readEntries() {
         return readMap.values();
     }
 
@@ -450,7 +451,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
     @SuppressWarnings({"CatchGenericClass"})
     private void commitIfLocked() throws IgniteCheckedException {
         if (state() == COMMITTING) {
-            for (GridCacheTxEntry<K, V> txEntry : writeMap.values()) {
+            for (IgniteTxEntry<K, V> txEntry : writeMap.values()) {
                 assert txEntry != null : "Missing transaction entry for tx: " + this;
 
                 while (true) {
@@ -493,7 +494,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
                     long topVer = topologyVersion();
 
                     // Node that for near transactions we grab all entries.
-                    for (GridCacheTxEntry<K, V> txEntry : (near() ? allEntries() : writeEntries())) {
+                    for (IgniteTxEntry<K, V> txEntry : (near() ? allEntries() : writeEntries())) {
                         GridCacheContext<K, V> cacheCtx = txEntry.context();
 
                         boolean replicate = cacheCtx.isDrEnabled();
@@ -775,7 +776,7 @@ public class GridDistributedTxRemoteAdapter<K, V> extends GridCacheTxAdapter<K,
      *
      * @param e Transaction entry.
      */
-    protected void addExplicit(GridCacheTxEntry<K, V> e) {
+    protected void addExplicit(IgniteTxEntry<K, V> e) {
         if (e.explicitVersion() != null) {
             if (explicitVers == null)
                 explicitVers = new LinkedList<>();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntry.java
index 978b60b..e092889 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtCacheEntry.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.lang.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;
@@ -223,7 +224,7 @@ public class GridDhtCacheEntry<K, V> extends GridDistributedCacheEntry<K, V> {
     }
 
     /** {@inheritDoc} */
-    @Override public boolean tmLock(GridCacheTxEx<K, V> tx, long timeout)
+    @Override public boolean tmLock(IgniteTxEx<K, V> tx, long timeout)
         throws GridCacheEntryRemovedException, GridDistributedLockCancelledException {
         if (tx.local()) {
             GridDhtTxLocalAdapter<K, V> dhtTx = (GridDhtTxLocalAdapter<K, V>)tx;
@@ -425,7 +426,7 @@ public class GridDhtCacheEntry<K, V> extends GridDistributedCacheEntry<K, V> {
 
             if (!F.isEmpty(cands)) {
                 for (GridCacheMvccCandidate<K> c : cands) {
-                    GridCacheTxEx<K, V> tx = cctx.tm().tx(c.version());
+                    IgniteTxEx<K, V> tx = cctx.tm().tx(c.version());
 
                     if (tx != null) {
                         assert tx.local();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtGetFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtGetFuture.java
index 6db3540..a62ec49 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtGetFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtGetFuture.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -63,7 +64,7 @@ public final class GridDhtGetFuture<K, V> extends GridCompoundIdentityFuture<Col
     private long topVer;
 
     /** Transaction. */
-    private GridCacheTxLocalEx<K, V> tx;
+    private IgniteTxLocalEx<K, V> tx;
 
     /** Filters. */
     private IgnitePredicate<GridCacheEntry<K, V>>[] filters;
@@ -106,7 +107,7 @@ public final class GridDhtGetFuture<K, V> extends GridCompoundIdentityFuture<Col
         UUID reader,
         LinkedHashMap<? extends K, Boolean> keys,
         boolean reload,
-        @Nullable GridCacheTxLocalEx<K, V> tx,
+        @Nullable IgniteTxLocalEx<K, V> tx,
         long topVer,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filters,
         @Nullable UUID subjId,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 2da6589..5a9ee72 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -16,6 +16,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
@@ -1177,7 +1178,7 @@ public final class GridDhtLockFuture<K, V> extends GridCompoundIdentityFuture<Bo
          * @param entries Entries to check.
          */
         @SuppressWarnings({"ForLoopReplaceableByForEach"})
-        private void evictReaders(GridCacheContext<K, V> cacheCtx, Collection<GridCacheTxKey<K>> keys, UUID nodeId, long msgId,
+        private void evictReaders(GridCacheContext<K, V> cacheCtx, Collection<IgniteTxKey<K>> keys, UUID nodeId, long msgId,
             @Nullable List<GridDhtCacheEntry<K, V>> entries) {
             if (entries == null || keys == null || entries.isEmpty() || keys.isEmpty())
                 return;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
index e05041a..cb4ef69 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
@@ -115,7 +116,7 @@ public class GridDhtLockRequest<K, V> extends GridDistributedLockRequest<K, V> {
         int dhtCnt,
         int nearCnt,
         int txSize,
-        @Nullable GridCacheTxKey grpLockKey,
+        @Nullable IgniteTxKey grpLockKey,
         boolean partLock,
         @Nullable UUID subjId,
         int taskNameHash
@@ -215,7 +216,7 @@ public class GridDhtLockRequest<K, V> extends GridDistributedLockRequest<K, V> {
     public void addDhtKey(
         K key,
         byte[] keyBytes,
-        GridCacheTxEntry<K, V> writeEntry,
+        IgniteTxEntry<K, V> writeEntry,
         @Nullable GridCacheVersion drVer,
         boolean invalidateEntry,
         GridCacheContext<K, V> ctx

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockResponse.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockResponse.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockResponse.java
index 3a86b4e..9eaf250 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockResponse.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockResponse.java
@@ -14,6 +14,7 @@ import org.apache.ignite.lang.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.direct.*;
 import org.gridgain.grid.util.tostring.*;
@@ -33,7 +34,7 @@ public class GridDhtLockResponse<K, V> extends GridDistributedLockResponse<K, V>
     /** Evicted readers. */
     @GridToStringInclude
     @GridDirectTransient
-    private Collection<GridCacheTxKey<K>> nearEvicted;
+    private Collection<IgniteTxKey<K>> nearEvicted;
 
     /** Evicted reader key bytes. */
     @GridDirectCollection(byte[].class)
@@ -94,14 +95,14 @@ public class GridDhtLockResponse<K, V> extends GridDistributedLockResponse<K, V>
     /**
      * @return Evicted readers.
      */
-    public Collection<GridCacheTxKey<K>> nearEvicted() {
+    public Collection<IgniteTxKey<K>> nearEvicted() {
         return nearEvicted;
     }
 
     /**
      * @param nearEvicted Evicted readers.
      */
-    public void nearEvicted(Collection<GridCacheTxKey<K>> nearEvicted) {
+    public void nearEvicted(Collection<IgniteTxKey<K>> nearEvicted) {
         this.nearEvicted = nearEvicted;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index decad36..5aa7154 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -18,6 +18,7 @@ import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.preloader.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
+import org.gridgain.grid.kernal.processors.cache.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.lang.*;
@@ -127,7 +128,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
         GridDhtLockResponse<K, V> res)
         throws IgniteCheckedException, GridDistributedLockCancelledException {
         List<K> keys = req.keys();
-        List<GridCacheTxEntry<K, V>> writes = req.writeEntries();
+        List<IgniteTxEntry<K, V>> writes = req.writeEntries();
 
         GridDhtTxRemote<K, V> tx = null;
 
@@ -139,9 +140,9 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
             if (key == null)
                 continue;
 
-            GridCacheTxKey<K> txKey = ctx.txKey(key);
+            IgniteTxKey<K> txKey = ctx.txKey(key);
 
-            GridCacheTxEntry<K, V> writeEntry = writes == null ? null : writes.get(i);
+            IgniteTxEntry<K, V> writeEntry = writes == null ? null : writes.get(i);
 
             assert F.isEmpty(req.candidatesByIndex(i));
 
@@ -379,10 +380,10 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
                 res.nearEvicted(nearTx.evicted());
             else {
                 if (!F.isEmpty(req.nearKeys())) {
-                    Collection<GridCacheTxKey<K>> nearEvicted = new ArrayList<>(req.nearKeys().size());
+                    Collection<IgniteTxKey<K>> nearEvicted = new ArrayList<>(req.nearKeys().size());
 
-                    nearEvicted.addAll(F.viewReadOnly(req.nearKeys(), new C1<K, GridCacheTxKey<K>>() {
-                        @Override public GridCacheTxKey<K> apply(K k) {
+                    nearEvicted.addAll(F.viewReadOnly(req.nearKeys(), new C1<K, IgniteTxKey<K>>() {
+                        @Override public IgniteTxKey<K> apply(K k) {
                             return ctx.txKey(k);
                         }
                     }));
@@ -541,7 +542,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
     /** {@inheritDoc} */
     @Override public IgniteFuture<Boolean> lockAllAsync(@Nullable Collection<? extends K> keys,
         long timeout,
-        GridCacheTxLocalEx<K, V> txx,
+        IgniteTxLocalEx<K, V> txx,
         boolean isInvalidate,
         boolean isRead,
         boolean retval,
@@ -565,7 +566,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
      */
     public GridDhtFuture<Boolean> lockAllAsyncInternal(@Nullable Collection<? extends K> keys,
         long timeout,
-        GridCacheTxLocalEx<K, V> txx,
+        IgniteTxLocalEx<K, V> txx,
         boolean isInvalidate,
         boolean isRead,
         boolean retval,
@@ -980,7 +981,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
                                     boolean filterPassed = false;
 
                                     if (tx != null && tx.onePhaseCommit()) {
-                                        GridCacheTxEntry<K, V> writeEntry = tx.entry(ctx.txKey(e.key()));
+                                        IgniteTxEntry<K, V> writeEntry = tx.entry(ctx.txKey(e.key()));
 
                                         assert writeEntry != null :
                                             "Missing tx entry for locked cache entry: " + e;
@@ -1050,7 +1051,7 @@ public abstract class GridDhtTransactionalCacheAdapter<K, V> extends GridDhtCach
      */
     private void sendLockReply(
         ClusterNode nearNode,
-        @Nullable GridCacheTxEx<K,V> tx,
+        @Nullable IgniteTxEx<K,V> tx,
         GridNearLockRequest<K, V> req,
         GridNearLockResponse<K, V> res
     ) {


[04/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxIsolation.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxIsolation.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxIsolation.java
deleted file mode 100644
index c5712cf..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxIsolation.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Defines different cache transaction isolation levels. See {@link GridCacheTx}
- * documentation for more information about cache transaction isolation levels.
- */
-public enum GridCacheTxIsolation {
-    /** Read committed isolation level. */
-    READ_COMMITTED,
-
-    /** Repeatable read isolation level. */
-    REPEATABLE_READ,
-
-    /** Serializable isolation level. */
-    SERIALIZABLE;
-
-    /** Enum values. */
-    private static final GridCacheTxIsolation[] VALS = values();
-
-    /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value or {@code null} if ordinal out of range.
-     */
-    @Nullable
-    public static GridCacheTxIsolation fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxOptimisticException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxOptimisticException.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxOptimisticException.java
deleted file mode 100644
index 992f9c7..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxOptimisticException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transactions fail optimistically.
- */
-public class GridCacheTxOptimisticException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new optimistic exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxOptimisticException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new optimistic exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxOptimisticException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxRollbackException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxRollbackException.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxRollbackException.java
deleted file mode 100644
index 0516575..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxRollbackException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transactions has been automatically rolled back.
- */
-public class GridCacheTxRollbackException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new rollback exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxRollbackException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new rollback exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxRollbackException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxState.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxState.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxState.java
deleted file mode 100644
index 468c94c..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxState.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Cache transaction state.
- */
-public enum GridCacheTxState {
-    /** Transaction started. */
-    ACTIVE,
-
-    /** Transaction validating. */
-    PREPARING,
-
-    /** Transaction validation succeeded. */
-    PREPARED,
-
-    /** Transaction is marked for rollback. */
-    MARKED_ROLLBACK,
-
-    /** Transaction commit started (validating finished). */
-    COMMITTING,
-
-    /** Transaction commit succeeded. */
-    COMMITTED,
-
-    /** Transaction rollback started (validation failed). */
-    ROLLING_BACK,
-
-    /** Transaction rollback succeeded. */
-    ROLLED_BACK,
-
-    /** Transaction rollback failed or is otherwise unknown state. */
-    UNKNOWN;
-
-    /** Enumerated values. */
-    private static final GridCacheTxState[] VALS = values();
-
-    /**
-     * Efficiently gets enumerated value from its ordinal.
-     *
-     * @param ord Ordinal value.
-     * @return Enumerated value or {@code null} if ordinal out of range.
-     */
-    @Nullable public static GridCacheTxState fromOrdinal(int ord) {
-        return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxSynchronization.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxSynchronization.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxSynchronization.java
deleted file mode 100644
index 2f6faf1..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxSynchronization.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.jetbrains.annotations.*;
-
-/**
- * Synchronization callback for transaction. You can subscribe to receive transaction
- * state change callbacks by registering transaction synchronization via
- * {@link GridCache#txSynchronize(GridCacheTxSynchronization)} method.
- */
-public interface GridCacheTxSynchronization {
-    /**
-     * State change callback for transaction. Note that unless transaction has been
-     * completed, it is possible to mark it for <tt>rollbackOnly</tt> by calling
-     * {@link GridCacheTx#setRollbackOnly()} on the passed in transaction.
-     * You can check the return value of {@link GridCacheTx#setRollbackOnly() setRollbackOnly()}
-     * method to see if transaction was indeed marked for rollback or not.
-     *
-     * @param prevState Previous state of the transaction. If transaction has just been
-     *      started, then previous state is {@code null}.
-     * @param newState New state of the transaction. In majority of the cases this will be the
-     *      same as {@link GridCacheTx#state() tx.state()}, but it is also possible
-     *      that transaction may be marked for rollback concurrently with this method
-     *      invocation, and in that case <tt>newState</tt> reflects the actual state of the
-     *      transition this callback is associated with.
-     * @param tx Transaction whose state has changed.
-     */
-    public void onStateChanged(@Nullable GridCacheTxState prevState, GridCacheTxState newState, GridCacheTx tx);
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxTimeoutException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxTimeoutException.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxTimeoutException.java
deleted file mode 100644
index 3f4c44a..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTxTimeoutException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.apache.ignite.*;
-
-/**
- * Exception thrown whenever grid transactions time out.
- */
-public class GridCacheTxTimeoutException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new timeout exception with given error message.
-     *
-     * @param msg Error message.
-     */
-    public GridCacheTxTimeoutException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates new timeout exception with given error message and optional nested exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be <tt>null</tt>).
-     */
-    public GridCacheTxTimeoutException(String msg, Throwable cause) {
-        super(msg, cause);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
index 4bff7d0..8ba72f6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheWriteSynchronizationMode.java
@@ -9,6 +9,7 @@
 
 package org.gridgain.grid.cache;
 
+import org.apache.ignite.transactions.*;
 import org.jetbrains.annotations.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/GridTransactionsConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridTransactionsConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/cache/GridTransactionsConfiguration.java
deleted file mode 100644
index 9073025..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridTransactionsConfiguration.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-/**
- * Transactions configuration.
- */
-public class GridTransactionsConfiguration {
-    /** Default value for 'txSerializableEnabled' flag. */
-    public static final boolean DFLT_TX_SERIALIZABLE_ENABLED = false;
-
-    /** Default concurrency mode. */
-    public static final GridCacheTxConcurrency DFLT_TX_CONCURRENCY = GridCacheTxConcurrency.PESSIMISTIC;
-
-    /** Default transaction isolation level. */
-    public static final GridCacheTxIsolation DFLT_TX_ISOLATION = GridCacheTxIsolation.REPEATABLE_READ;
-
-    /** Default transaction timeout. */
-    public static final long DFLT_TRANSACTION_TIMEOUT = 0;
-
-    /** Default size of pessimistic transactions log. */
-    public static final int DFLT_PESSIMISTIC_TX_LOG_LINGER = 10_000;
-
-    /** Default transaction serializable flag. */
-    private boolean txSerEnabled = DFLT_TX_SERIALIZABLE_ENABLED;
-
-    /** Transaction isolation. */
-    private GridCacheTxIsolation dfltIsolation = DFLT_TX_ISOLATION;
-
-    /** Cache concurrency. */
-    private GridCacheTxConcurrency dfltConcurrency = DFLT_TX_CONCURRENCY;
-
-    /** Default transaction timeout. */
-    private long dfltTxTimeout = DFLT_TRANSACTION_TIMEOUT;
-
-    /** Pessimistic tx log size. */
-    private int pessimisticTxLogSize;
-
-    /** Pessimistic tx log linger. */
-    private int pessimisticTxLogLinger = DFLT_PESSIMISTIC_TX_LOG_LINGER;
-
-    /**
-     * Empty constructor.
-     */
-    public GridTransactionsConfiguration() {
-        // No-op.
-    }
-
-    /**
-     * @param cfg Configuration to copy.
-     */
-    public GridTransactionsConfiguration(GridTransactionsConfiguration cfg) {
-        dfltConcurrency = cfg.getDefaultTxConcurrency();
-        dfltIsolation = cfg.getDefaultTxIsolation();
-        dfltTxTimeout = cfg.getDefaultTxTimeout();
-        pessimisticTxLogLinger = cfg.getPessimisticTxLogLinger();
-        pessimisticTxLogSize = cfg.getPessimisticTxLogSize();
-        txSerEnabled = cfg.isTxSerializableEnabled();
-    }
-
-    /**
-     * Gets flag to enable/disable {@link GridCacheTxIsolation#SERIALIZABLE} isolation
-     * level for cache transactions. Serializable level does carry certain overhead and
-     * if not used, should be disabled. Default value is {@code false}.
-     *
-     * @return {@code True} if serializable transactions are enabled, {@code false} otherwise.
-     */
-    public boolean isTxSerializableEnabled() {
-        return txSerEnabled;
-    }
-
-    /**
-     * Enables/disables serializable cache transactions. See {@link #isTxSerializableEnabled()} for more information.
-     *
-     * @param txSerEnabled Flag to enable/disable serializable cache transactions.
-     */
-    public void setTxSerializableEnabled(boolean txSerEnabled) {
-        this.txSerEnabled = txSerEnabled;
-    }
-
-    /**
-     * Default cache transaction concurrency to use when one is not explicitly
-     * specified. Default value is defined by {@link #DFLT_TX_CONCURRENCY}.
-     *
-     * @return Default cache transaction concurrency.
-     * @see GridCacheTx
-     */
-    public GridCacheTxConcurrency getDefaultTxConcurrency() {
-        return dfltConcurrency;
-    }
-
-    /**
-     * Sets default transaction concurrency.
-     *
-     * @param dfltConcurrency Default cache transaction concurrency.
-     */
-    public void setDefaultTxConcurrency(GridCacheTxConcurrency dfltConcurrency) {
-        this.dfltConcurrency = dfltConcurrency;
-    }
-
-    /**
-     * Default cache transaction isolation to use when one is not explicitly
-     * specified. Default value is defined by {@link #DFLT_TX_ISOLATION}.
-     *
-     * @return Default cache transaction isolation.
-     * @see GridCacheTx
-     */
-    public GridCacheTxIsolation getDefaultTxIsolation() {
-        return dfltIsolation;
-    }
-
-    /**
-     * Sets default transaction isolation.
-     *
-     * @param dfltIsolation Default cache transaction isolation.
-     */
-    public void setDefaultTxIsolation(GridCacheTxIsolation dfltIsolation) {
-        this.dfltIsolation = dfltIsolation;
-    }
-
-    /**
-     * Gets default transaction timeout. Default value is defined by {@link #DFLT_TRANSACTION_TIMEOUT}
-     * which is {@code 0} and means that transactions will never time out.
-     *
-     * @return Default transaction timeout.
-     */
-    public long getDefaultTxTimeout() {
-        return dfltTxTimeout;
-    }
-
-    /**
-     * Sets default transaction timeout in milliseconds. By default this value is defined by {@link
-     * #DFLT_TRANSACTION_TIMEOUT}.
-     *
-     * @param dfltTxTimeout Default transaction timeout.
-     */
-    public void setDefaultTxTimeout(long dfltTxTimeout) {
-        this.dfltTxTimeout = dfltTxTimeout;
-    }
-
-    /**
-     * Gets size of pessimistic transactions log stored on node in order to recover transaction commit if originating
-     * node has left grid before it has sent all messages to transaction nodes.
-     * <p>
-     * If not set, default value is {@code 0} which means unlimited log size.
-     *
-     * @return Pessimistic transaction log size.
-     */
-    public int getPessimisticTxLogSize() {
-        return pessimisticTxLogSize;
-    }
-
-    /**
-     * Sets pessimistic transactions log size.
-     *
-     * @param pessimisticTxLogSize Pessimistic transactions log size.
-     * @see #getPessimisticTxLogSize()
-     */
-    public void setPessimisticTxLogSize(int pessimisticTxLogSize) {
-        this.pessimisticTxLogSize = pessimisticTxLogSize;
-    }
-
-    /**
-     * Gets delay, in milliseconds, after which pessimistic recovery entries will be cleaned up for failed node.
-     * <p>
-     * If not set, default value is {@link #DFLT_PESSIMISTIC_TX_LOG_LINGER}.
-     *
-     * @return Pessimistic log cleanup delay in milliseconds.
-     */
-    public int getPessimisticTxLogLinger() {
-        return pessimisticTxLogLinger;
-    }
-
-    /**
-     * Sets cleanup delay for pessimistic transaction recovery log for failed node, in milliseconds.
-     *
-     * @param pessimisticTxLogLinger Pessimistic log cleanup delay.
-     * @see #getPessimisticTxLogLinger()
-     */
-    public void setPessimisticTxLogLinger(int pessimisticTxLogLinger) {
-        this.pessimisticTxLogLinger = pessimisticTxLogLinger;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java b/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java
deleted file mode 100644
index 1c36cfd..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetrics.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import java.io.*;
-
-/**
- * Transaction metrics, shared across all caches.
- */
-public interface IgniteTxMetrics extends Serializable {
-    /**
-     * Gets last time transaction was committed.
-     *
-     * @return Last commit time.
-     */
-    public long commitTime();
-
-    /**
-     * Gets last time transaction was rollback.
-     *
-     * @return Last rollback time.
-     */
-    public long rollbackTime();
-
-    /**
-     * Gets total number of transaction commits.
-     *
-     * @return Number of transaction commits.
-     */
-    public int txCommits();
-
-    /**
-     * Gets total number of transaction rollbacks.
-     *
-     * @return Number of transaction rollbacks.
-     */
-    public int txRollbacks();
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java
deleted file mode 100644
index f9214d4..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/cache/IgniteTxMetricsAdapter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid.cache;
-
-import org.gridgain.grid.util.typedef.internal.*;
-
-import java.io.*;
-
-/**
- * Tx metrics adapter.
- */
-public class IgniteTxMetricsAdapter implements IgniteTxMetrics, Externalizable {
-    /** Number of transaction commits. */
-    private volatile int txCommits;
-
-    /** Number of transaction rollbacks. */
-    private volatile int txRollbacks;
-
-    /** Last commit time. */
-    private volatile long commitTime;
-
-    /** Last rollback time. */
-    private volatile long rollbackTime;
-
-    /**
-     *
-     */
-    public IgniteTxMetricsAdapter() {
-
-    }
-
-    /**
-     * @param m Transaction metrics to copy.
-     */
-    public IgniteTxMetricsAdapter(IgniteTxMetrics m) {
-        commitTime = m.commitTime();
-        rollbackTime = m.rollbackTime();
-        txCommits = m.txCommits();
-        txRollbacks = m.txRollbacks();
-    }
-
-    /** {@inheritDoc} */
-    @Override public long commitTime() {
-        return commitTime;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long rollbackTime() {
-        return rollbackTime;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int txCommits() {
-        return txCommits;
-    }
-
-    /** {@inheritDoc} */
-    @Override public int txRollbacks() {
-        return txRollbacks;
-    }
-
-    /**
-     * Transaction commit callback.
-     */
-    public void onTxCommit() {
-        commitTime = U.currentTimeMillis();
-
-        txCommits++;
-    }
-
-    /**
-     * Transaction rollback callback.
-     */
-    public void onTxRollback() {
-        rollbackTime = U.currentTimeMillis();
-
-        txRollbacks++;
-    }
-
-    /** {@inheritDoc} */
-    @Override public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeLong(commitTime);
-        out.writeLong(rollbackTime);
-        out.writeInt(txCommits);
-        out.writeInt(txRollbacks);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        commitTime = in.readLong();
-        rollbackTime = in.readLong();
-        txCommits = in.readInt();
-        txRollbacks = in.readInt();
-    }
-
-    /** {@inheritDoc} */
-    @Override public String toString() {
-        return S.toString(IgniteTxMetricsAdapter.class, this);
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
index 5b45feb..c3eceb6 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheLoadOnlyStoreAdapter.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.cache.store;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
index 4bf2fc0..51ce99a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStore.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.cache.store;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.portables.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.jdbc.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
index 7aa19ab..c12b3e7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreAdapter.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.cache.store;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
index 81bd4ac..aeba9c8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/GridCacheStoreBalancingWrapper.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.cache.store;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.typedef.*;
 import org.jdk8.backport.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java b/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
index ffd324d..2624cb3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStore.java
@@ -12,8 +12,7 @@ package org.gridgain.grid.cache.store.jdbc;
 import org.apache.ignite.*;
 import org.apache.ignite.marshaller.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
index 5215654..555ab55 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridGainEx.java
@@ -1381,7 +1381,7 @@ public class GridGainEx {
             myCfg.setWarmupClosure(cfg.getWarmupClosure());
             myCfg.setDotNetConfiguration(cfg.getDotNetConfiguration());
             myCfg.setPluginConfigurations(cfg.getPluginConfigurations());
-            myCfg.setTransactionsConfiguration(new GridTransactionsConfiguration(cfg.getTransactionsConfiguration()));
+            myCfg.setTransactionsConfiguration(new TransactionsConfiguration(cfg.getTransactionsConfiguration()));
             myCfg.setQueryConfiguration(cfg.getQueryConfiguration());
 
             ClientConnectionConfiguration clientCfg = cfg.getClientConnectionConfiguration();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/GridNodeAttributes.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/GridNodeAttributes.java b/modules/core/src/main/java/org/gridgain/grid/kernal/GridNodeAttributes.java
index 974df08..1053ecf 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridNodeAttributes.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridNodeAttributes.java
@@ -53,6 +53,9 @@ public final class GridNodeAttributes {
     public static final String ATTR_CACHE = ATTR_PREFIX + ".cache";
 
     /** Internal attribute name constant. */
+    public static final String ATTR_TX_CONFIG = ATTR_PREFIX + ".tx";
+
+    /** Internal attribute name constant. */
     @Deprecated
     public static final String ATTR_CACHE_PORTABLE = ATTR_PREFIX + ".cache.portable";
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
index 8666e66..286acd5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/IgniteTransactionsEx.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal;
 
 import org.apache.ignite.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
index 92b5e62..c3a871a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheAdapter.java
@@ -18,6 +18,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
 import org.apache.ignite.portables.*;
 import org.apache.ignite.resources.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
@@ -50,8 +51,8 @@ import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheFlag.*;
 import static org.gridgain.grid.cache.GridCachePeekMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.kernal.GridClosureCallMode.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 import static org.gridgain.grid.kernal.processors.task.GridTaskThreadContextKey.*;
@@ -3113,7 +3114,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
 
     /** {@inheritDoc} */
     @Override public GridCacheTx txStart() throws IllegalStateException {
-        GridTransactionsConfiguration cfg = ctx.gridConfig().getTransactionsConfiguration();
+        TransactionsConfiguration cfg = ctx.gridConfig().getTransactionsConfiguration();
 
         return txStart(cfg.getDefaultTxConcurrency(), cfg.getDefaultTxIsolation());
     }
@@ -3123,7 +3124,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
-        GridTransactionsConfiguration cfg = ctx.gridConfig().getTransactionsConfiguration();
+        TransactionsConfiguration cfg = ctx.gridConfig().getTransactionsConfiguration();
 
         return txStart(
             concurrency,
@@ -3602,7 +3603,7 @@ public abstract class GridCacheAdapter<K, V> extends GridMetadataAwareAdapter im
         GridCacheTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx();
 
         if (tx == null || tx.implicit()) {
-            GridTransactionsConfiguration tCfg = ctx.gridConfig().getTransactionsConfiguration();
+            TransactionsConfiguration tCfg = ctx.gridConfig().getTransactionsConfiguration();
 
             tx = ctx.tm().newTx(
                 true,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
index 08c2b58..9218c8c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheEventManager.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.managers.eventstorage.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
index bc6e120..aad2447 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMapEntry.java
@@ -34,7 +34,7 @@ import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
index 44e9711..36ee08b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiTxFuture.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
index c38d853..b8a5c92 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProcessor.java
@@ -53,7 +53,7 @@ import static org.gridgain.grid.cache.GridCacheConfiguration.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 import static org.gridgain.grid.kernal.GridComponentType.*;
 import static org.gridgain.grid.kernal.GridNodeAttributes.*;
@@ -899,6 +899,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
 
         attrs.put(ATTR_CACHE_PORTABLE, attrPortable);
 
+        attrs.put(ATTR_TX_CONFIG, ctx.config().getTransactionsConfiguration());
+
         if (!interceptors.isEmpty())
             attrs.put(ATTR_CACHE_INTERCEPTORS, interceptors);
     }
@@ -1001,6 +1003,8 @@ public class GridCacheProcessor extends GridProcessorAdapter {
      * @throws IgniteCheckedException If check failed.
      */
     private void checkCache(ClusterNode rmt) throws IgniteCheckedException {
+        checkTransactionConfiguration(rmt);
+
         GridCacheAttributes[] rmtAttrs = U.cacheAttributes(rmt);
         GridCacheAttributes[] locAttrs = U.cacheAttributes(ctx.discovery().localNode());
 
@@ -1011,8 +1015,6 @@ public class GridCacheProcessor extends GridProcessorAdapter {
         IgniteDeploymentMode locDepMode = ctx.config().getDeploymentMode();
         IgniteDeploymentMode rmtDepMode = rmt.attribute(GridNodeAttributes.ATTR_DEPLOYMENT_MODE);
 
-        // TODO GG-9141 Check tx configuration consistency.
-
         for (GridCacheAttributes rmtAttr : rmtAttrs) {
             for (GridCacheAttributes locAttr : locAttrs) {
                 if (F.eq(rmtAttr.cacheName(), locAttr.cacheName())) {
@@ -1168,6 +1170,25 @@ public class GridCacheProcessor extends GridProcessorAdapter {
     }
 
     /**
+     * @param rmt Remote node to check.
+     * @throws IgniteCheckedException If check failed.
+     */
+    private void checkTransactionConfiguration(ClusterNode rmt) throws IgniteCheckedException {
+        TransactionsConfiguration txCfg = rmt.attribute(ATTR_TX_CONFIG);
+
+        if (txCfg != null) {
+            TransactionsConfiguration locTxCfg = ctx.config().getTransactionsConfiguration();
+
+            if (locTxCfg.isTxSerializableEnabled() != txCfg.isTxSerializableEnabled())
+                throw new IgniteCheckedException("Serializable transactions enabled mismatch " +
+                    "(fix txSerializableEnabled property or set -D" + GG_SKIP_CONFIGURATION_CONSISTENCY_CHECK + "=true " +
+                    "system property) [rmtNodeId=" + rmt.id() +
+                    ", locTxSerializableEnabled=" + locTxCfg.isTxSerializableEnabled() +
+                    ", rmtTxSerializableEnabled=" + txCfg.isTxSerializableEnabled() + ']');
+        }
+    }
+
+    /**
      * Checks if store check should be skipped for given nodes.
      *
      * @param locAttr Local node attributes.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
index d8fbdfe..eb4cc44 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionEx.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
index 0e7c21c..a835382 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProjectionImpl.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.portables.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
index 8b6ade8..3c1e1d3 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheProxyImpl.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.datastructures.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
index ba2bfe1..40a094a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheSharedContext.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.communication.*;
@@ -149,7 +150,7 @@ public class GridCacheSharedContext<K, V> {
      *
      * @return Transactions configuration.
      */
-    public GridTransactionsConfiguration txConfig() {
+    public TransactionsConfiguration txConfig() {
         return kernalCtx.config().getTransactionsConfiguration();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
index e80f8b7..5438cd2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.processors.interop.*;
 import org.gridgain.grid.util.lang.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
index ebd862b..df77427 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAdapter.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.*;
@@ -30,9 +30,9 @@ import java.util.concurrent.locks.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
index 0dda62b..636f4e0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxEx.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.timeout.*;
 import org.gridgain.grid.util.lang.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
index c3ff36c..c16b103 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxHandler.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
@@ -24,9 +24,9 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
index b1872be..85702a7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxLocalAdapter.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
 import org.apache.ignite.portables.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
 import org.gridgain.grid.kernal.processors.cache.dr.*;
@@ -30,7 +31,7 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
index cad83e5..bf31af4 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxManager.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.managers.eventstorage.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
@@ -33,8 +33,8 @@ import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheTxEx.FinalizationStatus.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 import static org.gridgain.grid.util.GridConcurrentFactory.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
index 29c7ac6..fe7c15b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxy.java
@@ -9,7 +9,7 @@
 
 package org.gridgain.grid.kernal.processors.cache;
 
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 
 /**
  * Marker interface for transaction proxy.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
index 4e61db6..07ce436 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxProxyImpl.java
@@ -11,8 +11,8 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
index acd81ef..e081126 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheUtils.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
index e9f6828..043f702 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheWriteBehindStore.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.lifecycle.*;
 import org.apache.ignite.thread.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
index 18f31b0..d42ba00 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicLongImpl.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -21,8 +22,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Cache atomic long implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
index 492c6df..908e28c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicReferenceImpl.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -22,8 +22,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Cache atomic reference implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
index 8785b2a..80f7e09 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicSequenceImpl.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -26,8 +26,8 @@ import java.util.concurrent.atomic.*;
 import java.util.concurrent.locks.*;
 
 import static java.util.concurrent.TimeUnit.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Cache sequence implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
index 2f6aaf0..e4a0b55 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAtomicStampedImpl.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -24,8 +24,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Cache atomic stamped implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
index 039a286..559bdbe 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheCountDownLatchImpl.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.*;
@@ -22,8 +22,8 @@ import java.io.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Cache count down latch implementation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
index 3b768d9..3066811 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheDataStructuresManager.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.*;
@@ -34,8 +34,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicWriteOrderMode.*;
 import static org.gridgain.grid.cache.GridCacheFlag.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.kernal.GridClosureCallMode.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
index 6eb2a17..ef64d31 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridTransactionalCacheQueueImpl.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -19,8 +19,8 @@ import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * {@link GridCacheQueue} implementation using transactional cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
index 21e0b8b..9a5fc79 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedCacheAdapter.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
index 519c3b7..49cd2d5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedLockRequest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.direct.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index 6c48627..8f92460 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@ -10,7 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.direct.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
index f38d483..248b4a0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
@@ -25,7 +26,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.dr.GridDrType.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 0187e5f..2b351d2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
index 0f115c1..340e242 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtLockRequest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
index 2113a68..fee6d0a 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
@@ -27,8 +28,8 @@ import org.jetbrains.annotations.*;
 import java.io.*;
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index d65de8c..2f1c971 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.util.typedef.*;
@@ -25,7 +25,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
index 21cccf0..865100d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
index 8147878..1a0d840 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocal.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.near.*;
@@ -25,7 +25,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
index 0d84353..f6cc67d 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
@@ -27,7 +28,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 21339b9..6228228 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -28,7 +28,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
index e71b0fb..d5c43a8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/GridDhtTxRemote.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.util.tostring.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index b8998e2..77796fc 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.communication.*;
 import org.gridgain.grid.kernal.processors.cache.*;


[03/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index 8e9f808..6e322a7 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index baa7ead..4038c01 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.dht.colocated;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
index ce5e19c..01f85ef 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearAtomicCache.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
index 6e1f494..295be87 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearGetFuture.java
@@ -12,7 +12,6 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
@@ -29,7 +28,7 @@ import java.util.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
index f0ce36b..42a6bb9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
index abcc189..578551f 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearLockRequest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
index 7a71452..65a30e5 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
@@ -26,7 +27,7 @@ import java.io.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 
 /**
  * Near cache for transactional cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index f1000f8..1a3aba0 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.util.typedef.*;
@@ -26,7 +26,7 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
index 9b0abdf..b178649 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxLocal.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;
@@ -31,7 +31,7 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index 9d07a54..d87a50c 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.distributed.near;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.managers.discovery.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
@@ -29,7 +29,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
index 938e2d2..2e07253 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridNearTxRemote.java
@@ -10,7 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache.distributed.near;
 
 import org.apache.ignite.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.*;
 import org.gridgain.grid.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
index 8edcf9c..ad70c79 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalCache.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.local;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.future.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
index aac60fd..6356034 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTx.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache.local;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.future.*;
 import org.gridgain.grid.util.tostring.*;
@@ -21,7 +21,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 
 /**
  * Local cache transaction.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
index a40ddbb..8a19fb9 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/GridLocalTxFuture.java
@@ -12,8 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.local;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.gridgain.grid.util.future.*;
@@ -23,7 +22,7 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 
 /**
  * Replicated cache transaction future.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
index e4d6b00..a46d809 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/local/atomic/GridLocalAtomicCache.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache.local.atomic;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.plugin.security.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.kernal.processors.cache.local.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
index aece7cf..7ce1e11 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTransactionsImpl.java
@@ -10,8 +10,9 @@
 package org.gridgain.grid.kernal.processors.cache.transactions;
 
 import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.*;
 import org.gridgain.grid.util.typedef.*;
@@ -21,7 +22,7 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheFlag.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Grid transactions implementation.
@@ -39,7 +40,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
 
     /** {@inheritDoc} */
     @Override public GridCacheTx txStart() throws IllegalStateException {
-        GridTransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
+        TransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
 
         return txStart0(
             cfg.getDefaultTxConcurrency(),
@@ -55,7 +56,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
         A.notNull(concurrency, "concurrency");
         A.notNull(isolation, "isolation");
 
-        GridTransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
+        TransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
 
         return txStart0(
             concurrency,
@@ -109,7 +110,7 @@ public class IgniteTransactionsImpl<K, V> implements IgniteTransactionsEx {
      */
     private GridCacheTx txStart0(GridCacheTxConcurrency concurrency, GridCacheTxIsolation isolation,
         long timeout, int txSize, boolean sys) {
-        GridTransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
+        TransactionsConfiguration cfg = cctx.gridConfig().getTransactionsConfiguration();
 
         if (!cfg.isTxSerializableEnabled() && isolation == SERIALIZABLE)
             throw new IllegalArgumentException("SERIALIZABLE isolation level is disabled (to enable change " +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
index b097c8a..421f24e 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/dataload/GridDataLoadCacheUpdaters.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.dataload;
 
 import org.apache.ignite.*;
 import org.apache.ignite.dataload.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.jetbrains.annotations.*;
@@ -18,8 +19,8 @@ import org.jetbrains.annotations.*;
 import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Bundled factory for cache updaters.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
index a42f530..ddbeae2 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsDataManager.java
@@ -15,6 +15,7 @@ import org.apache.ignite.events.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.thread.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
@@ -41,8 +42,8 @@ import java.util.concurrent.atomic.*;
 import java.util.concurrent.locks.*;
 
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.kernal.GridTopic.*;
 import static org.gridgain.grid.kernal.managers.communication.GridIoPolicy.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
index 7ea2c03..0e2f286 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/ggfs/GridGgfsMetaManager.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.fs.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.managers.eventstorage.*;
@@ -30,8 +31,8 @@ import java.util.*;
 
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.ggfs.GridGgfsFileInfo.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
index 1a68cc7..b897b93 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/rest/handlers/cache/GridCacheCommandHandler.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.datastructures.*;
 import org.gridgain.grid.kernal.*;
@@ -32,8 +33,8 @@ import java.io.*;
 import java.util.*;
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.rest.GridRestCommand.*;
 import static org.gridgain.grid.kernal.processors.license.GridLicenseSubsystem.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
index 46ecf48..39215f8 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/service/GridServiceProcessor.java
@@ -17,6 +17,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.managed.*;
 import org.apache.ignite.marshaller.*;
 import org.apache.ignite.thread.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.query.GridCacheContinuousQueryEntry;
@@ -39,8 +40,8 @@ import java.util.concurrent.*;
 import static java.util.Map.*;
 import static org.apache.ignite.configuration.IgniteDeploymentMode.*;
 import static org.apache.ignite.events.IgniteEventType.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.kernal.processors.cache.GridCacheUtils.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
index 60b1608..1f21d68 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/visor/cache/VisorCacheDefaultConfiguration.java
@@ -9,6 +9,7 @@
 
 package org.gridgain.grid.kernal.visor.cache;
 
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.internal.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
index bf89359..49ec1ac 100644
--- a/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/gridgain/grid/util/future/GridCompoundFuture.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.util.future;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.util.tostring.*;
 import org.gridgain.grid.util.typedef.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
index f7d933a..a0eeae1 100644
--- a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridCacheBalancingStoreSelfTest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.cache.store;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.*;
 import org.gridgain.testframework.junits.common.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
index 640d46e..d2bbd3c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/cache/store/GridGeneratingTestStore.java
@@ -12,7 +12,7 @@ package org.gridgain.grid.cache.store;
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.util.typedef.*;
 import org.jetbrains.annotations.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
index 17d9f42..c52f744 100644
--- a/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/cache/store/jdbc/GridCacheJdbcBlobStoreMultithreadedSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.cache.store.jdbc;
 
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
index 856abfc..eb372e7 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/GridStartStopSelfTest.java
@@ -10,6 +10,7 @@ package org.gridgain.grid.kernal;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.*;
@@ -20,8 +21,8 @@ import java.util.concurrent.*;
 import static java.util.concurrent.TimeUnit.*;
 import static org.apache.ignite.IgniteSystemProperties.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Checks basic node start/stop operations.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
index 21851f7..9fd6470 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFailoverSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -24,8 +25,8 @@ import java.util.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Failover tests for cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
index 406440b..4cdebae 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractFullApiSelfTest.java
@@ -14,7 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.swapspace.inmemory.*;
 import org.gridgain.grid.kernal.*;
@@ -30,9 +30,9 @@ import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePeekMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
-import static org.gridgain.grid.cache.GridCacheTxState.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxState.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.testframework.GridTestUtils.*;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
index 9c0437f..a964433 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractProjectionSelfTest.java
@@ -10,7 +10,9 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 
@@ -770,7 +772,7 @@ public abstract class GridCacheAbstractProjectionSelfTest extends GridCacheAbstr
 
         tx.commit();
 
-        GridTransactionsConfiguration tCfg = grid(0).configuration().getTransactionsConfiguration();
+        TransactionsConfiguration tCfg = grid(0).configuration().getTransactionsConfiguration();
 
         tx = cache().txStart(
             tCfg.getDefaultTxConcurrency(),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
index 75c2503..5b246c4 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractSelfTest.java
@@ -17,6 +17,7 @@ import org.apache.ignite.marshaller.optimized.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
index a6b3f8f..f05fc8a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTtlSelfTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.lang.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
index df3353d..0ab26fe 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheAbstractTxReadTest.java
@@ -10,6 +10,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
index 0e2344e..96bab24 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreAbstractTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.junits.common.*;
@@ -24,8 +25,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
index a3cda3d..536c69a 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheBasicStoreMultithreadedAbstractTest.java
@@ -10,6 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
index 9a2a8e6..8fede87 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheClearAllSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
index dcbf820..01ce0af 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConcurrentTxMultiNodeTest.java
@@ -15,7 +15,7 @@ import org.apache.ignite.compute.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.datastructures.*;
@@ -40,8 +40,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
index b3731be..640667e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheConfigurationConsistencySelfTest.java
@@ -13,7 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.affinity.consistenthash.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
index b7363a7..06ff089 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDaemonNodeAbstractSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
@@ -23,8 +24,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test cache operations with daemon node.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
index 048099d..3fef406 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheDeploymentSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.marshaller.optimized.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.apache.ignite.spi.discovery.tcp.*;
@@ -30,8 +31,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.PESSIMISTIC;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.REPEATABLE_READ;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.REPEATABLE_READ;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
index 82b03f6..1f7b2c5 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheExAbstractFullApiSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.gridgain.testframework.*;
@@ -18,8 +19,8 @@ import org.gridgain.testframework.*;
 import java.util.concurrent.atomic.*;
 
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
index d5e744c..da92960 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheFinishPartitionsSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.util.typedef.*;
@@ -23,8 +24,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Abstract class for cache tests.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
index 2c82454..5402c41 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGenericTestStore.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.typedef.internal.*;
 import org.jetbrains.annotations.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
index 34cd126..f8d095f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockAbstractSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.communication.tcp.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.store.*;
@@ -35,8 +36,8 @@ import java.util.concurrent.atomic.*;
 import static org.apache.ignite.events.IgniteEventType.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test for group locking.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
index 7a9ac04..2d636d6 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheGroupLockPutTask.java
@@ -14,15 +14,15 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.compute.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.resources.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.jetbrains.annotations.*;
 
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Puts all the passed data into partitioned cache in small chunks.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
index b13e3ed..349e803 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheInterceptorAbstractSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.util.typedef.*;
@@ -23,7 +24,7 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicWriteOrderMode.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
 
 /**
  * Tests {@link GridCacheInterceptor}.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
index de09b1e..9b81b88 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.cache.cloner.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
index 8fd5f42..6ed7ff3 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMarshallerTxAbstractTest.java
@@ -10,7 +10,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
@@ -19,8 +19,8 @@ import org.gridgain.testframework.junits.common.*;
 import java.io.*;
 import java.util.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test transaction with wrong marshalling.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
index 1db99d9..d938916 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMixedPartitionExchangeSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.util.typedef.internal.*;
@@ -23,8 +24,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Test case checks partition exchange when non-cache node joins topology (partition

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
index 60ebe1a..f2b4525 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMultiUpdateLockSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.grid.kernal.processors.cache.distributed.dht.*;
@@ -28,8 +29,8 @@ import java.util.concurrent.atomic.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCachePreloadMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 import static org.gridgain.grid.cache.GridCacheWriteSynchronizationMode.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
index c20eb14..7ac0470 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheMvccManagerSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
index 28faeb4..1b1dc9b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheNestedTxAbstractTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.gridgain.testframework.junits.common.*;
@@ -22,8 +23,8 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Nested transaction emulation.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
index 3447112..b6b8a48 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheObjectToStringSelfTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.*;
 import org.gridgain.grid.cache.eviction.fifo.*;
@@ -26,8 +27,8 @@ import java.util.*;
 import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests that common cache objects' toString() methods do not lead to stack overflow.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
index 7e6099e..614eed8 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapMultiThreadedUpdateSelfTest.java
@@ -9,13 +9,14 @@
 
 package org.gridgain.grid.kernal.processors.cache;
 
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.testframework.*;
 
 import java.util.concurrent.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Multithreaded update test with off heap enabled.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
index b259529..d3c185f 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffHeapTieredAbstractSelfTest.java
@@ -12,6 +12,7 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.portables.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.util.typedef.*;
 import org.jetbrains.annotations.*;
@@ -24,8 +25,8 @@ import static org.gridgain.grid.cache.GridCacheAtomicityMode.*;
 import static org.gridgain.grid.cache.GridCacheDistributionMode.*;
 import static org.gridgain.grid.cache.GridCacheMemoryMode.*;
 import static org.gridgain.grid.cache.GridCacheMode.*;
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  *

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
index d69a373..4d4453e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheOffheapUpdateSelfTest.java
@@ -12,11 +12,12 @@ package org.gridgain.grid.kernal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.testframework.junits.common.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Check for specific support issue.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
index ced8020..eca8e0e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCachePartitionedWritesTest.java
@@ -9,6 +9,7 @@
 package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
index c01bb78..9946949 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReferenceCleanupSelfTest.java
@@ -13,6 +13,7 @@ import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.marshaller.optimized.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
index 3597047..0872b12 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheRefreshAheadAbstractSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.tostring.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
index db95ab4..58ecc84 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java
@@ -2,6 +2,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.eviction.lru.*;
 import org.gridgain.grid.cache.store.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
index 1d522e7..3a55089 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSlowTxWarnTest.java
@@ -11,6 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.kernal.*;
 import org.apache.ignite.spi.discovery.tcp.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
index 3402297..74e76aa 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStopSelfTest.java
@@ -14,6 +14,7 @@ import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.testframework.*;
 import org.gridgain.testframework.junits.common.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
index 6085c99..e84f96c 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheStorePutxSelfTest.java
@@ -15,6 +15,7 @@ import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.testframework.junits.common.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
index 2514bdb..5989cbc 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheSwapReloadSelfTest.java
@@ -18,6 +18,7 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
 import org.apache.ignite.spi.swapspace.*;
 import org.apache.ignite.spi.swapspace.file.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.kernal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
index 5db7493..f6f5894 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.lang.*;
-import org.gridgain.grid.cache.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.store.*;
 import org.gridgain.grid.util.*;
 import org.gridgain.grid.util.typedef.internal.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
index 5d3399c..d938a4e 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTransactionalAbstractMetricsSelfTest.java
@@ -9,10 +9,11 @@
 
 package org.gridgain.grid.kernal.processors.cache;
 
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Transactional cache metrics test.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/12b08c99/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
index acbe76f..1b1d21b 100644
--- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
+++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTxAbstractTest.java
@@ -11,7 +11,7 @@ package org.gridgain.grid.kernal.processors.cache;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
-import org.gridgain.grid.*;
+import org.apache.ignite.transactions.*;
 import org.gridgain.grid.cache.*;
 import org.gridgain.grid.cache.affinity.*;
 import org.gridgain.grid.kernal.*;
@@ -26,8 +26,8 @@ import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
-import static org.gridgain.grid.cache.GridCacheTxConcurrency.*;
-import static org.gridgain.grid.cache.GridCacheTxIsolation.*;
+import static org.apache.ignite.transactions.GridCacheTxConcurrency.*;
+import static org.apache.ignite.transactions.GridCacheTxIsolation.*;
 
 /**
  * Tests for local transactions.


[31/50] [abbrv] incubator-ignite git commit: GG-9141 - Renaming.

Posted by sb...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEntry.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEntry.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEntry.java
new file mode 100644
index 0000000..1cf0c33
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEntry.java
@@ -0,0 +1,1060 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.marshaller.optimized.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.util.lang.*;
+import org.gridgain.grid.util.tostring.*;
+import org.gridgain.grid.util.typedef.*;
+import org.gridgain.grid.util.typedef.internal.*;
+import org.jetbrains.annotations.*;
+
+import java.io.*;
+import java.util.*;
+import java.util.concurrent.atomic.*;
+
+import static org.gridgain.grid.kernal.processors.cache.GridCacheOperation.*;
+
+/**
+ * Transaction entry. Note that it is essential that this class does not override
+ * {@link #equals(Object)} method, as transaction entries should use referential
+ * equality.
+ */
+public class IgniteTxEntry<K, V> implements GridPeerDeployAware, Externalizable, IgniteOptimizedMarshallable {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /** */
+    @SuppressWarnings({"NonConstantFieldWithUpperCaseName", "AbbreviationUsage", "UnusedDeclaration"})
+    private static Object GG_CLASS_ID;
+
+    /** Owning transaction. */
+    @GridToStringExclude
+    private IgniteTxEx<K, V> tx;
+
+    /** Cache key. */
+    @GridToStringInclude
+    private K key;
+
+    /** Key bytes. */
+    private byte[] keyBytes;
+
+    /** Cache ID. */
+    private int cacheId;
+
+    /** Transient tx key. */
+    private IgniteTxKey<K> txKey;
+
+    /** Cache value. */
+    @GridToStringInclude
+    private TxEntryValueHolder<K, V> val = new TxEntryValueHolder<>();
+
+    /** Visible value for peek. */
+    @GridToStringInclude
+    private TxEntryValueHolder<K, V> prevVal = new TxEntryValueHolder<>();
+
+    /** Filter bytes. */
+    private byte[] filterBytes;
+
+    /** Transform. */
+    @GridToStringInclude
+    private Collection<IgniteClosure<V, V>> transformClosCol;
+
+    /** Transform closure bytes. */
+    @GridToStringExclude
+    private byte[] transformClosBytes;
+
+    /** Time to live. */
+    private long ttl;
+
+    /** DR expire time (explicit) */
+    private long drExpireTime = -1L;
+
+    /** Explicit lock version if there is one. */
+    @GridToStringInclude
+    private GridCacheVersion explicitVer;
+
+    /** DHT version. */
+    private transient volatile GridCacheVersion dhtVer;
+
+    /** Put filters. */
+    @GridToStringInclude
+    private IgnitePredicate<GridCacheEntry<K, V>>[] filters;
+
+    /** Flag indicating whether filters passed. Used for fast-commit transactions. */
+    private boolean filtersPassed;
+
+    /** Flag indicating that filter is set and can not be replaced. */
+    private transient boolean filtersSet;
+
+    /** Underlying cache entry. */
+    private transient volatile GridCacheEntryEx<K, V> entry;
+
+    /** Cache registry. */
+    private transient GridCacheContext<K, V> ctx;
+
+    /** Prepared flag to prevent multiple candidate add. */
+    @SuppressWarnings({"TransientFieldNotInitialized"})
+    private transient AtomicBoolean prepared = new AtomicBoolean();
+
+    /** Lock flag for colocated cache. */
+    private transient boolean locked;
+
+    /** Assigned node ID (required only for partitioned cache). */
+    private transient UUID nodeId;
+
+    /** Flag if this node is a back up node. */
+    private boolean locMapped;
+
+    /** Group lock entry flag. */
+    private boolean grpLock;
+
+    /** Flag indicating if this entry should be transferred to remote node. */
+    private boolean transferRequired;
+
+    /** Deployment enabled flag. */
+    private boolean depEnabled;
+
+    /** Data center replication version. */
+    private GridCacheVersion drVer;
+
+    /**
+     * Required by {@link Externalizable}
+     */
+    public IgniteTxEntry() {
+        /* No-op. */
+    }
+
+    /**
+     * This constructor is meant for remote transactions.
+     *
+     * @param ctx Cache registry.
+     * @param tx Owning transaction.
+     * @param op Operation.
+     * @param val Value.
+     * @param ttl Time to live.
+     * @param drExpireTime DR expire time.
+     * @param entry Cache entry.
+     * @param drVer Data center replication version.
+     */
+    public IgniteTxEntry(GridCacheContext<K, V> ctx, IgniteTxEx<K, V> tx, GridCacheOperation op, V val,
+        long ttl, long drExpireTime, GridCacheEntryEx<K, V> entry, @Nullable GridCacheVersion drVer) {
+        assert ctx != null;
+        assert tx != null;
+        assert op != null;
+        assert entry != null;
+
+        this.ctx = ctx;
+        this.tx = tx;
+        this.val.value(op, val, false, false);
+        this.entry = entry;
+        this.ttl = ttl;
+        this.drExpireTime = drExpireTime;
+        this.drVer = drVer;
+
+        key = entry.key();
+        keyBytes = entry.keyBytes();
+
+        cacheId = entry.context().cacheId();
+
+        depEnabled = ctx.gridDeploy().enabled();
+    }
+
+    /**
+     * This constructor is meant for local transactions.
+     *
+     * @param ctx Cache registry.
+     * @param tx Owning transaction.
+     * @param op Operation.
+     * @param val Value.
+     * @param transformClos Transform closure.
+     * @param ttl Time to live.
+     * @param entry Cache entry.
+     * @param filters Put filters.
+     * @param drVer Data center replication version.
+     */
+    public IgniteTxEntry(GridCacheContext<K, V> ctx, IgniteTxEx<K, V> tx, GridCacheOperation op,
+        V val, IgniteClosure<V, V> transformClos, long ttl, GridCacheEntryEx<K, V> entry,
+        IgnitePredicate<GridCacheEntry<K, V>>[] filters, GridCacheVersion drVer) {
+        assert ctx != null;
+        assert tx != null;
+        assert op != null;
+        assert entry != null;
+
+        this.ctx = ctx;
+        this.tx = tx;
+        this.val.value(op, val, false, false);
+        this.entry = entry;
+        this.ttl = ttl;
+        this.filters = filters;
+        this.drVer = drVer;
+
+        if (transformClos != null)
+            addTransformClosure(transformClos);
+
+        key = entry.key();
+        keyBytes = entry.keyBytes();
+
+        cacheId = entry.context().cacheId();
+
+        depEnabled = ctx.gridDeploy().enabled();
+    }
+
+    /**
+     * @return Cache context for this tx entry.
+     */
+    public GridCacheContext<K, V> context() {
+        return ctx;
+    }
+
+    /**
+     * @return Flag indicating if this entry is affinity mapped to the same node.
+     */
+    public boolean locallyMapped() {
+        return locMapped;
+    }
+
+    /**
+     * @param locMapped Flag indicating if this entry is affinity mapped to the same node.
+     */
+    public void locallyMapped(boolean locMapped) {
+        this.locMapped = locMapped;
+    }
+
+    /**
+     * @return {@code True} if this entry was added in group lock transaction and
+     *      this is not a group lock entry.
+     */
+    public boolean groupLockEntry() {
+        return grpLock;
+    }
+
+    /**
+     * @param grpLock {@code True} if this entry was added in group lock transaction and
+     *      this is not a group lock entry.
+     */
+    public void groupLockEntry(boolean grpLock) {
+        this.grpLock = grpLock;
+    }
+
+    /**
+     * @param transferRequired Sets flag indicating that transfer is required to remote node.
+     */
+    public void transferRequired(boolean transferRequired) {
+        this.transferRequired = transferRequired;
+    }
+
+    /**
+     * @return Flag indicating whether transfer is required to remote nodes.
+     */
+    public boolean transferRequired() {
+        return transferRequired;
+    }
+
+    /**
+     * @param ctx Context.
+     * @return Clean copy of this entry.
+     */
+    public IgniteTxEntry<K, V> cleanCopy(GridCacheContext<K, V> ctx) {
+        IgniteTxEntry<K, V> cp = new IgniteTxEntry<>();
+
+        cp.key = key;
+        cp.cacheId = cacheId;
+        cp.ctx = ctx;
+
+        cp.val = new TxEntryValueHolder<>();
+
+        cp.keyBytes = keyBytes;
+        cp.filters = filters;
+        cp.val.value(val.op(), val.value(), val.hasWriteValue(), val.hasReadValue());
+        cp.val.valueBytes(val.valueBytes());
+        cp.transformClosCol = transformClosCol;
+        cp.ttl = ttl;
+        cp.drExpireTime = drExpireTime;
+        cp.explicitVer = explicitVer;
+        cp.grpLock = grpLock;
+        cp.depEnabled = depEnabled;
+        cp.drVer = drVer;
+
+        return cp;
+    }
+
+    /**
+     * @return Node ID.
+     */
+    public UUID nodeId() {
+        return nodeId;
+    }
+
+    /**
+     * @param nodeId Node ID.
+     */
+    public void nodeId(UUID nodeId) {
+        this.nodeId = nodeId;
+    }
+
+    /**
+     * @return DHT version.
+     */
+    public GridCacheVersion dhtVersion() {
+        return dhtVer;
+    }
+
+    /**
+     * @param dhtVer DHT version.
+     */
+    public void dhtVersion(GridCacheVersion dhtVer) {
+        this.dhtVer = dhtVer;
+    }
+
+    /**
+     * @return {@code True} if tx entry was marked as locked.
+     */
+    public boolean locked() {
+        return locked;
+    }
+
+    /**
+     * Marks tx entry as locked.
+     */
+    public void markLocked() {
+        locked = true;
+    }
+
+    /**
+     * @param val Value to set.
+     */
+    void setAndMarkValid(V val) {
+        setAndMarkValid(op(), val, this.val.hasWriteValue(), this.val.hasReadValue());
+    }
+
+    /**
+     * @param op Operation.
+     * @param val Value to set.
+     */
+    void setAndMarkValid(GridCacheOperation op, V val) {
+        setAndMarkValid(op, val, this.val.hasWriteValue(), this.val.hasReadValue());
+    }
+
+    /**
+     * @param op Operation.
+     * @param val Value to set.
+     * @param hasReadVal Has read value flag.
+     * @param hasWriteVal Has write value flag.
+     */
+    void setAndMarkValid(GridCacheOperation op, V val, boolean hasWriteVal, boolean hasReadVal) {
+        this.val.value(op, val, hasWriteVal, hasReadVal);
+
+        markValid();
+    }
+
+    /**
+     * Marks this entry as value-has-bean-read. Effectively, makes values enlisted to transaction visible
+     * to further peek operations.
+     */
+    void markValid() {
+        prevVal.value(val.op(), val.value(), val.hasWriteValue(), val.hasReadValue());
+    }
+
+    /**
+     * Marks entry as prepared.
+     *
+     * @return True if entry was marked prepared by this call.
+     */
+    boolean markPrepared() {
+        return prepared.compareAndSet(false, true);
+    }
+
+    /**
+     * @return Entry key.
+     */
+    public K key() {
+        return key;
+    }
+
+    /**
+     * @return Cache ID.
+     */
+    public int cacheId() {
+        return cacheId;
+    }
+
+    /**
+     * @return Tx key.
+     */
+    public IgniteTxKey<K> txKey() {
+        if (txKey == null)
+            txKey = new IgniteTxKey<>(key, cacheId);
+
+        return txKey;
+    }
+
+    /**
+     *
+     * @return Key bytes.
+     */
+    @Nullable public byte[] keyBytes() {
+        byte[] bytes = keyBytes;
+
+        if (bytes == null && entry != null) {
+            bytes = entry.keyBytes();
+
+            keyBytes = bytes;
+        }
+
+        return bytes;
+    }
+
+    /**
+     * @param keyBytes Key bytes.
+     */
+    public void keyBytes(byte[] keyBytes) {
+        initKeyBytes(keyBytes);
+    }
+
+    /**
+     * @return Underlying cache entry.
+     */
+    public GridCacheEntryEx<K, V> cached() {
+        return entry;
+    }
+
+    /**
+     * @param entry Cache entry.
+     * @param keyBytes Key bytes, possibly {@code null}.
+     */
+    public void cached(GridCacheEntryEx<K,V> entry, @Nullable byte[] keyBytes) {
+        assert entry != null;
+
+        assert entry.context() == ctx : "Invalid entry assigned to tx entry [txEntry=" + this +
+            ", entry=" + entry + ", ctxNear=" + ctx.isNear() + ", ctxDht=" + ctx.isDht() + ']';
+
+        this.entry = entry;
+
+        initKeyBytes(keyBytes);
+    }
+
+    /**
+     * Initialized key bytes locally and on the underlying entry.
+     *
+     * @param bytes Key bytes to initialize.
+     */
+    private void initKeyBytes(@Nullable byte[] bytes) {
+        if (bytes != null) {
+            keyBytes = bytes;
+
+            while (true) {
+                try {
+                    if (entry != null)
+                        entry.keyBytes(bytes);
+
+                    break;
+                }
+                catch (GridCacheEntryRemovedException ignore) {
+                    entry = ctx.cache().entryEx(key);
+                }
+            }
+        }
+        else if (entry != null) {
+            bytes = entry.keyBytes();
+
+            if (bytes != null)
+                keyBytes = bytes;
+        }
+    }
+
+    /**
+     * @return Entry value.
+     */
+    @Nullable public V value() {
+        return val.value();
+    }
+
+    /**
+     * @return {@code True} if has value explicitly set.
+     */
+    public boolean hasValue() {
+        return val.hasValue();
+    }
+
+    /**
+     * @return {@code True} if has write value set.
+     */
+    public boolean hasWriteValue() {
+        return val.hasWriteValue();
+    }
+
+    /**
+     * @return {@code True} if has read value set.
+     */
+    public boolean hasReadValue() {
+        return val.hasReadValue();
+    }
+
+    /**
+     * @return Value visible for peek.
+     */
+    @Nullable public V previousValue() {
+        return prevVal.value();
+    }
+
+    /**
+     * @return {@code True} if has previous value explicitly set.
+     */
+    boolean hasPreviousValue() {
+        return prevVal.hasValue();
+    }
+
+    /**
+     * @return Previous operation to revert entry in case of filter failure.
+     */
+    @Nullable public GridCacheOperation previousOperation() {
+        return prevVal.op();
+    }
+
+    /**
+     * @return Value bytes.
+     */
+    @Nullable public byte[] valueBytes() {
+        return val.valueBytes();
+    }
+
+    /**
+     * @param valBytes Value bytes.
+     */
+    public void valueBytes(@Nullable byte[] valBytes) {
+        val.valueBytes(valBytes);
+    }
+
+    /**
+     * @return Time to live.
+     */
+    public long ttl() {
+        return ttl;
+    }
+
+    /**
+     * @param ttl Time to live.
+     */
+    public void ttl(long ttl) {
+        this.ttl = ttl;
+    }
+
+    /**
+     * @return DR expire time.
+     */
+    public long drExpireTime() {
+        return drExpireTime;
+    }
+
+    /**
+     * @param drExpireTime DR expire time.
+     */
+    public void drExpireTime(long drExpireTime) {
+        this.drExpireTime = drExpireTime;
+    }
+
+    /**
+     * @param val Entry value.
+     * @param writeVal Write value flag.
+     * @param readVal Read value flag.
+     */
+    public void value(@Nullable V val, boolean writeVal, boolean readVal) {
+        this.val.value(this.val.op(), val, writeVal, readVal);
+    }
+
+    /**
+     * Sets read value if this tx entrty does not have write value yet.
+     *
+     * @param val Read value to set.
+     */
+    public void readValue(@Nullable V val) {
+        this.val.value(this.val.op(), val, false, true);
+    }
+
+    /**
+     * @param transformClos Transform closure.
+     */
+    public void addTransformClosure(IgniteClosure<V, V> transformClos) {
+        if (transformClosCol  == null)
+            transformClosCol = new LinkedList<>();
+
+        transformClosCol.add(transformClos);
+
+        // Must clear transform closure bytes since collection has changed.
+        transformClosBytes = null;
+
+        val.op(TRANSFORM);
+    }
+
+    /**
+     * @return Collection of transform closures.
+     */
+    public Collection<IgniteClosure<V, V>> transformClosures() {
+        return transformClosCol;
+    }
+
+    /**
+     * @param transformClosCol Collection of transform closures.
+     */
+    public void transformClosures(@Nullable Collection<IgniteClosure<V, V>> transformClosCol) {
+        this.transformClosCol = transformClosCol;
+
+        // Must clear transform closure bytes since collection has changed.
+        transformClosBytes = null;
+    }
+
+    /**
+     * @return Cache operation.
+     */
+    public GridCacheOperation op() {
+        return val.op();
+    }
+
+    /**
+     * @param op Cache operation.
+     */
+    public void op(GridCacheOperation op) {
+        val.op(op);
+    }
+
+    /**
+     * @return {@code True} if read entry.
+     */
+    public boolean isRead() {
+        return op() == READ;
+    }
+
+    /**
+     * @param explicitVer Explicit version.
+     */
+    public void explicitVersion(GridCacheVersion explicitVer) {
+        this.explicitVer = explicitVer;
+    }
+
+    /**
+     * @return Explicit version.
+     */
+    public GridCacheVersion explicitVersion() {
+        return explicitVer;
+    }
+
+    /**
+     * @return DR version.
+     */
+    @Nullable public GridCacheVersion drVersion() {
+        return drVer;
+    }
+
+    /**
+     * @param drVer DR version.
+     */
+    public void drVersion(@Nullable GridCacheVersion drVer) {
+        this.drVer = drVer;
+    }
+
+    /**
+     * @return Put filters.
+     */
+    public IgnitePredicate<GridCacheEntry<K, V>>[] filters() {
+        return filters;
+    }
+
+    /**
+     * @param filters Put filters.
+     */
+    public void filters(IgnitePredicate<GridCacheEntry<K, V>>[] filters) {
+        filterBytes = null;
+
+        this.filters = filters;
+    }
+
+    /**
+     * @return {@code True} if filters passed for fast-commit transactions.
+     */
+    public boolean filtersPassed() {
+        return filtersPassed;
+    }
+
+    /**
+     * @param filtersPassed {@code True} if filters passed for fast-commit transactions.
+     */
+    public void filtersPassed(boolean filtersPassed) {
+        this.filtersPassed = filtersPassed;
+    }
+
+    /**
+     * @return {@code True} if filters are set.
+     */
+    public boolean filtersSet() {
+        return filtersSet;
+    }
+
+    /**
+     * @param filtersSet {@code True} if filters are set and should not be replaced.
+     */
+    public void filtersSet(boolean filtersSet) {
+        this.filtersSet = filtersSet;
+    }
+
+    /**
+     * @param ctx Context.
+     * @throws IgniteCheckedException If failed.
+     */
+    public void marshal(GridCacheSharedContext<K, V> ctx) throws IgniteCheckedException {
+        // Do not serialize filters if they are null.
+        if (depEnabled) {
+            if (keyBytes == null)
+                keyBytes = entry.getOrMarshalKeyBytes();
+
+            if (transformClosBytes == null && transformClosCol != null)
+                transformClosBytes = CU.marshal(ctx, transformClosCol);
+
+            if (F.isEmptyOrNulls(filters))
+                filterBytes = null;
+            else if (filterBytes == null)
+                filterBytes = CU.marshal(ctx, filters);
+        }
+
+        val.marshal(ctx, context(), depEnabled);
+    }
+
+    /**
+     * Unmarshalls entry.
+     *
+     * @param ctx Cache context.
+     * @param clsLdr Class loader.
+     * @throws IgniteCheckedException If un-marshalling failed.
+     */
+    public void unmarshal(GridCacheSharedContext<K, V> ctx, boolean near, ClassLoader clsLdr) throws IgniteCheckedException {
+        if (this.ctx == null) {
+            GridCacheContext<K, V> cacheCtx = ctx.cacheContext(cacheId);
+
+            if (cacheCtx.isNear() && !near)
+                cacheCtx = cacheCtx.near().dht().context();
+            else if (!cacheCtx.isNear() && near)
+                cacheCtx = cacheCtx.dht().near().context();
+
+            this.ctx = cacheCtx;
+        }
+
+        if (depEnabled) {
+            // Don't unmarshal more than once by checking key for null.
+            if (key == null)
+                key = ctx.marshaller().unmarshal(keyBytes, clsLdr);
+
+            // Unmarshal transform closure anyway if it exists.
+            if (transformClosBytes != null && transformClosCol == null)
+                transformClosCol = ctx.marshaller().unmarshal(transformClosBytes, clsLdr);
+
+            if (filters == null && filterBytes != null) {
+                filters = ctx.marshaller().unmarshal(filterBytes, clsLdr);
+
+                if (filters == null)
+                    filters = CU.empty();
+            }
+        }
+
+        val.unmarshal(this.ctx, clsLdr, depEnabled);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void writeExternal(ObjectOutput out) throws IOException {
+        out.writeBoolean(depEnabled);
+
+        if (depEnabled) {
+            U.writeByteArray(out, keyBytes);
+            U.writeByteArray(out, transformClosBytes);
+            U.writeByteArray(out, filterBytes);
+        }
+        else {
+            out.writeObject(key);
+            U.writeCollection(out, transformClosCol);
+            U.writeArray(out, filters);
+        }
+
+        out.writeInt(cacheId);
+
+        val.writeTo(out);
+
+        out.writeLong(ttl);
+        out.writeLong(drExpireTime);
+
+        CU.writeVersion(out, explicitVer);
+        out.writeBoolean(grpLock);
+        CU.writeVersion(out, drVer);
+    }
+
+    /** {@inheritDoc} */
+    @SuppressWarnings({"unchecked"})
+    @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+        depEnabled = in.readBoolean();
+
+        if (depEnabled) {
+            keyBytes = U.readByteArray(in);
+            transformClosBytes = U.readByteArray(in);
+            filterBytes = U.readByteArray(in);
+        }
+        else {
+            key = (K)in.readObject();
+            transformClosCol = U.readCollection(in);
+            filters = U.readEntryFilterArray(in);
+        }
+
+        cacheId = in.readInt();
+
+        val.readFrom(in);
+
+        ttl = in.readLong();
+        drExpireTime = in.readLong();
+
+        explicitVer = CU.readVersion(in);
+        grpLock = in.readBoolean();
+        drVer = CU.readVersion(in);
+    }
+
+    /** {@inheritDoc} */
+    @Override public Object ggClassId() {
+        return GG_CLASS_ID;
+    }
+
+    /** {@inheritDoc} */
+    @Override public Class<?> deployClass() {
+        ClassLoader clsLdr = getClass().getClassLoader();
+
+        V val = value();
+
+        // First of all check classes that may be loaded by class loader other than application one.
+        return key != null && !clsLdr.equals(key.getClass().getClassLoader()) ?
+            key.getClass() : val != null ? val.getClass() : getClass();
+    }
+
+    /** {@inheritDoc} */
+    @Override public ClassLoader classLoader() {
+        return deployClass().getClassLoader();
+    }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return GridToStringBuilder.toString(IgniteTxEntry.class, this,
+            "keyBytesSize", keyBytes == null ? "null" : Integer.toString(keyBytes.length),
+            "xidVer", tx == null ? "null" : tx.xidVersion());
+    }
+
+    /**
+     * Auxiliary class to hold value, value-has-been-set flag, value update operation, value bytes.
+     */
+    private static class TxEntryValueHolder<K, V> {
+        /** */
+        @GridToStringInclude
+        private V val;
+
+        /** */
+        @GridToStringExclude
+        private byte[] valBytes;
+
+        /** */
+        @GridToStringInclude
+        private GridCacheOperation op = NOOP;
+
+        /** Flag indicating that value has been set for write. */
+        private boolean hasWriteVal;
+
+        /** Flag indicating that value has been set for read. */
+        private boolean hasReadVal;
+
+        /** Flag indicating that bytes were sent. */
+        private boolean valBytesSent;
+
+        /**
+         * @param op Cache operation.
+         * @param val Value.
+         * @param hasWriteVal Write value presence flag.
+         * @param hasReadVal Read value presence flag.
+         */
+        public void value(GridCacheOperation op, V val, boolean hasWriteVal, boolean hasReadVal) {
+            if (hasReadVal && this.hasWriteVal)
+                return;
+
+            boolean clean = this.val != null;
+
+            this.op = op;
+            this.val = val;
+
+            if (clean)
+                valBytes = null;
+
+            this.hasWriteVal = hasWriteVal || op == CREATE || op == UPDATE || op == DELETE;
+            this.hasReadVal = hasReadVal || op == READ;
+        }
+
+        /**
+         * @return {@code True} if has read or write value.
+         */
+        public boolean hasValue() {
+            return hasWriteVal || hasReadVal;
+        }
+
+        /**
+         * Gets stored value.
+         *
+         * @return Value.
+         */
+        public V value() {
+            return val;
+        }
+
+        /**
+         * @param val Stored value.
+         */
+        public void value(@Nullable V val) {
+            boolean clean = this.val != null;
+
+            this.val = val;
+
+            if (clean)
+                valBytes = null;
+        }
+
+        /**
+         * Gets cache operation.
+         *
+         * @return Cache operation.
+         */
+        public GridCacheOperation op() {
+            return op;
+        }
+
+        /**
+         * Sets cache operation.
+         *
+         * @param op Cache operation.
+         */
+        public void op(GridCacheOperation op) {
+            this.op = op;
+        }
+
+        /**
+         * @return {@code True} if write value was set.
+         */
+        public boolean hasWriteValue() {
+            return hasWriteVal;
+        }
+
+        /**
+         * @return {@code True} if read value was set.
+         */
+        public boolean hasReadValue() {
+            return hasReadVal;
+        }
+
+        /**
+         * Sets value bytes.
+         *
+         * @param valBytes Value bytes to set.
+         */
+        public void valueBytes(@Nullable byte[] valBytes) {
+            this.valBytes = valBytes;
+        }
+
+        /**
+         * Gets value bytes.
+         *
+         * @return Value bytes.
+         */
+        public byte[] valueBytes() {
+            return valBytes;
+        }
+
+        /**
+         * @param ctx Cache context.
+         * @param depEnabled Deployment enabled flag.
+         * @throws IgniteCheckedException If marshaling failed.
+         */
+        public void marshal(GridCacheSharedContext<K, V> sharedCtx, GridCacheContext<K, V> ctx, boolean depEnabled)
+            throws IgniteCheckedException {
+            boolean valIsByteArr = val != null && val instanceof byte[];
+
+            // Do not send write values to remote nodes.
+            if (hasWriteVal && val != null && !valIsByteArr && valBytes == null &&
+                (depEnabled || !ctx.isUnmarshalValues()))
+                valBytes = CU.marshal(sharedCtx, val);
+
+            valBytesSent = hasWriteVal && !valIsByteArr && valBytes != null && (depEnabled || !ctx.isUnmarshalValues());
+        }
+
+        /**
+         * @param ctx Cache context.
+         * @param ldr Class loader.
+         * @param depEnabled Deployment enabled flag.
+         * @throws IgniteCheckedException If unmarshalling failed.
+         */
+        public void unmarshal(GridCacheContext<K, V> ctx, ClassLoader ldr, boolean depEnabled) throws IgniteCheckedException {
+            if (valBytes != null && val == null && (ctx.isUnmarshalValues() || op == TRANSFORM || depEnabled))
+                val = ctx.marshaller().unmarshal(valBytes, ldr);
+        }
+
+        /**
+         * @param out Data output.
+         * @throws IOException If failed.
+         */
+        public void writeTo(ObjectOutput out) throws IOException {
+            out.writeBoolean(hasWriteVal);
+            out.writeBoolean(valBytesSent);
+
+            if (hasWriteVal) {
+                if (valBytesSent)
+                    U.writeByteArray(out, valBytes);
+                else {
+                    if (val != null && val instanceof byte[]) {
+                        out.writeBoolean(true);
+
+                        U.writeByteArray(out, (byte[])val);
+                    }
+                    else {
+                        out.writeBoolean(false);
+
+                        out.writeObject(val);
+                    }
+                }
+            }
+
+            out.writeInt(op.ordinal());
+        }
+
+        /**
+         * @param in Data input.
+         * @throws IOException If failed.
+         * @throws ClassNotFoundException If failed.
+         */
+        public void readFrom(ObjectInput in) throws IOException, ClassNotFoundException {
+            hasWriteVal = in.readBoolean();
+            valBytesSent = in.readBoolean();
+
+            if (hasWriteVal) {
+                if (valBytesSent)
+                    valBytes = U.readByteArray(in);
+                else
+                    val = in.readBoolean() ? (V)U.readByteArray(in) : (V)in.readObject();
+            }
+
+            op = fromOrdinal(in.readInt());
+        }
+
+        /** {@inheritDoc} */
+        @Override public String toString() {
+            return "[op=" + op +", val=" + val + ", valBytesLen=" + (valBytes == null ? 0 : valBytes.length) + ']';
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/cd46f567/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
new file mode 100644
index 0000000..8c49f57
--- /dev/null
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/transactions/IgniteTxEx.java
@@ -0,0 +1,520 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal.processors.cache.transactions;
+
+import org.apache.ignite.*;
+import org.apache.ignite.lang.*;
+import org.apache.ignite.transactions.*;
+import org.gridgain.grid.cache.*;
+import org.gridgain.grid.kernal.processors.cache.*;
+import org.gridgain.grid.kernal.processors.timeout.*;
+import org.gridgain.grid.util.lang.*;
+import org.jetbrains.annotations.*;
+
+import java.util.*;
+
+/**
+ * Transaction managed by cache ({@code 'Ex'} stands for external).
+ */
+public interface IgniteTxEx<K, V> extends IgniteTx, GridTimeoutObject {
+    @SuppressWarnings("PublicInnerClass")
+    public enum FinalizationStatus {
+        /** Transaction was not finalized yet. */
+        NONE,
+
+        /** Transaction is being finalized by user. */
+        USER_FINISH,
+
+        /** Recovery request is received, user finish requests should be ignored. */
+        RECOVERY_WAIT,
+
+        /** Transaction is being finalized by recovery procedure. */
+        RECOVERY_FINISH
+    }
+
+    /**
+     * @return Size of the transaction.
+     */
+    public int size();
+
+    /**
+     * @return {@code True} if transaction is allowed to use store.
+     */
+    public boolean storeEnabled();
+
+    /**
+     * @return {@code True} if transaction is allowed to use store and transactions spans one or more caches with
+     *      store enabled.
+     */
+    public boolean storeUsed();
+
+    /**
+     * Checks if this is system cache transaction. System transactions are isolated from user transactions
+     * because some of the public API methods may be invoked inside user transactions and internally start
+     * system cache transactions.
+     *
+     * @return {@code True} if transaction is started for system cache.
+     */
+    public boolean system();
+
+    /**
+     * @return Last recorded topology version.
+     */
+    public long topologyVersion();
+
+    /**
+     * @return Flag indicating whether transaction is implicit with only one key.
+     */
+    public boolean implicitSingle();
+
+    /**
+     * @return Collection of cache IDs involved in this transaction.
+     */
+    public Collection<Integer> activeCacheIds();
+
+    /**
+     * Attempts to set topology version and returns the current value.
+     * If topology version was previously set, then it's value will
+     * be returned (but not updated).
+     *
+     * @param topVer Topology version.
+     * @return Recorded topology version.
+     */
+    public long topologyVersion(long topVer);
+
+    /**
+     * @return {@code True} if transaction is empty.
+     */
+    public boolean empty();
+
+    /**
+     * @return {@code True} if transaction group-locked.
+     */
+    public boolean groupLock();
+
+    /**
+     * @return Group lock key if {@link #groupLock()} is {@code true}.
+     */
+    @Nullable public IgniteTxKey groupLockKey();
+
+    /**
+     * @return {@code True} if preparing flag was set with this call.
+     */
+    public boolean markPreparing();
+
+    /**
+     * @param status Finalization status to set.
+     * @return {@code True} if could mark was set.
+     */
+    public boolean markFinalizing(FinalizationStatus status);
+
+    /**
+     * @param part Invalid partition.
+     */
+    public void addInvalidPartition(GridCacheContext<K, V> cacheCtx, int part);
+
+    /**
+     * @return Invalid partitions.
+     */
+    public Set<Integer> invalidPartitions();
+
+    /**
+     * Gets owned version for near remote transaction.
+     *
+     * @param key Key to get version for.
+     * @return Owned version, if any.
+     */
+    @Nullable public GridCacheVersion ownedVersion(IgniteTxKey<K> key);
+
+    /**
+     * Gets ID of additional node involved. For example, in DHT case, other node is
+     * near node ID.
+     *
+     * @return Parent node IDs.
+     */
+    @Nullable public UUID otherNodeId();
+
+    /**
+     * @return Event node ID.
+     */
+    public UUID eventNodeId();
+
+    /**
+     * Gets node ID which directly started this transaction. In case of DHT local transaction it will be
+     * near node ID, in case of DHT remote transaction it will be primary node ID, in case of replicated remote
+     * transaction it will be starter node ID.
+     *
+     * @return Originating node ID.
+     */
+    public UUID originatingNodeId();
+
+    /**
+     * @return Master node IDs.
+     */
+    public Collection<UUID> masterNodeIds();
+
+    /**
+     * @return Near transaction ID.
+     */
+    @Nullable public GridCacheVersion nearXidVersion();
+
+    /**
+     * @return Transaction nodes mapping (primary node -> related backup nodes).
+     */
+    @Nullable public Map<UUID, Collection<UUID>> transactionNodes();
+
+    /**
+     * @param entry Entry to check.
+     * @return {@code True} if lock is owned.
+     * @throws GridCacheEntryRemovedException If entry has been removed.
+     */
+    public boolean ownsLock(GridCacheEntryEx<K, V> entry) throws GridCacheEntryRemovedException;
+
+    /**
+     * @param entry Entry to check.
+     * @return {@code True} if lock is owned.
+     */
+    public boolean ownsLockUnsafe(GridCacheEntryEx<K, V> entry);
+
+    /**
+     * For Partitioned caches, this flag is {@code false} for remote DHT and remote NEAR
+     * transactions because serializability of transaction is enforced on primary node. All
+     * other transaction types must enforce it.
+     *
+     * @return Enforce serializable flag.
+     */
+    public boolean enforceSerializable();
+
+    /**
+     * @return {@code True} if near transaction.
+     */
+    public boolean near();
+
+    /**
+     * @return {@code True} if DHT transaction.
+     */
+    public boolean dht();
+
+    /**
+     * @return {@code True} if dht colocated transaction.
+     */
+    public boolean colocated();
+
+    /**
+     * @return {@code True} if transaction is local, {@code false} if it's remote.
+     */
+    public boolean local();
+
+    /**
+     * @return {@code True} if transaction is replicated.
+     */
+    public boolean replicated();
+
+    /**
+     * @return Subject ID initiated this transaction.
+     */
+    public UUID subjectId();
+
+    /**
+     * Task name hash in case if transaction was initiated within task execution.
+     *
+     * @return Task name hash.
+     */
+    public int taskNameHash();
+
+    /**
+     * @return {@code True} if transaction is user transaction, which means:
+     * <ul>
+     *     <li>Explicit</li>
+     *     <li>Local</li>
+     *     <li>Not DHT</li>
+     * </ul>
+     */
+    public boolean user();
+
+    /**
+     * @return {@code True} if transaction is configured with synchronous commit flag.
+     */
+    public boolean syncCommit();
+
+    /**
+     * @return {@code True} if transaction is configured with synchronous rollback flag.
+     */
+    public boolean syncRollback();
+
+    /**
+     * @param key Key to check.
+     * @return {@code True} if key is present.
+     */
+    public boolean hasWriteKey(IgniteTxKey<K> key);
+
+    /**
+     * @return Read set.
+     */
+    public Set<IgniteTxKey<K>> readSet();
+
+    /**
+     * @return Write set.
+     */
+    public Set<IgniteTxKey<K>> writeSet();
+
+    /**
+     * @return All transaction entries.
+     */
+    public Collection<IgniteTxEntry<K, V>> allEntries();
+
+    /**
+     * @return Write entries.
+     */
+    public Collection<IgniteTxEntry<K, V>> writeEntries();
+
+    /**
+     * @return Read entries.
+     */
+    public Collection<IgniteTxEntry<K, V>> readEntries();
+
+    /**
+     * @return Transaction write map.
+     */
+    public Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> writeMap();
+
+    /**
+     * @return Transaction read map.
+     */
+    public Map<IgniteTxKey<K>, IgniteTxEntry<K, V>> readMap();
+
+    /**
+     * Gets pessimistic recovery writes, i.e. values that have never been sent to remote nodes with lock requests.
+     *
+     * @return Collection of recovery writes.
+     */
+    public Collection<IgniteTxEntry<K, V>> recoveryWrites();
+
+    /**
+     * Gets a list of entries that needs to be locked on the next step of prepare stage of
+     * optimistic transaction.
+     *
+     * @return List of tx entries for optimistic locking.
+     */
+    public Collection<IgniteTxEntry<K, V>> optimisticLockEntries();
+
+    /**
+     * Seals transaction for updates.
+     */
+    public void seal();
+
+    /**
+     * @param key Key for the entry.
+     * @return Entry for the key (either from write set or read set).
+     */
+    @Nullable public IgniteTxEntry<K, V> entry(IgniteTxKey<K> key);
+
+    /**
+     * @param failFast Fail-fast flag.
+     * @param key Key to look up.
+     * @param filter Filter to check.
+     * @return Current value for the key within transaction.
+     * @throws GridCacheFilterFailedException If filter failed and failFast is {@code true}.
+     */
+     @Nullable public GridTuple<V> peek(
+         GridCacheContext<K, V> ctx,
+         boolean failFast,
+         K key,
+         @Nullable IgnitePredicate<GridCacheEntry<K, V>>[] filter) throws GridCacheFilterFailedException;
+
+    /**
+     * @return Start version.
+     */
+    public GridCacheVersion startVersion();
+
+    /**
+     * @return Transaction version.
+     */
+    public GridCacheVersion xidVersion();
+
+    /**
+     * @return Version created at commit time.
+     */
+    public GridCacheVersion commitVersion();
+
+    /**
+     * @param commitVer Commit version.
+     * @return {@code True} if version was set.
+     */
+    public boolean commitVersion(GridCacheVersion commitVer);
+
+    /**
+     * @return End version (a.k.a. <tt>'tnc'</tt> or <tt>'transaction number counter'</tt>)
+     *      assigned to this transaction at the end of write phase.
+     */
+    public GridCacheVersion endVersion();
+
+    /**
+     * Prepare state.
+     *
+     * @throws IgniteCheckedException If failed.
+     */
+    public void prepare() throws IgniteCheckedException;
+
+    /**
+     * Prepare stage.
+     *
+     * @return Future for prepare step.
+     */
+    public IgniteFuture<IgniteTxEx<K, V>> prepareAsync();
+
+    /**
+     * @param endVer End version (a.k.a. <tt>'tnc'</tt> or <tt>'transaction number counter'</tt>)
+     *      assigned to this transaction at the end of write phase.
+     */
+    public void endVersion(GridCacheVersion endVer);
+
+    /**
+     * @return Transaction write version. For all transactions except DHT transactions, will be equal to
+     *      {@link #xidVersion()}.
+     */
+    public GridCacheVersion writeVersion();
+
+    /**
+     * Sets write version.
+     *
+     * @param ver Write version.
+     */
+    public void writeVersion(GridCacheVersion ver);
+
+    /**
+     * @return Future for transaction completion.
+     */
+    public IgniteFuture<IgniteTx> finishFuture();
+
+    /**
+     * @param state Transaction state.
+     * @return {@code True} if transition was valid, {@code false} otherwise.
+     */
+    public boolean state(IgniteTxState state);
+
+    /**
+     * @param invalidate Invalidate flag.
+     */
+    public void invalidate(boolean invalidate);
+
+    /**
+     * @param sysInvalidate System invalidate flag.
+     */
+    public void systemInvalidate(boolean sysInvalidate);
+
+    /**
+     * @return System invalidate flag.
+     */
+    public boolean isSystemInvalidate();
+
+    /**
+     * TODO-gg-4004 Put rollback async on public API?
+     * Asynchronously rollback this transaction.
+     *
+     * @return Rollback future.
+     */
+    public IgniteFuture<IgniteTx> rollbackAsync();
+
+    /**
+     * Callback invoked whenever there is a lock that has been acquired
+     * by this transaction for any of the participating entries.
+     *
+     * @param entry Cache entry.
+     * @param owner Lock candidate that won ownership of the lock.
+     * @return {@code True} if transaction cared about notification.
+     */
+    public boolean onOwnerChanged(GridCacheEntryEx<K, V> entry, GridCacheMvccCandidate<K> owner);
+
+    /**
+     * @return {@code True} if transaction timed out.
+     */
+    public boolean timedOut();
+
+    /**
+     * @return {@code True} if transaction had completed successfully or unsuccessfully.
+     */
+    public boolean done();
+
+    /**
+     * @return {@code True} for OPTIMISTIC transactions.
+     */
+    public boolean optimistic();
+
+    /**
+     * @return {@code True} for PESSIMISTIC transactions.
+     */
+    public boolean pessimistic();
+
+    /**
+     * @return {@code True} if read-committed.
+     */
+    public boolean readCommitted();
+
+    /**
+     * @return {@code True} if repeatable-read.
+     */
+    public boolean repeatableRead();
+
+    /**
+     * @return {@code True} if serializable.
+     */
+    public boolean serializable();
+
+    /**
+     * Checks whether given key has been removed within transaction.
+     *
+     * @param key Key to check.
+     * @return {@code True} if key has been removed.
+     */
+    public boolean removed(IgniteTxKey<K> key);
+
+    /**
+     * Gets allowed remaining time for this transaction.
+     *
+     * @return Remaining time.
+     * @throws IgniteTxTimeoutException If transaction timed out.
+     */
+    public long remainingTime() throws IgniteTxTimeoutException;
+
+    /**
+     * @return Alternate transaction versions.
+     */
+    public Collection<GridCacheVersion> alternateVersions();
+
+    /**
+     * @return {@code True} if transaction needs completed versions for processing.
+     */
+    public boolean needsCompletedVersions();
+
+    /**
+     * @param base Base for committed versions.
+     * @param committed Committed transactions relative to base.
+     * @param rolledback Rolled back transactions relative to base.
+     */
+    public void completedVersions(GridCacheVersion base, Collection<GridCacheVersion> committed,
+        Collection<GridCacheVersion> rolledback);
+
+    /**
+     * @return {@code True} if transaction has at least one internal entry.
+     */
+    public boolean internal();
+
+    /**
+     * @return {@code True} if transaction is a one-phase-commit transaction.
+     */
+    public boolean onePhaseCommit();
+
+    /**
+     * @return {@code True} if transaction has transform entries. This flag will be only set for local
+     *      transactions.
+     */
+    public boolean hasTransforms();
+}