# ignite-51 merge from sprint-2

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

Branch: refs/heads/ignite-release-test-no-mod
Commit: b37bd358434685798ab8106ad2daff175731cc16
Parents: 3b933a4 697d199
Author: sboikov <sboi...@gridgain.com>
Authored: Wed Mar 11 09:32:27 2015 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Wed Mar 11 09:32:27 2015 +0300

----------------------------------------------------------------------
 .../apache/ignite/gridify/AbstractAopTest.java  |    4 +-
 .../spi/checkpoint/s3/S3CheckpointData.java     |   62 +-
 .../spi/checkpoint/s3/S3CheckpointSpi.java      |    8 +-
 .../checkpoint/s3/S3CheckpointSpiSelfTest.java  |    2 +-
 .../s3/S3CheckpointSpiStartStopSelfTest.java    |    2 +-
 .../rest/protocols/tcp/MockNioSession.java      |    7 +-
 modules/core/pom.xml                            |   56 +-
 .../cache/CachePartialUpdateException.java      |    3 +
 .../CacheRendezvousAffinityFunction.java        |   12 +-
 .../configuration/CacheConfiguration.java       |    3 +
 .../IgfsConcurrentModificationException.java    |   29 +-
 .../ignite/igfs/IgfsCorruptedFileException.java |   16 +-
 .../igfs/IgfsDirectoryNotEmptyException.java    |   20 +-
 .../org/apache/ignite/igfs/IgfsException.java   |   16 +-
 .../igfs/IgfsInvalidHdfsVersionException.java   |   23 +-
 .../ignite/igfs/IgfsInvalidPathException.java   |   16 +-
 .../ignite/igfs/IgfsOutOfSpaceException.java    |   16 +-
 .../igfs/IgfsParentNotDirectoryException.java   |   20 +-
 .../igfs/IgfsPathAlreadyExistsException.java    |   19 +-
 .../igfs/IgfsPathIsDirectoryException.java      |   56 +
 .../igfs/IgfsPathIsNotDirectoryException.java   |   56 +
 .../ignite/igfs/IgfsPathNotFoundException.java  |   22 +-
 .../internal/ComputeTaskInternalFuture.java     |    3 +
 .../internal/GridEventConsumeHandler.java       |   10 +
 .../ignite/internal/GridKernalContext.java      |   16 +-
 .../ignite/internal/GridKernalContextImpl.java  |   42 +-
 .../internal/GridMessageListenHandler.java      |   10 +
 .../org/apache/ignite/internal/GridTopic.java   |   89 +-
 .../ignite/internal/GridUpdateNotifier.java     |   15 -
 .../apache/ignite/internal/IgniteKernal.java    |    4 +
 .../ignite/internal/IgniteTransactionsEx.java   |   16 -
 .../org/apache/ignite/internal/IgnitionEx.java  |   74 +-
 .../internal/MarshallerContextAdapter.java      |  130 ++
 .../ignite/internal/MarshallerContextImpl.java  |   81 +
 .../client/impl/GridClientFutureAdapter.java    |    3 +
 .../GridClientOptimizedMarshaller.java          |   40 +-
 .../managers/communication/GridIoManager.java   |  102 +-
 .../managers/communication/GridIoPolicy.java    |    5 +-
 .../affinity/GridAffinityAssignmentCache.java   |    3 +
 .../affinity/GridAffinityMessage.java           |   12 +-
 .../processors/cache/CacheInvokeResult.java     |   12 +-
 .../processors/cache/EvictableEntryImpl.java    |    4 +-
 .../processors/cache/GridCacheAdapter.java      |   18 +-
 .../processors/cache/GridCacheContext.java      |    4 +-
 .../processors/cache/GridCacheEntryEx.java      |   28 +-
 .../cache/GridCacheEvictionManager.java         |    5 +-
 .../processors/cache/GridCacheMapEntry.java     |   50 +-
 .../cache/GridCacheMultiTxFuture.java           |    3 +
 .../processors/cache/GridCacheMvccManager.java  |    3 +
 .../processors/cache/GridCacheProcessor.java    |   15 +-
 .../cache/GridCacheSharedContext.java           |    6 +
 .../processors/cache/GridCacheStoreManager.java |    2 +-
 .../processors/cache/GridCacheUtils.java        |   28 +-
 ...ridCacheOptimisticCheckPreparedTxFuture.java |    6 +
 .../GridDistributedTxFinishRequest.java         |   57 +-
 .../GridDistributedTxPrepareRequest.java        |   26 +-
 .../GridDistributedTxRemoteAdapter.java         |    4 +
 .../IgniteExternalizableExpiryPolicy.java       |   12 +-
 .../dht/GridDhtAssignmentFetchFuture.java       |    3 +
 .../distributed/dht/GridDhtCacheAdapter.java    |    3 +
 .../distributed/dht/GridDhtEmbeddedFuture.java  |    3 +
 .../cache/distributed/dht/GridDhtGetFuture.java |    3 +
 .../distributed/dht/GridDhtLockFuture.java      |    6 +
 .../dht/GridDhtTransactionalCacheAdapter.java   |    6 +-
 .../distributed/dht/GridDhtTxFinishFuture.java  |    8 +
 .../distributed/dht/GridDhtTxFinishRequest.java |   42 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |    3 +
 .../distributed/dht/GridDhtTxLocalAdapter.java  |    6 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |    6 +
 .../cache/distributed/dht/GridDhtTxRemote.java  |   11 +-
 .../dht/GridPartitionedGetFuture.java           |    6 +
 .../dht/atomic/GridDhtAtomicUpdateFuture.java   |    3 +
 .../dht/colocated/GridDhtColocatedCache.java    |    2 +-
 .../colocated/GridDhtColocatedLockFuture.java   |    6 +
 .../dht/preloader/GridDhtForceKeysFuture.java   |    6 +
 .../preloader/GridDhtPartitionDemandPool.java   |   22 +
 .../GridDhtPartitionsExchangeFuture.java        |    3 +
 .../distributed/near/GridNearGetFuture.java     |    6 +
 .../distributed/near/GridNearLockFuture.java    |    6 +
 .../near/GridNearTransactionalCache.java        |    5 +-
 .../near/GridNearTxFinishFuture.java            |    7 +
 .../near/GridNearTxFinishRequest.java           |   32 +-
 .../cache/distributed/near/GridNearTxLocal.java |    3 +
 .../near/GridNearTxPrepareFuture.java           |    6 +
 .../distributed/near/GridNearTxRemote.java      |   11 +-
 .../extras/GridCacheAttributesEntryExtras.java  |   10 +-
 .../GridCacheAttributesMvccEntryExtras.java     |   10 +-
 ...dCacheAttributesMvccObsoleteEntryExtras.java |   10 +-
 ...cheAttributesMvccObsoleteTtlEntryExtras.java |   10 +-
 .../GridCacheAttributesMvccTtlEntryExtras.java  |   10 +-
 .../GridCacheAttributesObsoleteEntryExtras.java |   10 +-
 ...idCacheAttributesObsoleteTtlEntryExtras.java |   10 +-
 .../GridCacheAttributesTtlEntryExtras.java      |   10 +-
 .../cache/extras/GridCacheEntryExtras.java      |    6 +-
 .../extras/GridCacheEntryExtrasAdapter.java     |    4 +-
 .../cache/extras/GridCacheMvccEntryExtras.java  |    4 +-
 .../GridCacheMvccObsoleteEntryExtras.java       |    4 +-
 .../GridCacheMvccObsoleteTtlEntryExtras.java    |    4 +-
 .../extras/GridCacheMvccTtlEntryExtras.java     |    4 +-
 .../extras/GridCacheObsoleteEntryExtras.java    |    6 +-
 .../extras/GridCacheObsoleteTtlEntryExtras.java |    6 +-
 .../cache/extras/GridCacheTtlEntryExtras.java   |    6 +-
 .../cache/local/GridLocalLockFuture.java        |    3 +
 .../processors/cache/local/GridLocalTx.java     |  208 ---
 .../cache/local/GridLocalTxFuture.java          |  316 ----
 .../GridCacheDistributedFieldsQueryFuture.java  |    3 +
 .../query/GridCacheDistributedQueryFuture.java  |    3 +
 .../query/GridCacheLocalFieldsQueryFuture.java  |    3 +
 .../cache/query/GridCacheLocalQueryFuture.java  |    3 +
 .../cache/query/GridCacheQueryManager.java      |    3 +-
 .../continuous/CacheContinuousQueryEvent.java   |    9 +-
 .../continuous/CacheContinuousQueryHandler.java |   10 +
 .../continuous/CacheContinuousQueryManager.java |    3 +
 .../jdbc/GridCacheQueryJdbcMetadataTask.java    |   12 +-
 .../query/jdbc/GridCacheQueryJdbcTask.java      |   12 +-
 .../cache/transactions/IgniteInternalTx.java    |    6 +-
 .../transactions/IgniteTransactionsImpl.java    |   36 +-
 .../cache/transactions/IgniteTxAdapter.java     |   18 +-
 .../cache/transactions/IgniteTxHandler.java     |   14 +-
 .../transactions/IgniteTxLocalAdapter.java      |    7 +-
 .../cache/transactions/IgniteTxManager.java     |  127 +-
 .../transactions/TransactionProxyImpl.java      |    6 +-
 .../cache/version/GridCacheVersion.java         |   12 +-
 .../cache/version/GridCacheVersionEx.java       |    9 -
 .../closure/GridClosureProcessor.java           |  128 +-
 .../continuous/GridContinuousHandler.java       |    9 +-
 .../continuous/GridContinuousProcessor.java     |   14 +-
 .../dataload/GridDataLoaderFuture.java          |    3 +
 .../datastructures/DataStructuresProcessor.java |    6 +
 .../processors/igfs/IgfsDataManager.java        |    3 +
 .../internal/processors/igfs/IgfsImpl.java      |  579 +++----
 .../processors/igfs/IgfsMetaManager.java        |   25 +-
 .../internal/processors/igfs/IgfsUtils.java     |   86 +
 .../service/GridServiceDeploymentFuture.java    |    3 +
 .../streamer/GridStreamerExecutionBatch.java    |   12 +-
 .../GridStreamerStageExecutionFuture.java       |    3 +
 .../ignite/internal/util/IgniteUtils.java       |   51 +-
 .../util/future/GridCompoundFuture.java         |    3 +
 .../util/future/GridCompoundIdentityFuture.java |    3 +
 .../util/future/GridEmbeddedFuture.java         |    3 +
 .../internal/util/future/GridFutureAdapter.java |    9 +
 .../util/lang/GridMetadataAwareAdapter.java     |   71 +-
 .../util/nio/GridNioEmbeddedFuture.java         |    3 +
 .../internal/util/nio/GridNioFutureImpl.java    |    3 +
 .../ignite/internal/util/nio/GridNioServer.java |    3 +
 .../internal/util/worker/GridWorkerFuture.java  |    3 +
 .../visor/cache/VisorCacheClearTask.java        |    6 +
 .../lang/IgniteFutureCancelledException.java    |    3 +
 .../lang/IgniteFutureTimeoutException.java      |    3 +
 .../java/org/apache/ignite/lang/IgniteUuid.java |   13 +-
 .../ignite/marshaller/AbstractMarshaller.java   |    8 +
 .../apache/ignite/marshaller/Marshaller.java    |    7 +
 .../ignite/marshaller/MarshallerContext.java    |   42 +
 .../optimized/OptimizedClassDescriptor.java     |  463 ++---
 .../optimized/OptimizedClassResolver.java       |  477 ------
 .../optimized/OptimizedMarshallable.java        |   65 -
 .../optimized/OptimizedMarshaller.java          |  148 +-
 .../optimized/OptimizedMarshallerIdMapper.java  |   33 +
 .../optimized/OptimizedMarshallerUtils.java     |  298 ++--
 .../optimized/OptimizedObjectInputStream.java   |  152 +-
 .../optimized/OptimizedObjectOutputStream.java  |   99 +-
 .../optimized-classnames.previous.properties    |   15 -
 .../optimized/optimized-classnames.properties   |  116 --
 .../communication/tcp/TcpCommunicationSpi.java  |    3 +
 .../apache/ignite/transactions/Transaction.java |    6 +-
 .../META-INF/classnames-jdk.properties          |  371 ++++
 .../resources/META-INF/classnames.properties    | 1607 ++++++++++++++++++
 .../src/test/config/io-manager-benchmark.xml    |   12 -
 modules/core/src/test/config/jobs-load-base.xml |   11 -
 .../core/src/test/config/load/dsi-load-base.xml |   16 -
 .../IgniteExternalizableAbstractTest.java       |    9 +-
 .../ignite/internal/GridAffinitySelfTest.java   |    3 +-
 .../cache/GridCacheAbstractFullApiSelfTest.java |    6 +-
 .../cache/GridCacheAffinityRoutingSelfTest.java |    6 -
 .../cache/GridCacheEntryMemorySizeSelfTest.java |   10 +
 .../GridCacheExAbstractFullApiSelfTest.java     |    2 +-
 .../cache/GridCacheVersionSelfTest.java         |    3 +
 .../IgniteCacheSystemTransactionsSelfTest.java  |  188 ++
 ...idCacheNearOnlyMultiNodeFullApiSelfTest.java |    2 +-
 .../cache/eviction/GridCacheMockEntry.java      |    5 +-
 .../continuous/GridEventConsumeSelfTest.java    |    3 +-
 .../dataload/GridDataLoaderImplSelfTest.java    |    7 -
 .../processors/igfs/IgfsAbstractSelfTest.java   |   31 +-
 .../processors/igfs/IgfsFileInfoSelfTest.java   |    2 +
 .../processors/igfs/IgfsSizeSelfTest.java       |   17 -
 .../streamer/GridStreamerEvictionSelfTest.java  |    1 -
 .../streamer/GridStreamerFailoverSelfTest.java  |    2 +-
 .../internal/util/nio/GridNioSelfTest.java      |   18 +-
 .../nio/impl/GridNioFilterChainSelfTest.java    |    7 +-
 .../lang/GridMetadataAwareAdapterSelfTest.java  |   80 +-
 .../marshaller/GridMarshallerAbstractTest.java  |   15 +-
 .../GridMarshallerPerformanceTest.java          |    2 -
 .../marshaller/MarshallerContextTestImpl.java   |   43 +
 .../jdk/GridJdkMarshallerSelfTest.java          |    2 +-
 .../OptimizedMarshallerEnumSelfTest.java        |    4 +-
 .../optimized/OptimizedMarshallerSelfTest.java  |  186 +-
 .../optimized/OptimizedMarshallerTest.java      |  102 +-
 .../OptimizedObjectStreamSelfTest.java          |   43 +-
 .../ignite/messaging/GridMessagingSelfTest.java |    3 +
 .../discovery/AbstractDiscoverySelfTest.java    |    1 -
 .../ignite/testframework/GridTestUtils.java     |    4 +-
 .../testframework/junits/GridAbstractTest.java  |    6 +-
 .../junits/GridTestKernalContext.java           |   14 +-
 .../junits/IgniteTestResources.java             |   46 +-
 .../ignite/testsuites/IgniteCacheTestSuite.java |    1 +
 .../ignite/testsuites/IgniteIgfsTestSuite.java  |    2 +
 .../IgniteHadoopClientProtocolProvider.java     |    4 +-
 .../hadoop/igfs/HadoopIgfsFuture.java           |    3 +
 .../external/HadoopExternalTaskExecutor.java    |    3 +
 .../child/HadoopExternalProcessStarter.java     |    4 +-
 .../hadoop/HadoopSortingExternalTest.java       |   10 +
 .../hadoop/HadoopTaskExecutionSelfTest.java     |    2 +-
 .../HadoopExternalTaskExecutionSelfTest.java    |   10 +
 .../HadoopExternalCommunicationSelfTest.java    |    4 +-
 .../processors/query/h2/IgniteH2Indexing.java   |    4 +-
 .../processors/cache/jta/CacheJtaManager.java   |    4 +-
 modules/scalar/pom.xml                          |    8 +
 .../scalar/testsuites/ScalarSelfTestSuite.scala |    6 +
 .../GridSpringBeanSerializationSelfTest.java    |    2 +
 ...gniteProjectionStartStopRestartSelfTest.java |   42 +-
 .../ignite/tools/classgen/ClassesGenerator.java |  214 +++
 .../optimized/OptimizedClassNamesGenerator.java |  325 ----
 .../commands/tasks/VisorTasksCommandSpec.scala  |    5 +-
 .../IgniteWebSessionSelfTestSuite.java          |    6 +
 modules/yardstick/config/ignite-base-config.xml |   17 -
 .../yardstick/config/ignite-store-config.xml    |   18 -
 pom.xml                                         |    2 +-
 227 files changed, 5303 insertions(+), 3840 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/GridEventConsumeHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
index fcc7598,91b881e..d34ed8f
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java
@@@ -292,11 -292,18 +292,18 @@@ public interface GridKernalContext exte
      public ExecutorService utilityCachePool();
  
      /**
+      * Gets marshaller cache pool.
+      *
+      * @return Marshaller cache pool.
+      */
+     public ExecutorService marshallerCachePool();
+ 
+     /**
 -     * Gets portable processor.
 +     * Gets cache object processor.
       *
 -     * @return Portable processor.
 +     * @return Cache object processor.
       */
 -    public GridPortableProcessor portable();
 +    public IgniteCacheObjectProcessor cacheObjects();
  
      /**
       * Gets query processor.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
index ec2be92,afaa9f3..1da4b1f
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java
@@@ -691,8 -703,13 +701,13 @@@ public class GridKernalContextImpl impl
      }
  
      /** {@inheritDoc} */
+     @Override public ExecutorService marshallerCachePool() {
+         return marshCachePool;
+     }
+ 
+     /** {@inheritDoc} */
 -    @Override public GridPortableProcessor portable() {
 -        return portableProc;
 +    @Override public IgniteCacheObjectProcessor cacheObjects() {
 +        return cacheObjProc;
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/EvictableEntryImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 24e7ced,eece1d6..ccfcb3d
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@@ -3519,7 -3686,7 +3519,7 @@@ public abstract class GridCacheAdapter<
  
      /** {@inheritDoc} */
      @Nullable @Override public Transaction tx() {
-         IgniteTxAdapter tx = ctx.tm().threadLocalTx();
 -        IgniteTxAdapter<K, V> tx = ctx.tm().threadLocalTx(ctx);
++        IgniteTxAdapter tx = ctx.tm().threadLocalTx(ctx);
  
          return tx == null ? null : new TransactionProxyImpl<>(tx, 
ctx.shared(), false);
      }
@@@ -4379,7 -4550,7 +4377,7 @@@
  
          awaitLastFut();
  
-         IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx();
 -        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx(ctx);
++        IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx(ctx);
  
          if (tx == null || tx.implicit()) {
              TransactionConfiguration tCfg = 
ctx.gridConfig().getTransactionConfiguration();
@@@ -4456,7 -4627,7 +4454,7 @@@
          if (log.isDebugEnabled())
              log.debug("Performing async op: " + op);
  
-         IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx();
 -        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx(ctx);
++        IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx(ctx);
  
          if (tx == null || tx.implicit()) {
              tx = ctx.tm().newTx(

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEvictionManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
index cd02ef2,535533c..04b2745
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java
@@@ -4216,9 -4215,9 +4196,9 @@@ public abstract class GridCacheMapEntr
      /**
       * @param attrData Attribute data.
       */
-     private void attributeDataExtras(@Nullable GridLeanMap<String, Object> 
attrData) {
+     private void attributeDataExtras(@Nullable GridLeanMap<UUID, Object> 
attrData) {
          extras = (extras != null) ? extras.attributesData(attrData) : 
attrData != null ?
 -            new GridCacheAttributesEntryExtras<K>(attrData) : null;
 +            new GridCacheAttributesEntryExtras(attrData) : null;
      }
  
      /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMultiTxFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSharedContext.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
index 57555cf,3f4cdb4..ddc909e
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java
@@@ -42,12 -42,12 +42,12 @@@ import java.util.*
   * Store manager.
   */
  @SuppressWarnings("AssignmentToCatchBlockParameter")
 -public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, 
V> {
 +public class GridCacheStoreManager extends GridCacheManagerAdapter {
      /** */
-     private static final String SES_ATTR = "STORE_SES";
+     private static final UUID SES_ATTR = UUID.randomUUID();
  
      /** */
 -    private final CacheStore<K, Object> store;
 +    private final CacheStore<Object, Object> store;
  
      /** */
      private final CacheStore<?, ?> cfgStore;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index dff334c,84fe4be..207a2f1
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@@ -305,12 -304,14 +308,12 @@@ public class GridCacheUtils 
      /**
       * @param ctx Cache context.
       * @param meta Meta name.
 -     * @param <K> Key type.
 -     * @param <V> Value type.
       * @return Filter for entries with meta.
       */
-     public static IgnitePredicate<KeyCacheObject> keyHasMeta(final 
GridCacheContext ctx, final String meta) {
 -    public static <K, V> IgnitePredicate<K> keyHasMeta(final 
GridCacheContext<K, V> ctx, final UUID meta) {
 -        return new P1<K>() {
 -            @Override public boolean apply(K k) {
 -                GridCacheEntryEx<K, V> e = ctx.cache().peekEx(k);
++    public static IgnitePredicate<KeyCacheObject> keyHasMeta(final 
GridCacheContext ctx, final UUID meta) {
 +        return new P1<KeyCacheObject>() {
 +            @Override public boolean apply(KeyCacheObject k) {
 +                GridCacheEntryEx e = ctx.cache().peekEx(k);
  
                  return e != null && e.hasMeta(meta);
              }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheOptimisticCheckPreparedTxFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
index a44140f,7acec91..1a375dd
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java
@@@ -65,11 -68,18 +67,14 @@@ public class GridDistributedTxFinishReq
      private int txSize;
  
      /** Group lock key. */
 -    @GridDirectTransient
      private IgniteTxKey grpLockKey;
  
-     /** System flag. */
 -    /** Group lock key bytes. */
 -    private byte[] grpLockKeyBytes;
 -
+     /** System transaction flag. */
      private boolean sys;
  
+     /** IO policy. */
+     private GridIoPolicy plc;
+ 
      /**
       * Empty constructor required by {@link Externalizable}.
       */
@@@ -287,7 -311,7 +302,7 @@@
                  writer.incrementState();
  
              case 14:
-                 if (!writer.writeBoolean("syncCommit", syncCommit))
 -                if (!writer.writeByte("plc", plc != null ? 
(byte)plc.ordinal() : -1))
++                if (!writer.writeByte("plc", plc != null ? (byte) 
plc.ordinal() : -1))
                      return false;
  
                  writer.incrementState();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
index 5de5e07,13f930a..5e1aee4
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java
@@@ -551,14 -628,16 +563,6 @@@ public class GridDistributedTxPrepareRe
                  reader.incrementState();
  
              case 16:
-                 reads = reader.readCollection("reads", 
MessageCollectionItemType.MSG);
 -                readsBytes = reader.readCollection("readsBytes", 
MessageCollectionItemType.BYTE_ARR);
--
--                if (!reader.isLastRead())
--                    return false;
--
--                reader.incrementState();
--
--            case 17:
                  sys = reader.readBoolean("sys");
  
                  if (!reader.isLastRead())
@@@ -566,7 -645,7 +570,7 @@@
  
                  reader.incrementState();
  
--            case 18:
++            case 17:
                  threadId = reader.readLong("threadId");
  
                  if (!reader.isLastRead())
@@@ -574,7 -653,7 +578,7 @@@
  
                  reader.incrementState();
  
--            case 19:
++            case 18:
                  timeout = reader.readLong("timeout");
  
                  if (!reader.isLastRead())

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
index a35b143,dcb0eec..3e70756
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
@@@ -35,7 -35,10 +35,10 @@@ import static org.apache.ignite.interna
  /**
   * Future that fetches affinity assignment from remote cache nodes.
   */
 -public class GridDhtAssignmentFetchFuture<K, V> extends 
GridFutureAdapter<List<List<ClusterNode>>> {
 +public class GridDhtAssignmentFetchFuture extends 
GridFutureAdapter<List<List<ClusterNode>>> {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Nodes order comparator. */
      private static final Comparator<ClusterNode> CMP = new 
GridNodeOrderComparator();
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
index bec8c4a,28c2adb..b957a80
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
@@@ -36,8 -36,11 +36,11 @@@ import java.util.concurrent.atomic.*
  /**
   *
   */
 -public final class GridDhtGetFuture<K, V> extends 
GridCompoundIdentityFuture<Collection<GridCacheEntryInfo<K, V>>>
 -    implements GridDhtFuture<Collection<GridCacheEntryInfo<K, V>>> {
 +public final class GridDhtGetFuture<K, V> extends 
GridCompoundIdentityFuture<Collection<GridCacheEntryInfo>>
 +    implements GridDhtFuture<Collection<GridCacheEntryInfo>> {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 240ca47,84ede3d..3653aab
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@@ -46,7 -47,10 +46,10 @@@ import static org.apache.ignite.interna
   * Cache lock future.
   */
  public final class GridDhtLockFuture<K, V> extends 
GridCompoundIdentityFuture<Boolean>
 -    implements GridCacheMvccFuture<K, V, Boolean>, GridDhtFuture<Boolean>, 
GridCacheMappedVersion {
 +    implements GridCacheMvccFuture<Boolean>, GridDhtFuture<Boolean>, 
GridCacheMappedVersion {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index d2f2c19,f30edae..7630461
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@@ -48,8 -48,11 +48,11 @@@ import static org.apache.ignite.transac
  /**
   *
   */
 -public final class GridDhtTxPrepareFuture<K, V> extends 
GridCompoundIdentityFuture<IgniteInternalTx<K, V>>
 -    implements GridCacheMvccFuture<K, V, IgniteInternalTx<K, V>> {
 -    /** */         
 +public final class GridDhtTxPrepareFuture<K, V> extends 
GridCompoundIdentityFuture<IgniteInternalTx>
 +    implements GridCacheMvccFuture<IgniteInternalTx> {
++    /** */
+     private static final long serialVersionUID = 0L;
 -    
++
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  
@@@ -1078,8 -1106,11 +1081,11 @@@
       * Mini-future for get operations. Mini-futures are only waiting on a 
single
       * node as opposed to multiple nodes.
       */
 -    private class MiniFuture extends GridFutureAdapter<IgniteInternalTx<K, 
V>> {
 +    private class MiniFuture extends GridFutureAdapter<IgniteInternalTx> {
          /** */
+         private static final long serialVersionUID = 0L;
+ 
+         /** */
          private final IgniteUuid futId = IgniteUuid.randomUuid();
  
          /** Node ID. */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridPartitionedGetFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
index 449f6ea,1d78993..f72665f
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicUpdateFuture.java
@@@ -42,8 -42,11 +42,11 @@@ import static org.apache.ignite.cache.C
  /**
   * DHT atomic cache backup update future.
   */
 -public class GridDhtAtomicUpdateFuture<K, V> extends GridFutureAdapter<Void>
 -    implements GridCacheAtomicFuture<K, Void> {
 +public class GridDhtAtomicUpdateFuture extends GridFutureAdapter<Void>
 +    implements GridCacheAtomicFuture<Void> {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index eda7eb4,b563712..01ccb53
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@@ -182,10 -169,7 +182,10 @@@ public class GridDhtColocatedCache<K, V
          if (F.isEmpty(keys))
              return new GridFinishedFuture<>(Collections.<K, V>emptyMap());
  
 -        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx(ctx);
 +        if (keyCheck)
 +            validateCacheKeys(keys);
 +
-         IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx();
++        IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx(ctx);
  
          if (tx != null && !tx.implicit() && !skipTx) {
              return asyncOp(tx, new AsyncOp<Map<K, V>>(keys) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtForceKeysFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemandPool.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 819797a,a8ab008..cdd153f
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@@ -46,8 -46,11 +46,11 @@@ import static org.apache.ignite.interna
  /**
   * Future for exchanging partition maps.
   */
 -public class GridDhtPartitionsExchangeFuture<K, V> extends 
GridFutureAdapter<Long>
 -    implements Comparable<GridDhtPartitionsExchangeFuture<K, V>>, 
GridDhtTopologyFuture {
 +public class GridDhtPartitionsExchangeFuture extends GridFutureAdapter<Long>
 +    implements Comparable<GridDhtPartitionsExchangeFuture>, 
GridDhtTopologyFuture {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Dummy flag. */
      private final boolean dummy;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearGetFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
index 616396e,a577030..9232188
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
@@@ -46,7 -48,10 +46,10 @@@ import static org.apache.ignite.events.
   * Cache lock future.
   */
  public final class GridNearLockFuture<K, V> extends 
GridCompoundIdentityFuture<Boolean>
 -    implements GridCacheMvccFuture<K, V, Boolean> {
 +    implements GridCacheMvccFuture<Boolean> {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
index dfab570,f8db71b..9818e70
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java
@@@ -109,10 -111,7 +109,10 @@@ public class GridNearTransactionalCache
          if (F.isEmpty(keys))
              return new GridFinishedFuture<>(Collections.<K, V>emptyMap());
  
 -        IgniteTxLocalAdapter<K, V> tx = ctx.tm().threadLocalTx(ctx);
 +        if (keyCheck)
 +            validateCacheKeys(keys);
 +
-         IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx();
++        IgniteTxLocalAdapter tx = ctx.tm().threadLocalTx(ctx);
  
          if (tx != null && !tx.implicit() && !skipTx) {
              return asyncOp(tx, new AsyncOp<Map<K, V>>(keys) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishRequest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
index 4dea6a9,f406332..227f4d9
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFuture.java
@@@ -50,8 -50,11 +50,11 @@@ import static org.apache.ignite.transac
  /**
   *
   */
 -public final class GridNearTxPrepareFuture<K, V> extends 
GridCompoundIdentityFuture<IgniteInternalTx<K, V>>
 -    implements GridCacheMvccFuture<K, V, IgniteInternalTx<K, V>> {
 +public final class GridNearTxPrepareFuture<K, V> extends 
GridCompoundIdentityFuture<IgniteInternalTx>
 +    implements GridCacheMvccFuture<IgniteInternalTx> {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  
@@@ -822,8 -824,11 +825,11 @@@
       * Mini-future for get operations. Mini-futures are only waiting on a 
single
       * node as opposed to multiple nodes.
       */
 -    private class MiniFuture extends GridFutureAdapter<IgniteInternalTx<K, 
V>> {
 +    private class MiniFuture extends GridFutureAdapter<IgniteInternalTx> {
          /** */
+         private static final long serialVersionUID = 0L;
+ 
+         /** */
          private final IgniteUuid futId = IgniteUuid.randomUuid();
  
          /** Keys. */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxRemote.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
index 6d124f8,6e7cc7a..00243d5
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesEntryExtras.java
@@@ -26,9 -28,9 +28,9 @@@ import java.util.*
  /**
   * Extras where attributes are set.
   */
 -public class GridCacheAttributesEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /**
       * Constructor.
@@@ -47,7 -49,7 +49,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
index 360a8cb,b7803e2..a149eb6
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccEntryExtras.java
@@@ -26,12 -28,12 +28,12 @@@ import java.util.*
  /**
   * Extras where attributes and MVCC are set.
   */
 -public class GridCacheAttributesMvccEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesMvccEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** MVCC. */
 -    private GridCacheMvcc<K> mvcc;
 +    private GridCacheMvcc mvcc;
  
      /**
       * Constructor.
@@@ -39,7 -41,7 +41,7 @@@
       * @param attrData Attributes data.
       * @param mvcc MVCC.
       */
-     public GridCacheAttributesMvccEntryExtras(GridLeanMap<String, Object> 
attrData, GridCacheMvcc mvcc) {
 -    public GridCacheAttributesMvccEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheMvcc<K> mvcc) {
++    public GridCacheAttributesMvccEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheMvcc mvcc) {
          assert attrData != null;
          assert mvcc != null;
  
@@@ -53,7 -55,7 +55,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
index be4d728,20e839c..aecfd9c
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteEntryExtras.java
@@@ -26,12 -28,12 +28,12 @@@ import java.util.*
  /**
   * Extras where attributes, MVCC and obsolete version are set.
   */
 -public class GridCacheAttributesMvccObsoleteEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesMvccObsoleteEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** MVCC. */
 -    private GridCacheMvcc<K> mvcc;
 +    private GridCacheMvcc mvcc;
  
      /** Obsolete version. */
      private GridCacheVersion obsoleteVer;
@@@ -43,7 -45,7 +45,7 @@@
       * @param mvcc MVCC.
       * @param obsoleteVer Obsolete version.
       */
-     public GridCacheAttributesMvccObsoleteEntryExtras(GridLeanMap<String, 
Object> attrData, GridCacheMvcc mvcc,
 -    public GridCacheAttributesMvccObsoleteEntryExtras(GridLeanMap<UUID, 
Object> attrData, GridCacheMvcc<K> mvcc,
++    public GridCacheAttributesMvccObsoleteEntryExtras(GridLeanMap<UUID, 
Object> attrData, GridCacheMvcc mvcc,
          GridCacheVersion obsoleteVer) {
          assert attrData != null;
          assert mvcc != null;
@@@ -60,7 -62,7 +62,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
index 04774b5,90396cb..e74112c
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccObsoleteTtlEntryExtras.java
@@@ -26,12 -28,12 +28,12 @@@ import java.util.*
  /**
   * Extras where attributes, MVCC, obsolete version and TTL are set.
   */
 -public class GridCacheAttributesMvccObsoleteTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesMvccObsoleteTtlEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** MVCC. */
 -    private GridCacheMvcc<K> mvcc;
 +    private GridCacheMvcc mvcc;
  
      /** Obsolete version. */
      private GridCacheVersion obsoleteVer;
@@@ -51,7 -53,7 +53,7 @@@
       * @param ttl TTL.
       * @param expireTime Expire time.
       */
-     public GridCacheAttributesMvccObsoleteTtlEntryExtras(GridLeanMap<String, 
Object> attrData, GridCacheMvcc mvcc,
 -    public GridCacheAttributesMvccObsoleteTtlEntryExtras(GridLeanMap<UUID, 
Object> attrData, GridCacheMvcc<K> mvcc,
++    public GridCacheAttributesMvccObsoleteTtlEntryExtras(GridLeanMap<UUID, 
Object> attrData, GridCacheMvcc mvcc,
          GridCacheVersion obsoleteVer, long ttl, long expireTime) {
          assert attrData != null;
          assert mvcc != null;
@@@ -71,7 -73,7 +73,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
index 0eaea58,f70ffd7..1829378
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesMvccTtlEntryExtras.java
@@@ -26,12 -28,12 +28,12 @@@ import java.util.*
  /**
   * Extras where attributes, MVCC and TTL are set.
   */
 -public class GridCacheAttributesMvccTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesMvccTtlEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** MVCC. */
 -    private GridCacheMvcc<K> mvcc;
 +    private GridCacheMvcc mvcc;
  
      /** TTL. */
      private long ttl;
@@@ -47,7 -49,7 +49,7 @@@
       * @param ttl TTL.
       * @param expireTime Expire time.
       */
-     public GridCacheAttributesMvccTtlEntryExtras(GridLeanMap<String, Object> 
attrData, GridCacheMvcc mvcc, long ttl,
 -    public GridCacheAttributesMvccTtlEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheMvcc<K> mvcc, long ttl,
++    public GridCacheAttributesMvccTtlEntryExtras(GridLeanMap<UUID, Object> 
attrData, GridCacheMvcc mvcc, long ttl,
          long expireTime) {
          assert attrData != null;
          assert mvcc != null;
@@@ -65,7 -67,7 +67,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
index 789a139,93d8aa6..a40af9a
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteEntryExtras.java
@@@ -26,9 -28,9 +28,9 @@@ import java.util.*
  /**
   * Extras where attributes and obsolete version are set.
   */
 -public class GridCacheAttributesObsoleteEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesObsoleteEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** Obsolete version. */
      private GridCacheVersion obsoleteVer;
@@@ -53,7 -55,7 +55,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
index 4504a09,1169352..6179804
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesObsoleteTtlEntryExtras.java
@@@ -26,9 -28,9 +28,9 @@@ import java.util.*
  /**
   * Extras where attributes, obsolete version and TTL are set.
   */
 -public class GridCacheAttributesObsoleteTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesObsoleteTtlEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** Obsolete version. */
      private GridCacheVersion obsoleteVer;
@@@ -65,7 -67,7 +67,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
index 5616a87,b78ea9e..1499003
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheAttributesTtlEntryExtras.java
@@@ -26,9 -28,9 +28,9 @@@ import java.util.*
  /**
   * Extras where attributes and TTL are set.
   */
 -public class GridCacheAttributesTtlEntryExtras<K> extends 
GridCacheEntryExtrasAdapter<K> {
 +public class GridCacheAttributesTtlEntryExtras extends 
GridCacheEntryExtrasAdapter {
      /** Attributes data. */
-     private GridLeanMap<String, Object> attrData;
+     private GridLeanMap<UUID, Object> attrData;
  
      /** TTL. */
      private long ttl;
@@@ -58,7 -60,7 +60,7 @@@
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<String, Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(@Nullable 
GridLeanMap<UUID, Object> attrData) {
          if (attrData != null) {
              this.attrData = attrData;
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
index 9d2b6fc,85b9250..e93d020
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtras.java
@@@ -35,7 -37,7 +37,7 @@@ public interface GridCacheEntryExtras 
       * @param attrData Attributes data.
       * @return Updated extras.
       */
-     public GridCacheEntryExtras attributesData(GridLeanMap<String, Object> 
attrData);
 -    public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, Object> 
attrData);
++    public GridCacheEntryExtras attributesData(GridLeanMap<UUID, Object> 
attrData);
  
      /**
       * @return MVCC.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
index 76c49e2,c796960..94ce54f
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheEntryExtrasAdapter.java
@@@ -24,9 -26,9 +26,9 @@@ import java.util.*
  /**
   * Cache extras adapter.
   */
 -public abstract class GridCacheEntryExtrasAdapter<K> implements 
GridCacheEntryExtras<K> {
 +public abstract class GridCacheEntryExtrasAdapter implements 
GridCacheEntryExtras {
      /** {@inheritDoc} */
-     @Override public GridLeanMap<String, Object> attributesData() {
+     @Override public GridLeanMap<UUID, Object> attributesData() {
          return null;
      }
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
index 6615230,2256d69..6e4091d
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccEntryExtras.java
@@@ -41,8 -43,8 +43,8 @@@ public class GridCacheMvccEntryExtras e
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
 -        return attrData != null ? new 
GridCacheAttributesMvccEntryExtras<>(attrData, mvcc) : this;
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
 +        return attrData != null ? new 
GridCacheAttributesMvccEntryExtras(attrData, mvcc) : this;
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
index d90d94c,6ba91c6..c8e719d
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteEntryExtras.java
@@@ -47,8 -49,8 +49,8 @@@ public class GridCacheMvccObsoleteEntry
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
 -        return attrData != null ? new 
GridCacheAttributesMvccObsoleteEntryExtras<>(attrData, mvcc, obsoleteVer) : 
this;
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
 +        return attrData != null ? new 
GridCacheAttributesMvccObsoleteEntryExtras(attrData, mvcc, obsoleteVer) : this;
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
index 407cf44,61b1b45..719f892
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccObsoleteTtlEntryExtras.java
@@@ -59,8 -61,8 +61,8 @@@ public class GridCacheMvccObsoleteTtlEn
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
 -        return attrData != null ? new 
GridCacheAttributesMvccObsoleteTtlEntryExtras<>(attrData, mvcc, obsoleteVer, 
ttl,
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
 +        return attrData != null ? new 
GridCacheAttributesMvccObsoleteTtlEntryExtras(attrData, mvcc, obsoleteVer, ttl,
              expireTime) : this;
      }
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
index 39568ea,4944773..e19d60c
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheMvccTtlEntryExtras.java
@@@ -52,8 -54,8 +54,8 @@@ public class GridCacheMvccTtlEntryExtra
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
 -        return attrData != null ? new 
GridCacheAttributesMvccTtlEntryExtras<>(attrData, mvcc, ttl, expireTime) : this;
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
 +        return attrData != null ? new 
GridCacheAttributesMvccTtlEntryExtras(attrData, mvcc, ttl, expireTime) : this;
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
index 82cfc85,81f622f..dae3f00
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteEntryExtras.java
@@@ -41,8 -43,8 +43,8 @@@ public class GridCacheObsoleteEntryExtr
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
-         return attrData != null ? new 
GridCacheAttributesObsoleteEntryExtras(attrData, obsoleteVer) : this;
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
+         return attrData != null ? new 
GridCacheAttributesObsoleteEntryExtras<K>(attrData, obsoleteVer) : this;
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
index c780136,ffe776e..96cf8b6
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheObsoleteTtlEntryExtras.java
@@@ -52,8 -54,8 +54,8 @@@ public class GridCacheObsoleteTtlEntryE
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
-         return attrData != null ? new 
GridCacheAttributesObsoleteTtlEntryExtras(attrData, obsoleteVer, ttl,
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
+         return attrData != null ? new 
GridCacheAttributesObsoleteTtlEntryExtras<K>(attrData, obsoleteVer, ttl,
              expireTime) : this;
      }
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
index a723063,f056ba5..6169952
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/extras/GridCacheTtlEntryExtras.java
@@@ -46,8 -48,8 +48,8 @@@ public class GridCacheTtlEntryExtras ex
      }
  
      /** {@inheritDoc} */
-     @Override public GridCacheEntryExtras attributesData(GridLeanMap<String, 
Object> attrData) {
-         return attrData != null ? new 
GridCacheAttributesTtlEntryExtras(attrData, ttl, expireTime) : this;
 -    @Override public GridCacheEntryExtras<K> attributesData(GridLeanMap<UUID, 
Object> attrData) {
++    @Override public GridCacheEntryExtras attributesData(GridLeanMap<UUID, 
Object> attrData) {
+         return attrData != null ? new 
GridCacheAttributesTtlEntryExtras<K>(attrData, ttl, expireTime) : this;
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java
index 8e5c0f3,8504aee..a6aac64
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/local/GridLocalLockFuture.java
@@@ -36,7 -37,10 +36,10 @@@ import java.util.concurrent.atomic.*
   * Cache lock future.
   */
  public final class GridLocalLockFuture<K, V> extends 
GridFutureAdapter<Boolean>
 -    implements GridCacheMvccFuture<K, V, Boolean> {
 +    implements GridCacheMvccFuture<Boolean> {
+     /** */
+     private static final long serialVersionUID = 0L;
+ 
      /** Logger reference. */
      private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
  

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheDistributedQueryFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheLocalQueryFuture.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryManager.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
index f24fc8f,2e284cc..4a0d6f7
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryEvent.java
@@@ -29,21 -28,22 +29,24 @@@ import javax.cache.event.*
   */
  class CacheContinuousQueryEvent<K, V> extends CacheEntryEvent<K, V> {
      /** */
+     private static final long serialVersionUID = 0L;
+ 
++    /** */
 +    private final GridCacheContext cctx;
 +
      /** Entry. */
      @GridToStringExclude
 -    private final CacheContinuousQueryEntry<K, V> e;
 +    private final CacheContinuousQueryEntry e;
  
      /**
 -     * @param source Source cache.
 -     * @param eventType Event type.
 +     * @param src Source cache.
 +     * @param cctx Cache context.
       * @param e Entry.
       */
 -    CacheContinuousQueryEvent(Cache source, EventType eventType, 
CacheContinuousQueryEntry<K, V> e) {
 -        super(source, eventType);
 -
 -        assert e != null;
 +    CacheContinuousQueryEvent(Cache src, GridCacheContext cctx, 
CacheContinuousQueryEntry e) {
 +        super(src, e.eventType());
  
 +        this.cctx = cctx;
          this.e = e;
      }
  
@@@ -55,8 -55,8 +58,9 @@@
      }
  
      /** {@inheritDoc} */
--    @Override public K getKey() {
 -        return e.key();
++    @Override
++    public K getKey() {
 +        return e.key().value(cctx.cacheObjectContext(), false);
      }
  
      /** {@inheritDoc} */
@@@ -65,8 -65,8 +69,9 @@@
      }
  
      /** {@inheritDoc} */
--    @Override public V getOldValue() {
 -        return e.oldValue();
++    @Override
++    public V getOldValue() {
 +        return CU.value(e.oldValue(), cctx, false);
      }
  
      /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
index 6ee76fb,7f3d8ff..0d76c27
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryManager.java
@@@ -692,9 -677,12 +692,12 @@@ public class CacheContinuousQueryManage
  
      /**
       */
 -    private static class JCacheQueryRemoteFilter<K, V> implements 
CacheEntryEventFilter<K, V>, Externalizable {
 +    private static class JCacheQueryRemoteFilter implements 
CacheEntryEventFilter, Externalizable {
          /** */
+         private static final long serialVersionUID = 0L;
+ 
+         /** */
 -        private CacheEntryEventFilter<K, V> impl;
 +        private CacheEntryEventFilter impl;
  
          /** */
          private byte types;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteInternalTx.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
index d784e43,539a41a..7957b9d
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java
@@@ -157,7 -141,7 +141,7 @@@ public class IgniteTransactionsImpl<K, 
              throw new IllegalArgumentException("SERIALIZABLE isolation level 
is disabled (to enable change " +
                  "'txSerializableEnabled' configuration property)");
  
-         IgniteInternalTx tx = cctx.tm().userTx();
 -        IgniteInternalTx<K, V> tx = (IgniteInternalTx<K, 
V>)cctx.tm().userTx(sysCacheCtx);
++        IgniteInternalTx tx = cctx.tm().userTx(sysCacheCtx);
  
          if (tx != null)
              throw new IllegalStateException("Failed to start new transaction 
" +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
index 90bbc55,07a4159..da30a94
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java
@@@ -526,8 -527,8 +527,8 @@@ public class IgniteTxHandler 
              if (req.commit()) {
                  if (tx == null) {
                      // Create transaction and add entries.
-                     tx = ctx.tm().onCreated(
+                     tx = ctx.tm().onCreated(null,
 -                        new GridDhtTxLocal<>(
 +                        new GridDhtTxLocal(
                              ctx,
                              nodeId,
                              req.version(),

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
index 6e7858a,ad63a66..d2f99df
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java
@@@ -18,8 -18,9 +18,9 @@@
  package org.apache.ignite.internal.processors.cache.transactions;
  
  import org.apache.ignite.*;
 -import org.apache.ignite.internal.*;
  import org.apache.ignite.cluster.*;
 +import org.apache.ignite.internal.*;
+ import org.apache.ignite.internal.managers.communication.*;
  import org.apache.ignite.internal.processors.cache.*;
  import org.apache.ignite.internal.processors.cache.distributed.near.*;
  import org.apache.ignite.internal.processors.cache.dr.*;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
index 71098ee,1347a7f..45186d8
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
@@@ -68,22 -69,25 +69,25 @@@ public class IgniteTxManager extends Gr
      private final ThreadLocal<IgniteInternalTx> threadCtx = new 
ThreadLocal<>();
  
      /** Per-thread transaction map. */
 -    private final ConcurrentMap<Long, IgniteInternalTx<K, V>> threadMap = 
newMap();
 +    private final ConcurrentMap<Long, IgniteInternalTx> threadMap = newMap();
  
+     /** Per-thread system transaction map. */
+     private final ConcurrentMap<TxThreadKey, IgniteInternalTx<K, V>> 
sysThreadMap = newMap();
+ 
      /** Per-ID map. */
 -    private final ConcurrentMap<GridCacheVersion, IgniteInternalTx<K, V>> 
idMap = newMap();
 +    private final ConcurrentMap<GridCacheVersion, IgniteInternalTx> idMap = 
newMap();
  
      /** Per-ID map for near transactions. */
 -    private final ConcurrentMap<GridCacheVersion, IgniteInternalTx<K, V>> 
nearIdMap = newMap();
 +    private final ConcurrentMap<GridCacheVersion, IgniteInternalTx> nearIdMap 
= newMap();
  
      /** TX handler. */
 -    private IgniteTxHandler<K, V> txHandler;
 +    private IgniteTxHandler txHandler;
  
      /** All transactions. */
 -    private final Queue<IgniteInternalTx<K, V>> committedQ = new 
ConcurrentLinkedDeque8<>();
 +    private final Queue<IgniteInternalTx> committedQ = new 
ConcurrentLinkedDeque8<>();
  
      /** Preparing transactions. */
 -    private final Queue<IgniteInternalTx<K, V>> prepareQ = new 
ConcurrentLinkedDeque8<>();
 +    private final Queue<IgniteInternalTx> prepareQ = new 
ConcurrentLinkedDeque8<>();
  
      /** Minimum start version. */
      private final ConcurrentNavigableMap<GridCacheVersion, AtomicInt> 
startVerCnts =
@@@ -350,10 -354,10 +354,10 @@@
       * @param partLock {@code True} if partition is locked.
       * @return New transaction.
       */
 -    public IgniteTxLocalAdapter<K, V> newTx(
 +    public IgniteTxLocalAdapter newTx(
          boolean implicit,
          boolean implicitSingle,
-         boolean sys,
+         @Nullable GridCacheContext<K, V> sysCacheCtx,
          TransactionConcurrency concurrency,
          TransactionIsolation isolation,
          long timeout,
@@@ -389,8 -396,8 +396,8 @@@
       * @param tx Created transaction.
       * @return Started transaction.
       */
-     @Nullable public <T extends IgniteInternalTx> T onCreated(T tx) {
 -    @Nullable public <T extends IgniteInternalTx<K, V>> T onCreated(@Nullable 
GridCacheContext<K, V> cacheCtx, T tx) {
 -        ConcurrentMap<GridCacheVersion, IgniteInternalTx<K, V>> txIdMap = 
transactionMap(tx);
++    @Nullable public <T extends IgniteInternalTx> T onCreated(@Nullable 
GridCacheContext cacheCtx, T tx) {
 +        ConcurrentMap<GridCacheVersion, IgniteInternalTx> txIdMap = 
transactionMap(tx);
  
          // Start clean.
          resetContext();
@@@ -616,8 -627,8 +627,8 @@@
       * @return Transaction for current thread.
       */
      @SuppressWarnings({"unchecked"})
-     public <T> T threadLocalTx() {
-         IgniteInternalTx tx = tx(Thread.currentThread().getId());
 -    public <T> T threadLocalTx(GridCacheContext<K, V> cctx) {
 -        IgniteInternalTx<K, V> tx = tx(cctx, Thread.currentThread().getId());
++    public <T> T threadLocalTx(GridCacheContext cctx) {
++        IgniteInternalTx tx = tx(cctx, Thread.currentThread().getId());
  
          return tx != null && tx.local() && (!tx.dht() || tx.colocated()) && 
!tx.implicit() ? (T)tx : null;
      }
@@@ -627,9 -638,9 +638,9 @@@
       */
      @SuppressWarnings({"unchecked", "RedundantCast"})
      public <T> T tx() {
 -        IgniteInternalTx<K, V> tx = txContext();
 +        IgniteInternalTx tx = txContext();
  
-         return tx != null ? (T)tx : (T)tx(Thread.currentThread().getId());
+         return tx != null ? (T)tx : (T)tx(null, 
Thread.currentThread().getId());
      }
  
      /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/TransactionProxyImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/b37bd358/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
----------------------------------------------------------------------
diff --cc 
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
index 1fe8a25,be040b9..4bd0c3e
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
@@@ -85,71 -78,6 +81,66 @@@ public class GridCacheVersionEx extend
      }
  
      /** {@inheritDoc} */
-     @Override public Object ggClassId() {
-         return GG_CLASS_ID;
-     }
- 
-     /** {@inheritDoc} */
 +    @Override public byte directType() {
 +        return 104;
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override public byte fieldsCount() {
 +        return 5;
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
 +        writer.setBuffer(buf);
 +
 +        if (!super.writeTo(buf, writer))
 +            return false;
 +
 +        if (!writer.isHeaderWritten()) {
 +            if (!writer.writeHeader(directType(), fieldsCount()))
 +                return false;
 +
 +            writer.onHeaderWritten();
 +        }
 +
 +        switch (writer.state()) {
 +            case 4:
 +                if (!writer.writeMessage("drVer", drVer))
 +                    return false;
 +
 +                writer.incrementState();
 +
 +        }
 +
 +        return true;
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
 +        reader.setBuffer(buf);
 +
 +        if (!reader.beforeMessageRead())
 +            return false;
 +
 +        if (!super.readFrom(buf, reader))
 +            return false;
 +
 +        switch (reader.state()) {
 +            case 4:
 +                drVer = reader.readMessage("drVer");
 +
 +                if (!reader.isLastRead())
 +                    return false;
 +
 +                reader.incrementState();
 +
 +        }
 +
 +        return true;
 +    }
 +
 +    /** {@inheritDoc} */
      @Override public void readExternal(ObjectInput in) throws IOException {
          super.readExternal(in);
  

Reply via email to