Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/ignite into 
ignite-5960

Conflicts:
        
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java


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

Branch: refs/heads/ignite-5960
Commit: a7ee714e6dd04d5380fb8bc20003ef721bf5ec92
Parents: 8531961 00e935d
Author: Alexey Goncharuk <[email protected]>
Authored: Fri Sep 7 16:48:37 2018 +0300
Committer: Alexey Goncharuk <[email protected]>
Committed: Fri Sep 7 16:48:37 2018 +0300

----------------------------------------------------------------------
 .gitignore                                      |    3 +
 bin/control.bat                                 |   30 +-
 bin/ignite.bat                                  |   30 +-
 bin/ignite.sh                                   |   16 +-
 bin/ignitevisorcmd.bat                          |   32 +-
 bin/ignitevisorcmd.sh                           |    8 +-
 bin/include/functions.sh                        |   44 +-
 examples/DEVNOTES.txt                           |   11 +
 .../examples/ml/MLExamplesCommonArgs.java       |   31 -
 .../clustering/KMeansClusterizationExample.java |   47 +-
 .../AlgorithmSpecificDatasetExample.java        |   35 +-
 .../ml/dataset/CacheBasedDatasetExample.java    |   29 +-
 .../ml/dataset/LocalDatasetExample.java         |   84 -
 .../ignite/examples/ml/genetic/change/Coin.java |   62 +-
 .../OptimizeMakeChangeFitnessFunction.java      |   66 +-
 .../change/OptimizeMakeChangeGAExample.java     |  167 +-
 .../OptimizeMakeChangeTerminateCriteria.java    |   66 +-
 .../helloworld/HelloWorldFitnessFunction.java   |   39 +-
 .../genetic/helloworld/HelloWorldGAExample.java |  109 +-
 .../helloworld/HelloWorldTerminateCriteria.java |   73 +-
 .../examples/ml/genetic/knapsack/Item.java      |   43 +-
 .../knapsack/KnapsackFitnessFunction.java       |   43 +-
 .../ml/genetic/knapsack/KnapsackGAExample.java  |  165 +-
 .../knapsack/KnapsackTerminateCriteria.java     |   83 +-
 .../ignite/examples/ml/genetic/movie/Movie.java |   51 +-
 .../ml/genetic/movie/MovieFitnessFunction.java  |   70 +-
 .../ml/genetic/movie/MovieGAExample.java        |  141 +-
 .../genetic/movie/MovieTerminateCriteria.java   |   71 +-
 .../ml/knn/ANNClassificationExample.java        |  317 ++
 .../ml/knn/KNNClassificationExample.java        |   50 +-
 .../examples/ml/knn/KNNRegressionExample.java   |   56 +-
 .../examples/ml/nn/MLPTrainerExample.java       |   17 +-
 .../ml/preprocessing/BinarizationExample.java   |   31 +-
 .../ml/preprocessing/ImputingExample.java       |   34 +-
 .../ImputingWithMostFrequentValuesExample.java  |   38 +-
 .../ml/preprocessing/MinMaxScalerExample.java   |   35 +-
 .../ml/preprocessing/NormalizationExample.java  |   31 +-
 .../LinearRegressionLSQRTrainerExample.java     |   41 +-
 ...ssionLSQRTrainerWithMinMaxScalerExample.java |   48 +-
 .../LinearRegressionSGDTrainerExample.java      |   43 +-
 .../LogisticRegressionSGDTrainerExample.java    |   45 +-
 ...gressionMultiClassClassificationExample.java |   46 +-
 .../ml/selection/cv/CrossValidationExample.java |   10 +-
 .../split/TrainTestDatasetSplitterExample.java  |   43 +-
 .../binary/SVMBinaryClassificationExample.java  |   43 +-
 .../SVMMultiClassClassificationExample.java     |   45 +-
 ...ecisionTreeClassificationTrainerExample.java |   17 +-
 .../DecisionTreeRegressionTrainerExample.java   |   12 +-
 .../GDBOnTreesClassificationTrainerExample.java |   21 +-
 .../GDBOnTreesRegressionTrainerExample.java     |   19 +-
 .../RandomForestClassificationExample.java      |  438 +--
 .../RandomForestRegressionExample.java          | 1091 +++---
 .../ml/tutorial/Step_1_Read_and_Learn.java      |   22 +-
 .../examples/ml/tutorial/Step_2_Imputing.java   |   21 +-
 .../examples/ml/tutorial/Step_3_Categorial.java |   24 +-
 .../Step_3_Categorial_with_One_Hot_Encoder.java |   26 +-
 .../ml/tutorial/Step_4_Add_age_fare.java        |   22 +-
 .../examples/ml/tutorial/Step_5_Scaling.java    |   40 +-
 .../ignite/examples/ml/tutorial/Step_6_KNN.java |   48 +-
 .../ml/tutorial/Step_7_Split_train_test.java    |   43 +-
 .../ignite/examples/ml/tutorial/Step_8_CV.java  |   57 +-
 .../ml/tutorial/Step_8_CV_with_Param_Grid.java  |   53 +-
 .../ml/tutorial/Step_9_Go_to_LogReg.java        |   44 +-
 .../examples/ml/tutorial/TitanicUtils.java      |    2 +-
 .../ml/tutorial/TutorialStepByStepExample.java  |    4 +-
 .../ignite/examples/ml/util/DatasetHelper.java  |   57 +
 .../examples/ml/util/MLExamplesCommonArgs.java  |   31 +
 .../ignite/examples/ml/util/TestCache.java      |   77 +
 .../ignite/examples/ml/util/package-info.java   |   22 +
 .../testsuites/IgniteExamplesMLTestSuite.java   |    2 +-
 idea/ignite_inspections.xml                     |  772 ++++
 .../benchmarks/jmh/tree/BPlusTreeBenchmark.java |    2 +-
 modules/camel/pom.xml                           |    1 -
 .../camel/IgniteCamelStreamerTestSuite.java     |    2 +-
 modules/cassandra/store/pom.xml                 |    1 -
 .../internal/jdbc2/JdbcStreamingSelfTest.java   |    3 +-
 .../rest/AbstractRestProcessorSelfTest.java     |    2 +
 .../JettyRestProcessorAbstractSelfTest.java     |    2 +-
 .../rest/JettyRestProcessorCommonSelfTest.java  |    2 +
 .../suite/IgniteJdbcDriverMvccTestSuite.java    |   47 +
 .../jdbc/suite/IgniteJdbcDriverTestSuite.java   |   17 +-
 .../jdbc/thin/JdbcThinAbstractSelfTest.java     |    4 +-
 ...bcThinComplexDmlDdlCustomSchemaSelfTest.java |   78 +
 .../thin/JdbcThinComplexDmlDdlSelfTest.java     |   20 +-
 .../JdbcThinConnectionMvccEnabledSelfTest.java  |  378 ++
 .../jdbc/thin/JdbcThinConnectionSelfTest.java   |  188 +-
 .../jdbc/thin/JdbcThinMetadataSelfTest.java     |   49 +-
 .../thin/JdbcThinStreamingAbstractSelfTest.java |   19 +-
 .../JdbcThinStreamingNotOrderedSelfTest.java    |    2 +-
 .../thin/JdbcThinStreamingOrderedSelfTest.java  |    2 +-
 ...ThinTransactionsAbstractComplexSelfTest.java | 1058 +++++
 ...sactionsClientAutoCommitComplexSelfTest.java |   33 +
 ...ctionsClientNoAutoCommitComplexSelfTest.java |   33 +
 .../jdbc/thin/JdbcThinTransactionsSelfTest.java |  447 +++
 ...sactionsServerAutoCommitComplexSelfTest.java |   33 +
 ...ctionsServerNoAutoCommitComplexSelfTest.java |   33 +
 ...ThinTransactionsWithMvccEnabledSelfTest.java |  447 +++
 modules/clients/src/test/keystore/ca/node01.jks |  Bin 3719 -> 3719 bytes
 modules/clients/src/test/keystore/ca/node02.jks |  Bin 4598 -> 4599 bytes
 modules/clients/src/test/keystore/ca/node03.jks |  Bin 3754 -> 3753 bytes
 .../clients/src/test/keystore/ca/oneindex.txt   |    2 +-
 .../clients/src/test/keystore/ca/twoindex.txt   |    4 +-
 .../TcpDiscoveryCloudIpFinderSelfTest.java      |    2 +
 .../ignite/codegen/MessageCodeGenerator.java    |    4 +-
 modules/core/pom.xml                            |    2 +-
 .../java/org/apache/ignite/IgniteCompute.java   |   14 +
 .../apache/ignite/IgniteSystemProperties.java   |   17 +
 .../main/java/org/apache/ignite/Ignition.java   |    8 +-
 .../org/apache/ignite/cache/QueryEntity.java    |   91 +-
 .../org/apache/ignite/cluster/ClusterNode.java  |   12 +-
 .../configuration/CacheConfiguration.java       |    1 +
 .../configuration/DataStorageConfiguration.java |   42 +
 .../DefaultCommunicationFailureResolver.java    |   10 +-
 .../configuration/IgniteConfiguration.java      |  117 +-
 .../org/apache/ignite/events/EventType.java     |   15 +-
 .../ignite/events/WalSegmentArchivedEvent.java  |   13 +-
 .../ignite/events/WalSegmentCompactedEvent.java |   46 +
 .../apache/ignite/internal/GridComponent.java   |    5 +-
 .../ignite/internal/GridKernalContext.java      |    6 +
 .../ignite/internal/GridKernalContextImpl.java  |   14 +-
 .../org/apache/ignite/internal/GridTopic.java   |   10 +-
 .../ignite/internal/IgniteComputeImpl.java      |   15 +
 .../apache/ignite/internal/IgniteKernal.java    |   34 +-
 .../ignite/internal/IgniteNodeAttributes.java   |    6 +-
 .../org/apache/ignite/internal/IgnitionEx.java  |    8 +-
 .../ignite/internal/NodeStoppingException.java  |    2 +-
 .../ignite/internal/TransactionsMXBeanImpl.java |   20 +-
 .../UnregisteredBinaryTypeException.java        |   96 +
 .../binary/BinaryCachingMetadataHandler.java    |    2 +-
 .../internal/binary/BinaryClassDescriptor.java  |    9 +-
 .../ignite/internal/binary/BinaryContext.java   |   11 +-
 .../internal/binary/BinaryFieldAccessor.java    |    4 +
 .../internal/binary/BinaryMetadataHandler.java  |    3 +-
 .../binary/BinaryNoopMetadataHandler.java       |    2 +-
 .../internal/binary/BinaryReaderExImpl.java     |    2 +-
 .../internal/binary/BinaryWriterExImpl.java     |   13 +
 .../binary/builder/BinaryBuilderSerializer.java |    2 +-
 .../binary/builder/BinaryObjectBuilderImpl.java |    9 +-
 .../internal/client/thin/ClientBinary.java      |    2 +-
 .../internal/client/thin/ClientChannel.java     |    5 +
 .../internal/client/thin/ClientUtils.java       |   62 +-
 .../internal/client/thin/ReliableChannel.java   |    7 +
 .../internal/client/thin/TcpClientCache.java    |    3 +-
 .../internal/client/thin/TcpClientChannel.java  |   16 +-
 .../internal/client/thin/TcpIgniteClient.java   |   23 +-
 .../internal/commandline/CommandHandler.java    |   24 +-
 .../jdbc/thin/ConnectionProperties.java         |   10 +
 .../jdbc/thin/ConnectionPropertiesImpl.java     |   37 +-
 .../internal/jdbc/thin/JdbcThinConnection.java  |   33 +-
 .../jdbc/thin/JdbcThinDatabaseMetadata.java     |   11 +-
 .../internal/jdbc/thin/JdbcThinStatement.java   |    7 +-
 .../internal/jdbc/thin/JdbcThinTcpIo.java       |   32 +-
 .../managers/communication/GridIoManager.java   |   16 +
 .../communication/GridIoMessageFactory.java     |  139 +
 .../internal/managers/discovery/DiscoCache.java |   17 +-
 .../discovery/GridDiscoveryManager.java         |   37 +-
 .../managers/discovery/IgniteClusterNode.java   |    7 -
 .../pagemem/impl/PageMemoryNoStoreImpl.java     |    8 +-
 .../pagemem/store/IgnitePageStoreManager.java   |   13 +
 .../pagemem/wal/IgniteWriteAheadLogManager.java |   19 +-
 .../internal/pagemem/wal/StorageException.java  |   53 -
 .../internal/pagemem/wal/record/WALRecord.java  |   11 +-
 .../delta/DataPageMvccMarkUpdatedRecord.java    |  103 +
 .../DataPageMvccUpdateNewTxStateHintRecord.java |   79 +
 .../DataPageMvccUpdateTxStateHintRecord.java    |   79 +
 .../processors/affinity/AffinityAssignment.java |   15 +-
 .../affinity/GridAffinityAssignment.java        |   30 +-
 .../affinity/GridAffinityAssignmentCache.java   |   21 +-
 .../affinity/GridAffinityProcessor.java         |    2 +-
 .../processors/affinity/GridAffinityUtils.java  |    2 +-
 .../affinity/HistoryAffinityAssignment.java     |   11 +-
 .../cache/CacheAffinitySharedManager.java       |   69 +-
 .../cache/CacheEntryInfoCollection.java         |   12 +
 .../processors/cache/CacheGroupContext.java     |   34 +
 .../cache/CacheGroupMetricsMXBeanImpl.java      |   12 +-
 .../cache/CacheInvokeDirectResult.java          |   37 +
 .../processors/cache/CacheInvokeResult.java     |    6 +
 .../processors/cache/CacheOperationContext.java |    2 +-
 .../processors/cache/ClusterCachesInfo.java     |   17 +-
 .../processors/cache/ExchangeContext.java       |   43 +-
 .../cache/ExchangeDiscoveryEvents.java          |    9 +-
 .../cache/GatewayProtectedCacheProxy.java       |    3 +
 .../processors/cache/GridCacheAdapter.java      |  113 +-
 .../cache/GridCacheAffinityManager.java         |    5 +
 .../cache/GridCacheConcurrentMapImpl.java       |    4 +-
 .../processors/cache/GridCacheContext.java      |    7 +
 .../processors/cache/GridCacheEntryEx.java      |  142 +-
 .../processors/cache/GridCacheEntryInfo.java    |    6 +-
 .../cache/GridCacheEvictionManager.java         |   19 +
 .../processors/cache/GridCacheIoManager.java    |    3 +-
 .../processors/cache/GridCacheMapEntry.java     | 1215 +++++-
 .../cache/GridCacheMvccEntryInfo.java           |  257 ++
 .../processors/cache/GridCacheMvccManager.java  |    2 +-
 .../processors/cache/GridCacheOperation.java    |    2 +-
 .../GridCachePartitionExchangeManager.java      |  118 +-
 .../processors/cache/GridCacheProcessor.java    |  121 +-
 .../processors/cache/GridCacheProxyImpl.java    |   24 -
 .../processors/cache/GridCacheReturn.java       |   28 +-
 .../cache/GridCacheSharedContext.java           |   11 +-
 .../processors/cache/GridCacheTtlManager.java   |    2 +-
 .../cache/GridCacheUpdateTxResult.java          |   98 +-
 .../processors/cache/GridCacheUtils.java        |  167 +-
 .../cache/IgniteCacheOffheapManager.java        |  489 ++-
 .../cache/IgniteCacheOffheapManagerImpl.java    | 1726 +++++++-
 .../processors/cache/IgniteCacheProxyImpl.java  |   10 +-
 .../processors/cache/IgniteInternalCache.java   |   14 -
 .../binary/CacheObjectBinaryProcessor.java      |    3 +-
 .../binary/CacheObjectBinaryProcessorImpl.java  |   26 +-
 .../distributed/GridCacheTxFinishSync.java      |    2 +-
 .../distributed/GridCacheTxRecoveryFuture.java  |   11 +
 .../distributed/GridDistributedTxMapping.java   |   17 +
 .../GridDistributedTxPrepareRequest.java        |   22 +
 .../GridDistributedTxRemoteAdapter.java         |  115 +-
 .../distributed/dht/CompoundLockFuture.java     |  112 +
 .../cache/distributed/dht/DhtLockFuture.java    |   30 +
 .../cache/distributed/dht/ExceptionAware.java   |   30 +
 .../dht/GridClientPartitionTopology.java        |    7 +
 .../distributed/dht/GridDhtCacheAdapter.java    |   68 +-
 .../distributed/dht/GridDhtCacheEntry.java      |   10 +-
 .../cache/distributed/dht/GridDhtGetFuture.java |   17 +-
 .../distributed/dht/GridDhtGetSingleFuture.java |   17 +-
 .../distributed/dht/GridDhtLocalPartition.java  |   58 +-
 .../distributed/dht/GridDhtLockFuture.java      |   15 +-
 .../dht/GridDhtPartitionTopology.java           |    4 +
 .../dht/GridDhtPartitionTopologyImpl.java       |   50 +-
 .../dht/GridDhtPartitionsStateValidator.java    |   11 +-
 .../dht/GridDhtTransactionalCacheAdapter.java   |  485 ++-
 .../dht/GridDhtTxAbstractEnlistFuture.java      | 1139 ++++++
 .../distributed/dht/GridDhtTxFinishFuture.java  |  116 +-
 .../distributed/dht/GridDhtTxFinishRequest.java |   67 +-
 .../cache/distributed/dht/GridDhtTxLocal.java   |   11 +-
 .../distributed/dht/GridDhtTxLocalAdapter.java  |   96 +-
 .../distributed/dht/GridDhtTxPrepareFuture.java |  120 +-
 .../dht/GridDhtTxPrepareRequest.java            |   31 +-
 .../dht/GridDhtTxQueryEnlistFuture.java         |  140 +
 .../dht/GridDhtTxQueryEnlistRequest.java        |  404 ++
 .../dht/GridDhtTxQueryEnlistResponse.java       |  205 +
 .../dht/GridDhtTxQueryFirstEnlistRequest.java   |  370 ++
 .../dht/GridDhtTxQueryResultsEnlistFuture.java  |  130 +
 .../cache/distributed/dht/GridDhtTxRemote.java  |  132 +
 .../dht/GridPartitionedGetFuture.java           |   92 +-
 .../dht/GridPartitionedSingleGetFuture.java     |   24 +-
 .../dht/NearTxQueryEnlistResultHandler.java     |  169 +
 .../dht/PartitionUpdateCounters.java            |  123 +
 .../distributed/dht/PartitionsEvictManager.java |    5 +-
 .../dht/atomic/DhtAtomicUpdateResult.java       |   33 +-
 .../dht/atomic/GridDhtAtomicCache.java          |  176 +-
 .../dht/colocated/GridDhtColocatedCache.java    |   32 +-
 .../colocated/GridDhtColocatedLockFuture.java   |  499 ++-
 .../preloader/CacheGroupAffinityMessage.java    |   17 +-
 .../dht/preloader/GridDhtForceKeysFuture.java   |   43 +-
 .../dht/preloader/GridDhtPartitionDemander.java |   52 +-
 .../dht/preloader/GridDhtPartitionSupplier.java |  111 +-
 .../GridDhtPartitionSupplyMessage.java          |    6 +-
 .../GridDhtPartitionSupplyMessageV2.java        |  153 +
 .../GridDhtPartitionsExchangeFuture.java        |  292 +-
 .../preloader/GridDhtPartitionsFullMessage.java |    4 +-
 .../GridDhtPartitionsSingleMessage.java         |   44 +-
 .../dht/preloader/GridDhtPreloader.java         |   43 +-
 .../preloader/latch/ExchangeLatchManager.java   |    2 +-
 .../near/AckCoordinatorOnRollback.java          |   54 +
 .../distributed/near/GridNearAtomicCache.java   |    2 +-
 .../distributed/near/GridNearCacheAdapter.java  |   10 -
 .../distributed/near/GridNearGetFuture.java     |   24 +-
 .../distributed/near/GridNearGetRequest.java    |   33 +-
 .../distributed/near/GridNearLockFuture.java    |   80 +-
 ...arOptimisticSerializableTxPrepareFuture.java |   94 +-
 .../near/GridNearOptimisticTxPrepareFuture.java |   89 +-
 ...ridNearOptimisticTxPrepareFutureAdapter.java |  178 +-
 .../GridNearPessimisticTxPrepareFuture.java     |  195 +-
 .../near/GridNearSingleGetRequest.java          |   33 +-
 .../near/GridNearTransactionalCache.java        |    6 +-
 .../near/GridNearTxAbstractEnlistFuture.java    |  499 +++
 .../near/GridNearTxFastFinishFuture.java        |   13 +-
 .../near/GridNearTxFinishAndAckFuture.java      |  144 +
 .../near/GridNearTxFinishFuture.java            |   78 +-
 .../near/GridNearTxFinishRequest.java           |   30 +-
 .../cache/distributed/near/GridNearTxLocal.java |  417 +-
 .../near/GridNearTxPrepareFutureAdapter.java    |   12 +-
 .../near/GridNearTxPrepareRequest.java          |   17 +
 .../near/GridNearTxPrepareResponse.java         |   34 +-
 .../near/GridNearTxQueryEnlistFuture.java       |  382 ++
 .../near/GridNearTxQueryEnlistRequest.java      |  616 +++
 .../near/GridNearTxQueryEnlistResponse.java     |  298 ++
 .../GridNearTxQueryResultsEnlistFuture.java     |  670 ++++
 .../GridNearTxQueryResultsEnlistRequest.java    |  578 +++
 .../GridNearTxQueryResultsEnlistResponse.java   |  202 +
 .../distributed/near/GridNearTxRemote.java      |    9 +-
 .../near/GridNearTxSelectForUpdateFuture.java   |  462 +++
 .../distributed/near/NearTxFinishFuture.java    |   21 +-
 .../near/TxTopologyVersionFuture.java           |  155 +
 .../processors/cache/dr/GridCacheDrManager.java |   31 +
 .../cache/dr/GridOsCacheDrManager.java          |   13 +
 .../processors/cache/local/GridLocalCache.java  |    2 +-
 .../local/atomic/GridLocalAtomicCache.java      |   29 +-
 .../processors/cache/mvcc/MvccCoordinator.java  |  104 +
 .../cache/mvcc/MvccDiscoveryData.java           |   52 +
 .../cache/mvcc/MvccEmptyLongList.java           |   53 +
 .../processors/cache/mvcc/MvccFuture.java       |   66 +
 .../processors/cache/mvcc/MvccLongList.java     |   29 +
 .../mvcc/MvccPreviousCoordinatorQueries.java    |  222 ++
 .../processors/cache/mvcc/MvccProcessor.java    |  250 ++
 .../cache/mvcc/MvccProcessorImpl.java           | 2200 +++++++++++
 .../processors/cache/mvcc/MvccQueryTracker.java |  102 +
 .../cache/mvcc/MvccQueryTrackerImpl.java        |  348 ++
 .../processors/cache/mvcc/MvccSnapshot.java     |   48 +
 .../cache/mvcc/MvccSnapshotFuture.java          |   43 +
 .../mvcc/MvccSnapshotResponseListener.java      |   35 +
 .../cache/mvcc/MvccSnapshotWithoutTxs.java      |  204 +
 .../cache/mvcc/MvccUpdateVersionAware.java      |   76 +
 .../processors/cache/mvcc/MvccUtils.java        |  879 +++++
 .../processors/cache/mvcc/MvccVersion.java      |   48 +
 .../processors/cache/mvcc/MvccVersionAware.java |   76 +
 .../processors/cache/mvcc/MvccVersionImpl.java  |  193 +
 .../cache/mvcc/NoOpMvccProcessor.java           |  215 +
 .../cache/mvcc/StaticMvccQueryTracker.java      |   96 +
 .../processors/cache/mvcc/VacuumMetrics.java    |  102 +
 .../cache/mvcc/VacuumMetricsReducer.java        |   49 +
 .../processors/cache/mvcc/VacuumTask.java       |   63 +
 .../cache/mvcc/msg/MvccAckRequestQueryCntr.java |  130 +
 .../cache/mvcc/msg/MvccAckRequestQueryId.java   |  130 +
 .../cache/mvcc/msg/MvccAckRequestTx.java        |  210 +
 .../mvcc/msg/MvccAckRequestTxAndQueryCntr.java  |  123 +
 .../mvcc/msg/MvccAckRequestTxAndQueryId.java    |  122 +
 .../mvcc/msg/MvccActiveQueriesMessage.java      |  132 +
 .../cache/mvcc/msg/MvccFutureResponse.java      |  130 +
 .../processors/cache/mvcc/msg/MvccMessage.java  |   35 +
 .../mvcc/msg/MvccQuerySnapshotRequest.java      |  130 +
 .../cache/mvcc/msg/MvccSnapshotResponse.java    |  320 ++
 .../cache/mvcc/msg/MvccTxSnapshotRequest.java   |  128 +
 .../cache/mvcc/msg/MvccWaitTxsRequest.java      |  159 +
 .../processors/cache/mvcc/txlog/TxKey.java      |   76 +
 .../processors/cache/mvcc/txlog/TxLog.java      |  584 +++
 .../processors/cache/mvcc/txlog/TxLogIO.java    |   73 +
 .../cache/mvcc/txlog/TxLogInnerIO.java          |  105 +
 .../cache/mvcc/txlog/TxLogLeafIO.java           |  105 +
 .../processors/cache/mvcc/txlog/TxLogTree.java  |   62 +
 .../processors/cache/mvcc/txlog/TxRow.java      |   44 +
 .../processors/cache/mvcc/txlog/TxState.java    |   37 +
 .../cache/persistence/AllocatedPageTracker.java |    5 +-
 .../cache/persistence/CacheDataRow.java         |    3 +-
 .../cache/persistence/CacheDataRowAdapter.java  |  114 +-
 .../cache/persistence/CacheSearchRow.java       |    3 +-
 .../persistence/DataRegionMetricsImpl.java      |   16 +-
 .../persistence/DatabaseLifecycleListener.java  |   54 +
 .../GridCacheDatabaseSharedManager.java         |  118 +-
 .../persistence/GridCacheOffheapManager.java    |  328 +-
 .../IgniteCacheDatabaseSharedManager.java       |   66 +-
 .../cache/persistence/IndexStorageImpl.java     |    2 +-
 .../processors/cache/persistence/RowStore.java  |   28 +-
 .../processors/cache/persistence/Storable.java  |   14 +
 .../cache/persistence/StorageException.java     |   53 +
 .../checkpoint/CheckpointHistory.java           |  102 +-
 .../cache/persistence/file/FilePageStore.java   |   79 +-
 .../persistence/file/FilePageStoreManager.java  |   56 +-
 .../file/PersistentStorageIOException.java      |   47 -
 .../persistence/freelist/AbstractFreeList.java  |   20 +-
 .../cache/persistence/freelist/FreeList.java    |   12 +
 .../persistence/metastorage/MetaStorage.java    |    2 +-
 .../metastorage/MetastorageDataRow.java         |   11 +
 .../metastorage/MetastorageTree.java            |    2 +-
 .../cache/persistence/pagemem/PageMemoryEx.java |    2 +-
 .../persistence/pagemem/PageMemoryImpl.java     |    2 +-
 .../cache/persistence/tree/BPlusTree.java       | 1312 +++++--
 .../tree/CorruptedTreeException.java            |   38 +
 .../persistence/tree/io/AbstractDataPageIO.java |   35 +-
 .../cache/persistence/tree/io/DataPageIO.java   |  484 ++-
 .../cache/persistence/tree/io/IOVersions.java   |    7 +
 .../cache/persistence/tree/io/PageIO.java       |  133 +-
 .../persistence/tree/io/SimpleDataPageIO.java   |    6 -
 .../tree/util/PageHandlerWrapper.java           |   36 +
 .../wal/AbstractWalRecordsIterator.java         |  162 +-
 .../cache/persistence/wal/FileDescriptor.java   |  137 +
 .../wal/FileWriteAheadLogManager.java           |  325 +-
 .../wal/FsyncModeFileWriteAheadLogManager.java  |  267 +-
 .../SingleSegmentLogicalRecordsIterator.java    |    4 +-
 .../wal/reader/IgniteWalIteratorFactory.java    |   72 +-
 .../wal/reader/StandaloneGridKernalContext.java |    6 +
 .../reader/StandaloneWalRecordsIterator.java    |  131 +-
 .../persistence/wal/record/RecordTypes.java     |    3 +
 .../wal/serializer/RecordDataV1Serializer.java  |   82 +
 .../query/GridCacheDistributedQueryManager.java |   14 +-
 .../cache/query/GridCacheQueryAdapter.java      |  174 +-
 .../cache/query/GridCacheQueryManager.java      |   32 +-
 .../cache/query/GridCacheQueryRequest.java      |   31 +-
 .../query/GridCacheQueryResponseEntry.java      |    5 +-
 .../cache/query/IgniteQueryErrorCode.java       |   28 +
 .../cache/query/QueryEntityTypeDescriptor.java  |   39 +-
 .../cache/query/SqlFieldsQueryEx.java           |   39 +
 .../continuous/CacheContinuousQueryManager.java |    8 +-
 .../cache/transactions/IgniteInternalTx.java    |   24 +-
 .../transactions/IgniteTransactionsImpl.java    |    4 +-
 .../cache/transactions/IgniteTxAdapter.java     |  247 +-
 .../cache/transactions/IgniteTxEntry.java       |    6 +
 .../cache/transactions/IgniteTxHandler.java     |  108 +-
 .../IgniteTxImplicitSingleStateImpl.java        |   16 +-
 .../transactions/IgniteTxLocalAdapter.java      |  332 +-
 .../cache/transactions/IgniteTxLocalEx.java     |    8 +
 .../cache/transactions/IgniteTxLocalState.java  |   16 +
 .../transactions/IgniteTxLocalStateAdapter.java |   26 +
 .../cache/transactions/IgniteTxManager.java     |   13 +
 .../IgniteTxRemoteSingleStateImpl.java          |    5 +
 .../IgniteTxRemoteStateAdapter.java             |   21 +-
 .../transactions/IgniteTxRemoteStateImpl.java   |   10 +
 .../cache/transactions/IgniteTxState.java       |   16 +-
 .../cache/transactions/IgniteTxStateImpl.java   |   26 +-
 .../cache/transactions/TxCounters.java          |   82 +
 .../cache/tree/AbstractDataInnerIO.java         |  112 +-
 .../cache/tree/AbstractDataLeafIO.java          |  125 +-
 .../cache/tree/CacheDataRowStore.java           |   35 +-
 .../processors/cache/tree/CacheDataTree.java    |   82 +-
 .../cache/tree/CacheIdAwareDataInnerIO.java     |    8 +-
 .../cache/tree/CacheIdAwareDataLeafIO.java      |    8 +-
 .../processors/cache/tree/DataInnerIO.java      |   11 -
 .../processors/cache/tree/DataLeafIO.java       |   11 -
 .../internal/processors/cache/tree/DataRow.java |   28 +-
 .../cache/tree/PendingEntriesTree.java          |    2 +-
 .../processors/cache/tree/PendingRow.java       |    3 +-
 .../processors/cache/tree/RowLinkIO.java        |   67 +-
 .../processors/cache/tree/SearchRow.java        |   31 +
 .../mvcc/data/MvccCacheIdAwareDataInnerIO.java  |   68 +
 .../mvcc/data/MvccCacheIdAwareDataLeafIO.java   |   89 +
 .../cache/tree/mvcc/data/MvccDataInnerIO.java   |   71 +
 .../cache/tree/mvcc/data/MvccDataLeafIO.java    |   89 +
 .../cache/tree/mvcc/data/MvccDataRow.java       |  263 ++
 .../cache/tree/mvcc/data/MvccUpdateDataRow.java |  485 +++
 .../tree/mvcc/data/MvccUpdateDataRowNative.java |  240 ++
 .../cache/tree/mvcc/data/MvccUpdateResult.java  |   43 +
 .../cache/tree/mvcc/data/ResultType.java        |   34 +
 .../mvcc/search/MvccFirstRowTreeClosure.java    |   76 +
 .../mvcc/search/MvccLinkAwareSearchRow.java     |   48 +
 .../tree/mvcc/search/MvccMaxSearchRow.java      |   55 +
 .../tree/mvcc/search/MvccMinSearchRow.java      |   55 +
 .../cache/tree/mvcc/search/MvccSearchRow.java   |   70 +
 .../tree/mvcc/search/MvccSnapshotSearchRow.java |  113 +
 .../cache/tree/mvcc/search/MvccTreeClosure.java |   29 +
 .../continuous/GridContinuousProcessor.java     |   33 +-
 .../datastreamer/DataStreamerImpl.java          |   68 +-
 .../datastructures/DataStructuresProcessor.java |    5 +-
 .../datastructures/GridSetQueryPredicate.java   |    4 +-
 .../odbc/ClientListenerNioListener.java         |    4 +-
 .../internal/processors/odbc/SqlStateCode.java  |    3 +
 .../odbc/jdbc/JdbcBatchExecuteRequest.java      |   55 +-
 .../odbc/jdbc/JdbcBatchExecuteResult.java       |   11 +-
 .../odbc/jdbc/JdbcBulkLoadAckResult.java        |   11 +-
 .../odbc/jdbc/JdbcBulkLoadBatchRequest.java     |   11 +-
 .../processors/odbc/jdbc/JdbcColumnMeta.java    |    7 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV2.java  |   11 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV3.java  |   11 +-
 .../processors/odbc/jdbc/JdbcColumnMetaV4.java  |   11 +-
 .../odbc/jdbc/JdbcConnectionContext.java        |   55 +-
 .../processors/odbc/jdbc/JdbcIndexMeta.java     |    7 +-
 .../processors/odbc/jdbc/JdbcMessageParser.java |   13 +-
 .../odbc/jdbc/JdbcMetaColumnsRequest.java       |   11 +-
 .../odbc/jdbc/JdbcMetaColumnsResult.java        |   15 +-
 .../odbc/jdbc/JdbcMetaIndexesRequest.java       |   11 +-
 .../odbc/jdbc/JdbcMetaIndexesResult.java        |   15 +-
 .../odbc/jdbc/JdbcMetaParamsRequest.java        |   11 +-
 .../odbc/jdbc/JdbcMetaParamsResult.java         |   15 +-
 .../odbc/jdbc/JdbcMetaPrimaryKeysRequest.java   |   11 +-
 .../odbc/jdbc/JdbcMetaPrimaryKeysResult.java    |   15 +-
 .../odbc/jdbc/JdbcMetaSchemasRequest.java       |   11 +-
 .../odbc/jdbc/JdbcMetaSchemasResult.java        |   11 +-
 .../odbc/jdbc/JdbcMetaTablesRequest.java        |   11 +-
 .../odbc/jdbc/JdbcMetaTablesResult.java         |   15 +-
 .../jdbc/JdbcOrderedBatchExecuteRequest.java    |   14 +-
 .../jdbc/JdbcOrderedBatchExecuteResult.java     |   11 +-
 .../processors/odbc/jdbc/JdbcParameterMeta.java |    7 +-
 .../odbc/jdbc/JdbcPrimaryKeyMeta.java           |    7 +-
 .../processors/odbc/jdbc/JdbcQuery.java         |    7 +-
 .../odbc/jdbc/JdbcQueryCloseRequest.java        |   11 +-
 ...dbcQueryExecuteMultipleStatementsResult.java |   15 +-
 .../odbc/jdbc/JdbcQueryExecuteRequest.java      |   36 +-
 .../odbc/jdbc/JdbcQueryExecuteResult.java       |   11 +-
 .../odbc/jdbc/JdbcQueryFetchRequest.java        |   11 +-
 .../odbc/jdbc/JdbcQueryFetchResult.java         |   11 +-
 .../odbc/jdbc/JdbcQueryMetadataRequest.java     |   11 +-
 .../odbc/jdbc/JdbcQueryMetadataResult.java      |   15 +-
 .../odbc/jdbc/JdbcRawBinarylizable.java         |    8 +-
 .../processors/odbc/jdbc/JdbcRequest.java       |   13 +-
 .../odbc/jdbc/JdbcRequestHandler.java           |   72 +-
 .../odbc/jdbc/JdbcRequestHandlerWorker.java     |  131 +
 .../processors/odbc/jdbc/JdbcResponse.java      |   11 +-
 .../processors/odbc/jdbc/JdbcResult.java        |   12 +-
 .../processors/odbc/jdbc/JdbcResultInfo.java    |    7 +-
 .../processors/odbc/jdbc/JdbcTableMeta.java     |    7 +-
 .../processors/odbc/odbc/OdbcColumnMeta.java    |   37 +-
 .../odbc/odbc/OdbcConnectionContext.java        |   25 +-
 .../processors/odbc/odbc/OdbcMessageParser.java |   16 +-
 .../odbc/odbc/OdbcQueryExecuteBatchRequest.java |   15 +-
 .../odbc/odbc/OdbcQueryExecuteRequest.java      |   14 +-
 .../processors/odbc/odbc/OdbcQueryResults.java  |   10 +-
 .../odbc/odbc/OdbcRequestHandler.java           |   91 +-
 .../odbc/odbc/OdbcRequestHandlerWorker.java     |  131 +
 .../processors/odbc/odbc/OdbcResultSet.java     |   16 +-
 .../platform/PlatformContextImpl.java           |    2 +-
 .../platform/PlatformProcessorImpl.java         |    9 +-
 .../platform/cache/PlatformCache.java           |    4 +-
 .../client/ClientConnectionContext.java         |   17 +-
 .../platform/client/ClientMessageParser.java    |   16 +-
 .../binary/ClientBinaryTypePutRequest.java      |    2 +-
 .../ClientCacheConfigurationSerializer.java     |   11 +-
 ...ientCacheCreateWithConfigurationRequest.java |    6 +-
 .../ClientCacheGetConfigurationRequest.java     |   11 +-
 .../ClientCacheGetConfigurationResponse.java    |   11 +-
 ...acheGetOrCreateWithConfigurationRequest.java |    6 +-
 .../platform/compute/PlatformCompute.java       |   10 +
 .../PlatformDotNetConfigurationClosure.java     |    4 +-
 .../utils/PlatformConfigurationUtils.java       |  102 +-
 .../processors/query/EnlistOperation.java       |   91 +
 .../query/GridQueryFieldMetadata.java           |   16 +-
 .../processors/query/GridQueryIndexing.java     |   41 +-
 .../processors/query/GridQueryProcessor.java    |   89 +-
 .../internal/processors/query/NestedTxMode.java |   60 +
 .../internal/processors/query/QueryField.java   |    2 +
 .../query/QueryTypeDescriptorImpl.java          |   71 +-
 .../internal/processors/query/QueryUtils.java   |  103 +-
 .../processors/query/UpdateSourceIterator.java  |   89 +
 .../twostep/messages/GridQueryFailResponse.java |    2 +-
 .../messages/GridQueryNextPageResponse.java     |   65 +-
 .../schema/SchemaIndexCacheVisitorImpl.java     |    2 +-
 .../processors/rest/GridRestProcessor.java      |   23 +-
 .../GridInternalSubscriptionProcessor.java      |   18 +
 .../task/GridTaskThreadContextKey.java          |    3 +
 .../processors/task/GridTaskWorker.java         |    7 +-
 .../timeout/GridTimeoutProcessor.java           |   94 +
 .../apache/ignite/internal/sql/SqlKeyword.java  |   20 +
 .../apache/ignite/internal/sql/SqlParser.java   |   85 +-
 .../ignite/internal/sql/SqlParserUtils.java     |   14 +
 .../sql/command/SqlBeginTransactionCommand.java |   46 +
 .../command/SqlCommitTransactionCommand.java    |   46 +
 .../command/SqlRollbackTransactionCommand.java  |   46 +
 .../IgniteTxMvccVersionCheckedException.java    |   47 +
 .../ignite/internal/util/IgniteUtils.java       |   16 +
 .../util/future/GridCompoundFuture.java         |    4 +-
 .../util/snaptree/CopyOnWriteManager.java       |  390 --
 .../ignite/internal/util/snaptree/Epoch.java    |  131 -
 .../internal/util/snaptree/EpochNode.java       |  433 --
 .../internal/util/snaptree/SnapTreeMap.java     | 2917 --------------
 .../internal/util/snaptree/package-info.java    |   22 -
 .../util/tostring/GridToStringBuilder.java      |  139 +-
 .../VisorCacheConfigurationCollectorTask.java   |    1 -
 .../cache/VisorCacheLostPartitionsTask.java     |    5 +-
 .../visor/cache/VisorCacheModifyTask.java       |   14 +-
 .../visor/cache/VisorCacheModifyTaskArg.java    |   14 +-
 .../visor/cache/VisorCacheModifyTaskResult.java |   28 +-
 .../cache/VisorCacheNamesCollectorTask.java     |   90 +
 .../VisorCacheNamesCollectorTaskResult.java     |   88 +
 .../visor/cache/VisorCachePartitionsTask.java   |    2 +-
 .../VisorCacheResetLostPartitionsTask.java      |    2 +-
 .../visor/compute/VisorGatewayTask.java         |    2 +-
 .../internal/visor/file/VisorFileBlock.java     |    2 +-
 .../visor/node/VisorNodeDataCollectorJob.java   |   20 +-
 .../visor/node/VisorNodeDataCollectorTask.java  |    2 +-
 .../node/VisorNodeDataCollectorTaskArg.java     |   49 +-
 .../visor/service/VisorServiceTask.java         |    2 +-
 .../ignite/internal/visor/tx/VisorTxInfo.java   |   58 +-
 .../ignite/internal/visor/tx/VisorTxTask.java   |   20 +-
 .../org/apache/ignite/spi/IgniteSpiAdapter.java |    2 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   73 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java    |   22 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |    8 +-
 .../tcp/internal/TcpDiscoveryNode.java          |   24 +-
 .../tcp/internal/TcpDiscoveryNodesRing.java     |    8 +-
 .../ignite/ssl/DelegatingSSLContextSpi.java     |  103 +
 .../apache/ignite/ssl/SSLContextWrapper.java    |   31 +
 .../ssl/SSLServerSocketFactoryWrapper.java      |   80 +
 .../ignite/ssl/SSLSocketFactoryWrapper.java     |  113 +
 .../apache/ignite/ssl/SslContextFactory.java    |   51 +
 .../org/apache/ignite/thread/IgniteThread.java  |   45 +-
 .../resources/META-INF/classnames.properties    |  106 +-
 modules/core/src/test/config/tests.properties   |    5 -
 .../client/ClientCacheConfigurationTest.java    |    7 +
 .../ignite/client/ClientConfigurationTest.java  |    7 +
 .../apache/ignite/client/FunctionalTest.java    |    7 +
 .../apache/ignite/client/IgniteBinaryTest.java  |   11 +-
 .../java/org/apache/ignite/client/LoadTest.java |   10 +-
 .../apache/ignite/client/ReliabilityTest.java   |   12 +-
 .../apache/ignite/client/SslParametersTest.java |  329 ++
 .../ignite/custom/DummyEventFilterFactory.java  |   10 +-
 .../failure/AccountTransferTransactionTest.java |  331 --
 .../ignite/internal/ClusterMetricsSelfTest.java |   12 +-
 .../internal/ClusterNodeMetricsSelfTest.java    |   14 +-
 .../apache/ignite/internal/GridStartupMain.java |   58 -
 .../apache/ignite/internal/GridStartupTest.java |   71 -
 .../internal/GridTaskResultCacheSelfTest.java   |   26 +-
 .../internal/TestRecordingCommunicationSpi.java |   26 +-
 .../binary/BinaryMarshallerSelfTest.java        |   35 +-
 .../binary/TestCachingMetadataHandler.java      |    2 +-
 .../FullyConnectedComponentSearcherTest.java    |    7 +
 .../GridDiscoveryManagerAttributesSelfTest.java |   53 +-
 ...ataRegistrationInsideEntryProcessorTest.java |  141 +
 .../cache/CacheEntryProcessorCopySelfTest.java  |    2 +-
 .../cache/CacheStopAndDestroySelfTest.java      |   68 +
 .../cache/GridCacheAbstractFullApiSelfTest.java |    2 +-
 .../processors/cache/GridCacheTestEntryEx.java  |   78 +-
 .../IgniteCacheConfigVariationsFullApiTest.java |    2 +-
 .../cache/IgniteCacheInvokeAbstractTest.java    |  150 +
 ...IgniteClientCacheInitializationFailTest.java |   20 +-
 ...gniteTopologyValidatorAbstractCacheTest.java |    2 +-
 ...rtitionsExchangeCoordinatorFailoverTest.java |  155 +
 ...eAbstractDataStructuresFailoverSelfTest.java |   16 +-
 .../GridCacheSetAbstractSelfTest.java           |    4 -
 .../GridCacheSetFailoverAbstractSelfTest.java   |    6 +-
 ...chePartitionedAtomicSetFailoverSelfTest.java |    2 +-
 ...rtitionedDataStructuresFailoverSelfTest.java |   14 +
 .../IgnitePartitionedSetNoBackupsSelfTest.java  |    2 +-
 ...eplicatedDataStructuresFailoverSelfTest.java |   22 +-
 .../CacheDataLossOnPartitionMoveTest.java       |  296 ++
 .../distributed/CacheExchangeMergeTest.java     |    2 -
 .../CacheLateAffinityAssignmentTest.java        |    2 +-
 .../CacheRentingStateRepairTest.java            |  189 +
 ...niteCacheClientNodeChangingTopologyTest.java |    3 +-
 .../IgniteCachePartitionLossPolicySelfTest.java |   84 +-
 .../dht/GridCacheTxNodeFailureSelfTest.java     |    2 +-
 .../dht/IgniteCacheStartWithLoadTest.java       |  165 +
 .../GridCacheRebalancingSyncSelfTest.java       |    2 +-
 .../cache/eviction/DhtAndNearEvictionTest.java  |  189 +
 ...vccAbstractBasicCoordinatorFailoverTest.java |  681 ++++
 ...acheMvccAbstractCoordinatorFailoverTest.java |  148 +
 .../mvcc/CacheMvccAbstractFeatureTest.java      |  299 ++
 .../cache/mvcc/CacheMvccAbstractTest.java       | 2302 +++++++++++
 .../cache/mvcc/CacheMvccClusterRestartTest.java |  178 +
 .../CacheMvccConfigurationValidationTest.java   |  191 +
 ...ccIteratorWithConcurrentTransactionTest.java |   64 +
 ...calEntriesWithConcurrentTransactionTest.java |   65 +
 .../mvcc/CacheMvccOperationChecksTest.java      |  201 +
 ...eMvccPartitionedCoordinatorFailoverTest.java |  144 +
 .../cache/mvcc/CacheMvccProcessorTest.java      |   97 +
 ...heMvccReplicatedCoordinatorFailoverTest.java |   30 +
 ...cScanQueryWithConcurrentTransactionTest.java |   76 +
 ...heMvccSizeWithConcurrentTransactionTest.java |   52 +
 .../cache/mvcc/CacheMvccTransactionsTest.java   | 3683 ++++++++++++++++++
 .../cache/mvcc/CacheMvccVacuumTest.java         |  158 +
 ...cheObjectBinaryProcessorOnDiscoveryTest.java |  125 +
 .../IgnitePdsCorruptedStoreTest.java            |    1 -
 .../persistence/IgnitePdsTaskCancelingTest.java |    6 +-
 ...IgnitePersistentStoreDataStructuresTest.java |   45 +-
 .../MemoryPolicyInitializationTest.java         |   12 +-
 .../db/IgnitePdsDataRegionMetricsTest.java      |   59 +-
 .../db/IgnitePdsReserveWalSegmentsTest.java     |  188 +
 .../db/IgnitePdsUnusedWalSegmentsTest.java      |  198 -
 .../file/IgnitePdsDiskErrorsRecoveringTest.java |    5 +-
 .../IgniteNodeStoppedDuringDisableWALTest.java  |    5 +-
 ...IsReachedDuringIterationOverArchiveTest.java |    5 +-
 .../db/wal/IgniteWalFormatFileFailoverTest.java |    2 +-
 .../db/wal/IgniteWalRebalanceTest.java          |  185 +-
 .../db/wal/IgniteWalRecoveryTest.java           | 1906 ---------
 .../IgniteWalRecoveryWithCompactionTest.java    |   33 -
 .../persistence/db/wal/WalCompactionTest.java   |    9 +-
 .../db/wal/WalDeletionArchiveAbstractTest.java  |  277 ++
 .../db/wal/WalDeletionArchiveFsyncTest.java     |   31 +
 .../db/wal/WalDeletionArchiveLogOnlyTest.java   |   31 +
 .../db/wal/WalRecoveryTxLogicalRecordsTest.java |   44 -
 .../db/wal/reader/IgniteWalReaderTest.java      |  245 +-
 .../db/wal/reader/MockWalIteratorFactory.java   |    1 +
 .../pagemem/FullPageIdTableTest.java            |    7 +
 ...gnitePageMemReplaceDelayedWriteUnitTest.java |    7 +
 .../pagemem/IgniteThrottlingUnitTest.java       |    7 +
 .../pagemem/NoOpPageStoreManager.java           |    7 +
 .../persistence/pagemem/NoOpWALManager.java     |   15 +-
 .../RobinHoodBackwardShiftHashMapTest.java      |    6 +
 .../StandaloneWalRecordsIteratorTest.java       |  216 +
 .../ContinuousQueryMarshallerTest.java          |  168 +
 .../ContinuousQueryPeerClassLoadingTest.java    |    4 +-
 .../AbstractDeadlockDetectionTest.java          |   14 +
 .../AbstractTransactionIntergrityTest.java      |  595 +++
 ...IntegrityWithPrimaryIndexCorruptionTest.java |  238 ++
 ...ctionIntegrityWithSystemWorkerDeathTest.java |  106 +
 .../TxOptimisticDeadlockDetectionTest.java      |   19 +-
 .../TxPessimisticDeadlockDetectionTest.java     |   10 +-
 .../cache/transactions/TxRollbackAsyncTest.java |  148 +-
 .../transactions/TxRollbackOnTimeoutTest.java   |  225 +-
 .../TxRollbackOnTopologyChangeTest.java         |   16 -
 .../processors/database/BPlusTreeSelfTest.java  |  377 +-
 .../database/CacheFreeListImplSelfTest.java     |   55 +
 .../database/DataRegionMetricsSelfTest.java     |   24 +-
 .../IgniteDbPutGetWithCacheStoreTest.java       |    5 +-
 .../DataStreamProcessorMvccSeflTest.java        |   68 +
 .../DataStreamProcessorMvccSelfTest.java        |   70 +
 .../DataStreamProcessorSelfTest.java            |   24 +-
 .../SqlParserTransactionalKeywordsSelfTest.java |   96 +
 .../internal/util/IgniteDevOnlyLogTest.java     |  137 +-
 .../tostring/GridToStringBuilderSelfTest.java   |  110 +-
 .../IgniteOffheapReadWriteLockSelfTest.java     |   34 +-
 .../mapper/GridContinuousMapperLoadTest1.java   |   51 -
 .../mapper/GridContinuousMapperLoadTest2.java   |   92 -
 .../mapper/GridContinuousMapperTask1.java       |  157 -
 .../mapper/GridContinuousMapperTask2.java       |   93 -
 .../ignite/loadtests/mapper/TestObject.java     |   57 -
 .../tcp/TcpDiscoverySslParametersTest.java      |  274 ++
 .../ignite/testframework/GridTestUtils.java     |   46 +-
 .../testframework/junits/GridAbstractTest.java  |   37 +-
 .../junits/common/GridCommonAbstractTest.java   |  159 +-
 .../ignite/testsuites/IgniteBasicTestSuite.java |    5 +-
 .../IgniteBasicWithPersistenceTestSuite.java    |    5 +-
 .../IgniteCacheEvictionSelfTestSuite.java       |    3 +
 .../testsuites/IgniteCacheMvccTestSuite.java    |   67 +
 .../ignite/testsuites/IgniteCacheTestSuite.java |    3 +
 .../testsuites/IgniteCacheTestSuite4.java       |   16 -
 .../testsuites/IgniteCacheTestSuite6.java       |    9 +-
 .../testsuites/IgniteCacheTestSuite7.java       |   13 +-
 .../testsuites/IgniteCacheTestSuite9.java       |   54 +
 .../testsuites/IgniteKernalSelfTestSuite.java   |   11 +-
 .../testsuites/IgniteLangSelfTestSuite.java     |    2 +-
 .../testsuites/IgniteLostAndFoundTestSuite.java |    1 -
 .../ignite/testsuites/IgnitePdsTestSuite.java   |    6 +-
 .../ignite/testsuites/IgnitePdsTestSuite2.java  |   45 +-
 .../ignite/testsuites/IgnitePdsTestSuite3.java  |   49 +
 .../ignite/testsuites/IgnitePdsTestSuite4.java  |   63 +
 .../IgniteSpiDiscoverySelfTestSuite.java        |    6 +-
 .../testsuites/IgniteUtilSelfTestSuite.java     |   22 +-
 .../ignite/util/GridCommandHandlerTest.java     |   23 -
 ...dConcurrentLinkedDequeMultiThreadedTest.java |    5 +-
 .../apache/ignite/util/GridIndexFillTest.java   |  259 --
 .../apache/ignite/util/GridRandomSelfTest.java  |    6 +-
 .../development/utils/IgniteWalConverter.java   |    5 +-
 .../query/h2/opt/GridH2SpatialIndex.java        |   11 +-
 .../impl/v2/HadoopV2JobResourceManager.java     |    3 +-
 ...niteHadoopFileSystemClientBasedOpenTest.java |    2 +-
 .../cache/hibernate/HibernateCacheProxy.java    |   10 -
 .../cache/query/GridCacheTwoStepQuery.java      |   36 +
 .../query/h2/DhtResultSetEnlistFuture.java      |   63 +
 .../query/h2/DmlStatementsProcessor.java        |  352 +-
 .../query/h2/H2ConnectionWrapper.java           |   52 +-
 .../processors/query/h2/H2FieldsIterator.java   |   29 +-
 .../processors/query/h2/H2KeyValueIterator.java |    2 +-
 .../query/h2/H2ResultSetIterator.java           |   47 +-
 .../internal/processors/query/h2/H2Schema.java  |   31 +-
 .../processors/query/h2/H2SqlFieldMetadata.java |   28 +-
 .../processors/query/h2/H2StatementCache.java   |   78 +-
 .../internal/processors/query/h2/H2Utils.java   |    4 +-
 .../processors/query/h2/IgniteH2Indexing.java   | 1153 ++++--
 .../query/h2/NearResultSetEnlistFuture.java     |   62 +
 .../query/h2/PreparedStatementEx.java           |   45 +
 .../query/h2/PreparedStatementExImpl.java       |  648 +++
 .../query/h2/RebuildIndexFromHashClosure.java   |   47 +
 .../query/h2/ResultSetEnlistFuture.java         |  136 +
 .../query/h2/ThreadLocalObjectPool.java         |  103 +
 .../query/h2/database/H2PkHashIndex.java        |  108 +-
 .../query/h2/database/H2RowFactory.java         |   25 +-
 .../processors/query/h2/database/H2Tree.java    |  112 +-
 .../query/h2/database/H2TreeFilterClosure.java  |  109 +
 .../query/h2/database/H2TreeIndex.java          |  160 +-
 .../h2/database/io/AbstractH2ExtrasInnerIO.java |  164 +
 .../h2/database/io/AbstractH2ExtrasLeafIO.java  |  161 +
 .../query/h2/database/io/AbstractH2InnerIO.java |   74 +
 .../query/h2/database/io/AbstractH2LeafIO.java  |   76 +
 .../query/h2/database/io/H2ExtrasInnerIO.java   |  111 +-
 .../query/h2/database/io/H2ExtrasLeafIO.java    |  107 +-
 .../query/h2/database/io/H2IOUtils.java         |   94 +
 .../query/h2/database/io/H2InnerIO.java         |   41 +-
 .../query/h2/database/io/H2LeafIO.java          |   41 +-
 .../h2/database/io/H2MvccExtrasInnerIO.java     |   55 +
 .../h2/database/io/H2MvccExtrasLeafIO.java      |   54 +
 .../query/h2/database/io/H2MvccInnerIO.java     |   58 +
 .../query/h2/database/io/H2MvccLeafIO.java      |   58 +
 .../query/h2/database/io/H2RowLinkIO.java       |   34 +
 .../query/h2/ddl/DdlStatementsProcessor.java    |  180 +-
 .../processors/query/h2/dml/DmlAstUtils.java    |   12 +-
 .../processors/query/h2/dml/FastUpdate.java     |   17 +
 .../processors/query/h2/dml/UpdatePlan.java     |  233 ++
 .../query/h2/dml/UpdatePlanBuilder.java         |  118 +-
 .../query/h2/opt/GridH2IndexBase.java           |   36 +-
 .../query/h2/opt/GridH2KeyRowOnheap.java        |   11 +
 .../query/h2/opt/GridH2KeyValueRowOnheap.java   |   21 +-
 .../query/h2/opt/GridH2MetaTable.java           |    5 +
 .../query/h2/opt/GridH2PlainRowFactory.java     |   17 +-
 .../query/h2/opt/GridH2QueryContext.java        |   27 +-
 .../processors/query/h2/opt/GridH2Row.java      |   50 +-
 .../query/h2/opt/GridH2RowDescriptor.java       |    9 +-
 .../query/h2/opt/GridH2SearchRow.java           |   32 +
 .../query/h2/opt/GridH2SearchRowAdapter.java    |   27 +-
 .../processors/query/h2/opt/GridH2Table.java    |    8 +-
 .../query/h2/sql/GridSqlQueryParser.java        |  164 +-
 .../query/h2/sql/GridSqlQuerySplitter.java      |   18 +-
 .../processors/query/h2/sql/GridSqlSelect.java  |   20 +
 .../processors/query/h2/sys/SqlSystemIndex.java |    5 +-
 .../processors/query/h2/sys/SqlSystemTable.java |    4 +-
 .../h2/sys/view/SqlAbstractLocalSystemView.java |   55 +-
 .../query/h2/sys/view/SqlSystemView.java        |    3 +-
 .../h2/sys/view/SqlSystemViewBaselineNodes.java |   87 +
 .../sys/view/SqlSystemViewNodeAttributes.java   |  108 +
 .../h2/sys/view/SqlSystemViewNodeMetrics.java   |  210 +
 .../query/h2/sys/view/SqlSystemViewNodes.java   |   32 +-
 .../query/h2/twostep/GridMapQueryExecutor.java  |  522 ++-
 .../h2/twostep/GridMergeIndexIterator.java      |   17 +-
 .../query/h2/twostep/GridMergeIndexSorted.java  |    4 +-
 .../h2/twostep/GridReduceQueryExecutor.java     |  252 +-
 .../query/h2/twostep/GridResultPage.java        |   20 +-
 .../query/h2/twostep/MapQueryResult.java        |    2 +-
 .../query/h2/twostep/MapQueryResults.java       |   18 +-
 .../query/h2/twostep/ReduceQueryRun.java        |  152 +-
 .../h2/twostep/msg/GridH2QueryRequest.java      |   75 +-
 .../msg/GridH2SelectForUpdateTxDetails.java     |  299 ++
 .../twostep/msg/GridH2ValueMessageFactory.java  |   12 +-
 .../apache/ignite/client/ClientTestSuite.java   |    3 +-
 .../ignite/client/FunctionalQueryTest.java      |    7 +
 .../ignite/client/IgniteBinaryQueryTest.java    |    7 +
 .../org/apache/ignite/client/SecurityTest.java  |    7 +
 ...CacheScanPartitionQueryFallbackSelfTest.java |   62 +
 .../cache/DdlTransactionSelfTest.java           |  335 ++
 .../IgniteCacheAbstractFieldsQuerySelfTest.java |  104 +-
 .../cache/IgniteCacheAbstractQuerySelfTest.java |   54 +-
 .../IgniteCacheQueryH2IndexingLeakTest.java     |   10 +-
 ...ndexingCachePartitionLossPolicySelfTest.java |  139 +
 ...niteCacheDistributedQueryCancelSelfTest.java |    2 +-
 .../IgniteCacheReplicatedQuerySelfTest.java     |   27 -
 .../cache/index/AbstractSchemaSelfTest.java     |  102 +-
 ...ynamicColumnsAbstractConcurrentSelfTest.java |   13 +-
 .../index/DynamicIndexAbstractSelfTest.java     |    7 +
 .../cache/index/H2ConnectionLeaksSelfTest.java  |    8 +-
 .../H2DynamicColumnsAbstractBasicSelfTest.java  |  117 +
 .../index/H2DynamicIndexAbstractSelfTest.java   |   55 +-
 .../cache/index/H2DynamicTableSelfTest.java     |  136 +-
 .../cache/index/IgniteDecimalSelfTest.java      |   35 +-
 .../index/SqlTransactionsComandsSelfTest.java   |   83 +
 ...sactionsComandsWithMvccDisabledSelfTest.java |   83 +
 ...sactionsCommandsWithMvccEnabledSelfTest.java |  420 ++
 .../cache/index/SqlTransactionsSelfTest.java    |  421 ++
 .../local/IgniteCacheLocalQuerySelfTest.java    |   64 +-
 ...eMvccAbstractSqlCoordinatorFailoverTest.java |  138 +
 .../mvcc/CacheMvccBackupsAbstractTest.java      |  808 ++++
 .../cache/mvcc/CacheMvccBulkLoadTest.java       |  123 +
 .../cache/mvcc/CacheMvccDmlSimpleTest.java      |  200 +
 ...eratorWithConcurrentJdbcTransactionTest.java |   28 +
 ...ntriesWithConcurrentJdbcTransactionTest.java |   29 +
 .../mvcc/CacheMvccPartitionedBackupsTest.java   |   30 +
 ...MvccPartitionedSelectForUpdateQueryTest.java |   44 +
 ...ccPartitionedSqlCoordinatorFailoverTest.java |  143 +
 .../CacheMvccPartitionedSqlQueriesTest.java     |   30 +
 .../CacheMvccPartitionedSqlTxQueriesTest.java   |   30 +
 ...cPartitionedSqlTxQueriesWithReducerTest.java |   30 +
 .../mvcc/CacheMvccReplicatedBackupsTest.java    |   30 +
 ...eMvccReplicatedSelectForUpdateQueryTest.java |   30 +
 ...vccReplicatedSqlCoordinatorFailoverTest.java |   30 +
 .../mvcc/CacheMvccReplicatedSqlQueriesTest.java |   30 +
 .../CacheMvccReplicatedSqlTxQueriesTest.java    |  242 ++
 ...ccReplicatedSqlTxQueriesWithReducerTest.java |   30 +
 ...nQueryWithConcurrentJdbcTransactionTest.java |   29 +
 ...cheMvccSelectForUpdateQueryAbstractTest.java |  374 ++
 .../cache/mvcc/CacheMvccSizeTest.java           |  488 +++
 ...ccSizeWithConcurrentJdbcTransactionTest.java |   28 +
 .../mvcc/CacheMvccSqlQueriesAbstractTest.java   | 1613 ++++++++
 .../mvcc/CacheMvccSqlTxQueriesAbstractTest.java | 1832 +++++++++
 ...MvccSqlTxQueriesWithReducerAbstractTest.java |  829 ++++
 .../mvcc/CacheMvccStreamingInsertTest.java      |  122 +
 .../db/wal/IgniteWalRecoveryTest.java           | 1911 +++++++++
 .../IgniteWalRecoveryWithCompactionTest.java    |   33 +
 .../IgniteTwoRegionsRebuildIndexTest.java       |  124 +
 .../query/SqlIllegalSchemaSelfTest.java         |  187 +
 .../query/SqlSystemViewsSelfTest.java           |  360 +-
 .../query/h2/GridIndexRebuildSelfTest.java      |  240 ++
 ...GridIndexRebuildWithMvccEnabledSelfTest.java |  126 +
 .../h2/GridIndexingSpiAbstractSelfTest.java     |    4 +-
 ...H2ResultSetIteratorNullifyOnEndSelfTest.java |  420 ++
 .../query/h2/H2StatementCacheSelfTest.java      |   83 +
 .../query/h2/PreparedStatementExSelfTest.java   |   61 +
 .../query/h2/ThreadLocalObjectPoolSelfTest.java |  113 +
 .../query/h2/sql/GridQueryParsingTest.java      |    1 +
 .../h2/twostep/CacheQueryMemoryLeakTest.java    |  159 +
 ...sappearedCacheCauseRetryMessageSelfTest.java |  134 +
 ...appearedCacheWasNotFoundMessageSelfTest.java |  123 +
 .../query/h2/twostep/JoinSqlTestHelper.java     |  163 +
 .../NonCollocatedRetryMessageSelfTest.java      |  146 +
 .../h2/twostep/RetryCauseMessageSelfTest.java   |  417 ++
 ...ePartitionedAtomicColumnConstraintsTest.java |  398 ++
 ...ionedTransactionalColumnConstraintsTest.java |   30 +
 ...heReplicatedAtomicColumnConstraintsTest.java |   32 +
 ...catedTransactionalColumnConstraintsTest.java |   30 +
 .../sql/IgniteSQLColumnConstraintsTest.java     |  143 +
 .../loadtests/h2indexing/GridTestEntity.java    |   67 -
 .../loadtests/h2indexing/GridTreeBenchmark.java |  280 --
 .../testsuites/IgniteCacheMvccSqlTestSuite.java |   90 +
 .../IgniteCacheQuerySelfTestSuite.java          |   56 +-
 .../IgniteCacheQuerySelfTestSuite2.java         |   14 +-
 .../IgniteCacheQuerySelfTestSuite3.java         |    2 +
 .../IgnitePdsWithIndexingCoreTestSuite.java     |    2 +
 .../IgnitePdsWithIndexingTestSuite.java         |    2 +
 .../processors/cache/mvcc/mvcc_person.csv       |    2 +
 .../cache/mvcc/mvcc_person_broken.csv           |    2 +
 .../processors/cache/jta/CacheJtaManager.java   |    1 +
 .../config/az/ignite-account-role.yaml          |   30 +
 .../kubernetes/config/az/ignite-deployment.yaml |   47 +
 .../kubernetes/config/az/ignite-namespace.yaml  |   19 +
 .../az/ignite-persistence-storage-class.yaml    |   25 +
 .../config/az/ignite-role-binding.yaml          |   27 +
 .../config/az/ignite-service-account.yaml       |   20 +
 .../kubernetes/config/az/ignite-service.yaml    |   38 +
 .../config/az/ignite-stateful-set.yaml          |   74 +
 .../config/az/ignite-wal-storage-class.yaml     |   25 +
 .../config/gce/ignite-account-role.yaml         |   30 +
 .../config/gce/ignite-deployment.yaml           |   47 +
 .../kubernetes/config/gce/ignite-namespace.yaml |   19 +
 .../gce/ignite-persistence-storage-class.yaml   |   26 +
 .../config/gce/ignite-role-binding.yaml         |   27 +
 .../config/gce/ignite-service-account.yaml      |   20 +
 .../kubernetes/config/gce/ignite-service.yaml   |   38 +
 .../config/gce/ignite-stateful-set.yaml         |   74 +
 .../config/gce/ignite-wal-storage-class.yaml    |   26 +
 modules/mesos/pom.xml                           |    2 +-
 .../apache/ignite/mesos/IgniteFramework.java    |    3 +-
 .../ignite/mesos/IgniteSchedulerSelfTest.java   |   11 +
 modules/ml/pom.xml                              |   13 +-
 .../clustering/kmeans/ClusterizationModel.java  |    4 +-
 .../ml/clustering/kmeans/KMeansModel.java       |    4 +-
 .../ml/clustering/kmeans/KMeansTrainer.java     |  134 +-
 .../ml/composition/BaggingModelTrainer.java     |   20 +
 .../ml/composition/ModelsComposition.java       |   10 +-
 .../ml/composition/ModelsCompositionFormat.java |   61 +
 .../boosting/GDBBinaryClassifierTrainer.java    |   59 +-
 .../boosting/GDBLearningStrategy.java           |  115 +-
 .../boosting/GDBRegressionTrainer.java          |    8 +-
 .../ml/composition/boosting/GDBTrainer.java     |  119 +-
 .../LossGradientPerPredictionFunctions.java     |   33 -
 .../convergence/ConvergenceChecker.java         |  140 +
 .../convergence/ConvergenceCheckerFactory.java  |   58 +
 .../mean/MeanAbsValueConvergenceChecker.java    |  116 +
 .../MeanAbsValueConvergenceCheckerFactory.java  |   47 +
 .../boosting/convergence/mean/package-info.java |   22 +
 .../MedianOfMedianConvergenceChecker.java       |  126 +
 ...MedianOfMedianConvergenceCheckerFactory.java |   47 +
 .../convergence/median/package-info.java        |   22 +
 .../boosting/convergence/package-info.java      |   24 +
 .../simple/ConvergenceCheckerStub.java          |   79 +
 .../simple/ConvergenceCheckerStubFactory.java   |   48 +
 .../convergence/simple/package-info.java        |   24 +
 .../ml/composition/boosting/loss/LogLoss.java   |   36 +
 .../ml/composition/boosting/loss/Loss.java      |   45 +
 .../composition/boosting/loss/SquaredError.java |   36 +
 .../composition/boosting/loss/package-info.java |   22 +
 .../WeightedPredictionsAggregator.java          |   12 +-
 .../ignite/ml/dataset/feature/BucketMeta.java   |   88 +
 .../dataset/feature/DistributionComputer.java   |   32 +
 .../ignite/ml/dataset/feature/FeatureMeta.java  |   65 +
 .../ignite/ml/dataset/feature/Histogram.java    |   64 +
 .../ml/dataset/feature/ObjectHistogram.java     |  129 +
 .../ignite/ml/dataset/feature/package-info.java |   24 +
 .../BootstrappedDatasetBuilder.java             |   90 +
 .../BootstrappedDatasetPartition.java           |   68 +
 .../impl/bootstrapping/BootstrappedVector.java  |   87 +
 .../impl/bootstrapping/package-info.java        |   23 +
 .../FeatureMatrixWithLabelsOnHeapData.java      |   57 +
 ...eatureMatrixWithLabelsOnHeapDataBuilder.java |   76 +
 .../parallelism/ParallelismStrategy.java        |   15 +-
 .../java/org/apache/ignite/ml/knn/KNNUtils.java |    8 +-
 .../ignite/ml/knn/NNClassificationModel.java    |  233 ++
 .../ml/knn/ann/ANNClassificationModel.java      |  208 +
 .../ml/knn/ann/ANNClassificationTrainer.java    |  382 ++
 .../ignite/ml/knn/ann/ANNModelFormat.java       |   90 +
 .../apache/ignite/ml/knn/ann/ProbableLabel.java |   39 +
 .../apache/ignite/ml/knn/ann/package-info.java  |   22 +
 .../classification/KNNClassificationModel.java  |  228 +-
 .../KNNClassificationTrainer.java               |   20 +-
 .../ml/knn/classification/KNNModelFormat.java   |   14 +-
 .../ml/knn/classification/KNNStrategy.java      |   29 -
 .../ml/knn/classification/NNStrategy.java       |   29 +
 .../ml/knn/regression/KNNRegressionModel.java   |    6 +-
 .../ml/knn/regression/KNNRegressionTrainer.java |   19 +-
 .../ml/math/isolve/lsqr/AbstractLSQR.java       |    6 +-
 .../ignite/ml/math/isolve/lsqr/LSQROnHeap.java  |   10 +-
 .../org/apache/ignite/ml/nn/MLPTrainer.java     |  186 +-
 .../ml/preprocessing/PreprocessingTrainer.java  |    3 +-
 .../binarization/BinarizationPreprocessor.java  |    4 +-
 .../binarization/BinarizationTrainer.java       |    9 +-
 .../preprocessing/encoding/EncoderTrainer.java  |   11 +
 .../linear/LinearRegressionLSQRTrainer.java     |   27 +-
 .../linear/LinearRegressionSGDTrainer.java      |  159 +-
 .../binomial/LogisticRegressionSGDTrainer.java  |  155 +-
 .../LogRegressionMultiClassModel.java           |    9 +
 .../LogRegressionMultiClassTrainer.java         |   76 +-
 .../ignite/ml/selection/cv/CrossValidation.java |    2 +-
 .../ml/selection/paramgrid/ParamGrid.java       |   14 +-
 .../ignite/ml/structures/LabeledDataset.java    |  220 --
 .../structures/LabeledDatasetTestTrainPair.java |  114 -
 .../ignite/ml/structures/LabeledVectorSet.java  |  220 ++
 .../LabeledVectorSetTestTrainPair.java          |  114 +
 ...abeledDatasetPartitionDataBuilderOnHeap.java |   12 +-
 .../preprocessing/LabeledDatasetLoader.java     |   10 +-
 .../SVMLinearBinaryClassificationTrainer.java   |  130 +-
 .../SVMLinearMultiClassClassificationModel.java |    9 +
 ...VMLinearMultiClassClassificationTrainer.java |  134 +-
 .../ignite/ml/trainers/DatasetTrainer.java      |  166 +
 .../org/apache/ignite/ml/tree/DecisionTree.java |   27 +-
 .../tree/DecisionTreeClassificationTrainer.java |    4 +-
 .../ml/tree/DecisionTreeRegressionTrainer.java  |   10 +-
 .../GDBBinaryClassifierOnTreesTrainer.java      |   73 +-
 .../boosting/GDBOnTreesLearningStrategy.java    |   24 +-
 .../boosting/GDBRegressionOnTreesTrainer.java   |   67 +-
 .../ignite/ml/tree/data/DecisionTreeData.java   |   36 +-
 .../RandomForestClassifierTrainer.java          |  121 +-
 .../RandomForestRegressionTrainer.java          |   82 +-
 .../tree/randomforest/RandomForestTrainer.java  |  396 +-
 .../data/FeaturesCountSelectionStrategies.java  |   47 +
 .../ml/tree/randomforest/data/NodeId.java       |   55 +
 .../ml/tree/randomforest/data/NodeSplit.java    |   79 +
 .../ml/tree/randomforest/data/TreeNode.java     |  200 +
 .../ml/tree/randomforest/data/TreeRoot.java     |   86 +
 .../data/impurity/GiniHistogram.java            |  225 ++
 .../data/impurity/GiniHistogramsComputer.java   |   46 +
 .../data/impurity/ImpurityComputer.java         |   38 +
 .../data/impurity/ImpurityHistogram.java        |   74 +
 .../impurity/ImpurityHistogramsComputer.java    |  211 +
 .../data/impurity/MSEHistogram.java             |  235 ++
 .../data/impurity/MSEHistogramComputer.java     |   33 +
 .../data/impurity/package-info.java             |   22 +
 .../ml/tree/randomforest/data/package-info.java |   22 +
 .../ClassifierLeafValuesComputer.java           |   82 +
 .../data/statistics/LeafValuesComputer.java     |  158 +
 .../data/statistics/MeanValueStatistic.java     |   72 +
 .../NormalDistributionStatistics.java           |  112 +
 .../NormalDistributionStatisticsComputer.java   |  119 +
 .../RegressionLeafValuesComputer.java           |   62 +
 .../data/statistics/package-info.java           |   22 +
 .../org/apache/ignite/ml/IgniteMLTestSuite.java |    1 -
 .../org/apache/ignite/ml/LocalModelsTest.java   |  190 -
 .../ignite/ml/clustering/KMeansModelTest.java   |    4 +-
 .../ignite/ml/clustering/KMeansTrainerTest.java |   74 +-
 .../ignite/ml/common/CollectionsTest.java       |   16 +-
 .../ignite/ml/common/CommonTestSuite.java       |    4 +-
 .../ignite/ml/common/LocalModelsTest.java       |  264 ++
 .../org/apache/ignite/ml/common/ModelTest.java  |   45 +
 .../apache/ignite/ml/common/TrainerTest.java    | 1161 ++++++
 .../ml/composition/boosting/GDBTrainerTest.java |  107 +-
 .../convergence/ConvergenceCheckerTest.java     |   82 +
 .../MeanAbsValueConvergenceCheckerTest.java     |   73 +
 .../MedianOfMedianConvergenceCheckerTest.java   |   57 +
 .../WeightedPredictionsAggregatorTest.java      |   19 +-
 .../ignite/ml/dataset/DatasetTestSuite.java     |    4 +-
 .../ml/dataset/feature/ObjectHistogramTest.java |  170 +
 .../impl/local/LocalDatasetBuilderTest.java     |   27 +-
 .../dataset/primitive/DatasetWrapperTest.java   |   48 +-
 .../ml/environment/EnvironmentTestSuite.java    |    3 +-
 .../ml/environment/LearningEnvironmentTest.java |  181 +-
 .../ignite/ml/environment/PromiseTest.java      |   79 +
 .../ignite/ml/knn/ANNClassificationTest.java    |  119 +
 .../ignite/ml/knn/KNNClassificationTest.java    |   63 +-
 .../apache/ignite/ml/knn/KNNRegressionTest.java |   50 +-
 .../org/apache/ignite/ml/knn/KNNTestSuite.java  |    3 +-
 .../ignite/ml/knn/LabeledDatasetHelper.java     |    4 +-
 .../ignite/ml/knn/LabeledDatasetTest.java       |  294 --
 .../ignite/ml/knn/LabeledVectorSetTest.java     |  294 ++
 .../java/org/apache/ignite/ml/nn/MLPTest.java   |    2 +-
 .../org/apache/ignite/ml/nn/MLPTrainerTest.java |   64 +
 .../binarization/BinarizationTrainerTest.java   |    6 +-
 .../linear/LinearRegressionLSQRTrainerTest.java |   97 +-
 .../linear/LinearRegressionSGDTrainerTest.java  |  109 +-
 .../logistic/LogRegMultiClassTrainerTest.java   |  113 +-
 .../LogisticRegressionSGDTrainerTest.java       |  104 +-
 .../ml/selection/cv/CrossValidationTest.java    |   26 +-
 .../scoring/evaluator/EvaluatorTest.java        |  387 +-
 .../ml/svm/SVMBinaryTrainerIntegrationTest.java |  102 -
 .../ignite/ml/svm/SVMBinaryTrainerTest.java     |   82 +-
 .../ignite/ml/svm/SVMMultiClassTrainerTest.java |   87 +-
 .../org/apache/ignite/ml/svm/SVMTestSuite.java  |    1 -
 .../tree/DecisionTreeRegressionTrainerTest.java |    2 +-
 .../ignite/ml/tree/DecisionTreeTestSuite.java   |    6 +-
 .../RandomForestClassifierTrainerTest.java      |   51 +-
 .../RandomForestRegressionTrainerTest.java      |   48 +-
 .../ml/tree/randomforest/RandomForestTest.java  |   78 +
 .../randomforest/RandomForestTreeTestSuite.java |   39 +
 .../ml/tree/randomforest/data/TreeNodeTest.java |   79 +
 .../data/impurity/GiniFeatureHistogramTest.java |  254 ++
 .../data/impurity/ImpurityHistogramTest.java    |   69 +
 .../data/impurity/MSEHistogramTest.java         |  135 +
 ...ormalDistributionStatisticsComputerTest.java |  130 +
 .../osgi-karaf/src/main/resources/features.xml  |    4 +-
 .../include/ignite/binary/binary_raw_reader.h   |   22 +-
 .../ignite/impl/binary/binary_reader_impl.h     |   61 +-
 .../ignite/impl/binary/binary_type_impl.h       |   20 +-
 .../ignite/impl/binary/binary_writer_impl.h     |   48 +-
 .../src/impl/binary/binary_reader_impl.cpp      |   46 +-
 .../src/impl/binary/binary_writer_impl.cpp      |   58 +-
 .../cpp/common/include/ignite/common/utils.h    |    2 +-
 .../cpp/core/include/ignite/cache/cache.h       |   46 +-
 .../include/ignite/cache/query/query_cursor.h   |   15 +-
 .../cpp/core/include/ignite/impl/operations.h   |  150 +-
 .../src/impl/cluster/cluster_group_impl.cpp     |    2 +-
 modules/platforms/cpp/odbc-test/Makefile.am     |    5 +-
 .../cpp/odbc-test/config/queries-default.xml    |    6 +
 .../odbc-test/config/queries-transaction-32.xml |   50 +
 .../odbc-test/config/queries-transaction.xml    |   32 +
 .../odbc-test/include/sql_test_suite_fixture.h  |   14 +-
 .../cpp/odbc-test/project/vs/odbc-test.vcxproj  |    5 +
 .../project/vs/odbc-test.vcxproj.filters        |   15 +
 .../src/application_data_buffer_test.cpp        |    4 +-
 .../cpp/odbc-test/src/connection_test.cpp       |  136 +
 .../cpp/odbc-test/src/meta_queries_test.cpp     |   17 +
 .../cpp/odbc-test/src/odbc_test_suite.cpp       |    2 +-
 .../cpp/odbc-test/src/queries_test.cpp          |   10 +-
 .../platforms/cpp/odbc-test/src/row_test.cpp    |    2 +-
 .../src/sql_aggregate_functions_test.cpp        |   16 +-
 .../src/sql_date_time_functions_test.cpp        |   38 +-
 .../src/sql_esc_convert_function_test.cpp       |    6 +-
 .../cpp/odbc-test/src/sql_get_info_test.cpp     |    8 +-
 .../src/sql_numeric_functions_test.cpp          |    4 +-
 .../cpp/odbc-test/src/sql_operators_test.cpp    |   10 +-
 .../odbc-test/src/sql_string_functions_test.cpp |   20 +-
 .../odbc-test/src/sql_system_functions_test.cpp |    2 +-
 .../odbc-test/src/sql_test_suite_fixture.cpp    |   24 +-
 .../cpp/odbc-test/src/sql_types_test.cpp        |    6 +-
 .../src/sql_value_expressions_test.cpp          |    6 +-
 .../cpp/odbc-test/src/transaction_test.cpp      |  738 ++++
 modules/platforms/cpp/odbc/Makefile.am          |    1 +
 .../include/ignite/odbc/config/configuration.h  |   32 +
 .../odbc/config/connection_string_parser.h      |    3 +
 .../cpp/odbc/include/ignite/odbc/connection.h   |   21 +-
 .../ignite/odbc/diagnostic/diagnosable.h        |    7 +
 .../odbc/diagnostic/diagnosable_adapter.h       |   11 +-
 .../cpp/odbc/include/ignite/odbc/environment.h  |   15 +
 .../cpp/odbc/include/ignite/odbc/message.h      |   13 +-
 .../odbc/include/ignite/odbc/meta/column_meta.h |   47 +-
 .../odbc/include/ignite/odbc/nested_tx_mode.h   |   81 +
 .../odbc/include/ignite/odbc/protocol_version.h |    7 +-
 .../odbc/system/ui/dsn_configuration_window.h   |    8 +
 .../src/system/ui/dsn_configuration_window.cpp  |   56 +-
 .../platforms/cpp/odbc/project/vs/odbc.vcxproj  |    2 +
 .../cpp/odbc/project/vs/odbc.vcxproj.filters    |    6 +
 .../odbc/src/app/application_data_buffer.cpp    |   16 +-
 .../cpp/odbc/src/config/configuration.cpp       |   29 +-
 .../cpp/odbc/src/config/connection_info.cpp     |    8 +-
 .../src/config/connection_string_parser.cpp     |   19 +
 modules/platforms/cpp/odbc/src/connection.cpp   |   99 +-
 .../odbc/src/diagnostic/diagnosable_adapter.cpp |    5 +
 modules/platforms/cpp/odbc/src/dsn_config.cpp   |    5 +
 modules/platforms/cpp/odbc/src/environment.cpp  |   53 +-
 modules/platforms/cpp/odbc/src/message.cpp      |   28 +-
 .../platforms/cpp/odbc/src/meta/column_meta.cpp |   68 +-
 .../platforms/cpp/odbc/src/nested_tx_mode.cpp   |   80 +
 modules/platforms/cpp/odbc/src/odbc.cpp         |    2 +
 .../platforms/cpp/odbc/src/protocol_version.cpp |    4 +-
 .../cpp/odbc/src/query/batch_query.cpp          |    4 +-
 .../platforms/cpp/odbc/src/query/data_query.cpp |    2 +-
 .../include/ignite/impl/thin/readable.h         |    2 +-
 .../ExpiryCacheHolderTest.cs                    |    5 -
 .../IgniteSessionStateStoreProviderTest.cs      |    7 +-
 .../Apache.Ignite.Core.Tests.csproj             |    4 +
 .../DataStorageConfigurationParityTest.cs       |    3 +-
 .../ApiParity/IgniteConfigurationParityTest.cs  |    5 +-
 .../QueryEntityConfigurationParityTest.cs       |    3 +-
 .../Cache/Query/Linq/CacheLinqTest.Base.cs      |   20 +-
 .../Query/Linq/CacheLinqTest.Introspection.cs   |   22 +-
 .../Cache/ClientCacheConfigurationTest.cs       |    5 +-
 .../Client/ClientConnectionTest.cs              |    5 +-
 .../Compute/ComputeApiTest.cs                   |    3 +-
 .../Config/full-config.xml                      |    4 +
 .../Apache.Ignite.Core.Tests/EventsTest.cs      |    4 +-
 .../Examples/PathUtil.cs                        |    2 +-
 .../IgniteConfigurationSerializerTest.cs        |    6 +
 .../IgniteConfigurationTest.cs                  |   10 +-
 .../IgniteStartStopTest.cs                      |   23 +-
 .../Impl/Compute/ComputeImplTest.cs             |   65 +
 .../Apache.Ignite.Core.Tests/MessagingTest.cs   |   13 +-
 .../Apache.Ignite.Core.Tests/ReconnectTest.cs   |    3 +-
 .../Services/ServicesTest.cs                    |    3 +-
 .../Apache.Ignite.Core.Tests/packages.config    |    1 +
 .../Cache/Configuration/CacheConfiguration.cs   |   27 +-
 .../Cache/Configuration/QueryEntity.cs          |   12 +-
 .../Cache/Configuration/QueryField.cs           |   28 +-
 .../Configuration/QuerySqlFieldAttribute.cs     |    2 +
 .../Client/Cache/CacheClientConfiguration.cs    |    9 +-
 .../Apache.Ignite.Core/Compute/ICompute.cs      |    6 +
 .../Configuration/DataStorageConfiguration.cs   |   14 +
 .../Apache.Ignite.Core/IgniteConfiguration.cs   |  114 +-
 .../IgniteConfigurationSection.xsd              |   15 +
 .../dotnet/Apache.Ignite.Core/Ignition.cs       |    3 +-
 .../Impl/Binary/BinaryWriterExtensions.cs       |   31 +-
 .../Impl/Binary/IBinaryRawWriteAware.cs         |   25 +-
 .../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs  |    3 +-
 .../Impl/Client/Cache/CacheClient.cs            |    3 +-
 .../Cache/ClientCacheConfigurationSerializer.cs |    9 +-
 .../Impl/Client/ClientSocket.cs                 |   22 +-
 .../Impl/Client/IgniteClient.cs                 |   11 +-
 .../Apache.Ignite.Core/Impl/Compute/Compute.cs  |    8 +
 .../Impl/Compute/ComputeImpl.cs                 |   11 +
 .../dotnet/Apache.Ignite.Core/Impl/Ignite.cs    |    8 +-
 .../Properties/AssemblyInfo.cs                  |    1 +
 .../Apache.Ignite.Linq/Impl/ExpressionWalker.cs |   58 +-
 modules/platforms/nodejs/lib/BinaryObject.js    |   39 +-
 modules/platforms/nodejs/lib/CacheClient.js     |   48 +-
 .../platforms/nodejs/lib/CacheConfiguration.js  |  185 +-
 modules/platforms/nodejs/lib/Cursor.js          |   22 +-
 modules/platforms/nodejs/lib/EnumItem.js        |   13 +-
 modules/platforms/nodejs/lib/IgniteClient.js    |   26 +-
 modules/platforms/nodejs/lib/Query.js           |   38 +-
 .../nodejs/lib/internal/BinaryCommunicator.js   |  409 ++
 .../nodejs/lib/internal/BinaryReader.js         |  197 -
 .../platforms/nodejs/lib/internal/BinaryType.js |   33 +-
 .../nodejs/lib/internal/BinaryTypeStorage.js    |   43 +-
 .../nodejs/lib/internal/BinaryWriter.js         |  210 -
 .../nodejs/lib/internal/ClientSocket.js         |   56 +-
 .../nodejs/lib/internal/MessageBuffer.js        |    6 +
 .../nodejs/spec/examples/AuthExample.spec.js    |    5 +
 .../nodejs/spec/examples/Examples.spec.js       |    5 +
 modules/rest-http/pom.xml                       |   22 +
 .../http/jetty/GridJettyRestHandler.java        |    8 +-
 .../http/jetty/GridJettyRestProtocol.java       |   12 +-
 .../protocols/http/jetty/GridRestSuite.java     |   35 +
 .../http/jetty/RestSetupSimpleTest.java         |   76 +
 .../spark/sql/ignite/IgniteSparkSession.scala   |   31 +-
 .../ignite/spark/IgniteDataFrameSuite.scala     |    4 +-
 .../sql/ignite/IgniteSparkSessionSpec.scala     |   79 +
 .../ignite/cache/spring/SpringCacheManager.java |   35 +-
 .../spring/SpringTransactionManager.java        |   30 +-
 ...ridSpringCacheManagerSpringBeanSelfTest.java |   14 +-
 ...ingTransactionManagerSpringBeanSelfTest.java |    6 +
 .../util/nodestart/StartNodeCallableImpl.java   |   12 +-
 .../cluster/TensorFlowClusterMaintainer.java    |  142 +-
 .../cluster/TensorFlowClusterManager.java       |   36 +
 .../tfrunning/TensorFlowServerManager.java      |   25 +-
 .../TensorFlowServerScriptFormatter.java        |    3 +
 .../cluster/util/ClusterPortManager.java        |   16 +-
 .../cluster/util/TensorFlowChiefRunner.java     |    2 +-
 .../util/TensorFlowProcessBuilderSupplier.java  |   72 +
 .../util/TensorFlowUserScriptRunner.java        |    3 +-
 .../core/pythonrunning/PythonProcess.java       |   68 -
 .../PythonProcessBuilderSupplier.java           |   93 -
 .../pythonrunning/PythonProcessManager.java     |   56 -
 .../core/pythonrunning/package-info.java        |   25 -
 .../core/util/AsyncNativeProcessRunner.java     |   50 +-
 .../core/util/PythonProcessBuilderSupplier.java |   93 +
 .../submitter/command/StartCommand.java         |    3 +-
 .../http/GridHttpDeploymentSelfTest.java        |   12 +-
 .../web-console/backend/app/agentsHandler.js    |   19 +-
 .../web-console/backend/app/browsersHandler.js  |   12 +-
 .../e2e/testcafe/components/FormField.js        |    6 +-
 .../e2e/testcafe/components/modalInput.js       |    8 +-
 .../page-models/PageConfigurationBasic.js       |    2 +-
 modules/web-console/frontend/.babelrc           |   16 +-
 modules/web-console/frontend/.eslintrc          |    2 +-
 modules/web-console/frontend/app/app.js         |    4 +
 .../frontend/app/browserUpdate/index.js         |    8 +-
 .../components/activities-user-dialog/index.js  |   26 +-
 .../components/form-field-size/controller.js    |  140 +
 .../components/form-field-size/index.js         |   40 +
 .../components/form-field-size/template.pug     |   77 +
 .../frontend/app/components/form-field/index.js |    3 +
 .../components/grid-column-selector/style.scss  |    1 +
 .../app/components/grid-item-selected/index.js  |    1 +
 .../components/grid-item-selected/style.scss    |   23 +
 .../input-dialog/input-dialog.tpl.pug           |   13 +-
 .../list-editable-cols/cols.style.scss          |    8 +-
 .../list-editable-cols/cols.template.pug        |    2 +-
 .../app/components/list-editable/style.scss     |    6 +-
 .../list-of-registered-users/style.scss         |   14 +-
 .../list-of-registered-users/template.tpl.pug   |   55 +-
 .../cache-edit-form/templates/general.pug       |    4 +-
 .../cache-edit-form/templates/memory.pug        |   10 +-
 .../cache-edit-form/templates/node-filter.pug   |    4 +-
 .../cache-edit-form/templates/query.pug         |    2 +-
 .../cache-edit-form/templates/store.pug         |   85 +-
 .../cluster-edit-form/templates/attributes.pug  |   20 +-
 .../cluster-edit-form/templates/binary.pug      |   68 +-
 .../templates/cache-key-cfg.pug                 |   62 +-
 .../cluster-edit-form/templates/checkpoint.pug  |   84 +-
 .../templates/collision/job-stealing.pug        |   19 +-
 .../templates/communication.pug                 |   10 +-
 .../templates/data-storage.pug                  |   64 +-
 .../cluster-edit-form/templates/deployment.pug  |   11 +-
 .../cluster-edit-form/templates/discovery.pug   |    4 +-
 .../cluster-edit-form/templates/failover.pug    |   77 +-
 .../cluster-edit-form/templates/general.pug     |    2 +-
 .../templates/general/discovery/jdbc.pug        |    8 +-
 .../templates/general/discovery/multicast.pug   |   42 +-
 .../templates/general/discovery/vm.pug          |   53 +-
 .../templates/load-balancing.pug                |  155 +-
 .../cluster-edit-form/templates/memory.pug      |  195 +-
 .../cluster-edit-form/templates/odbc.pug        |    4 +-
 .../cluster-edit-form/templates/service.pug     |   90 +-
 .../cluster-edit-form/templates/ssl.pug         |   43 +-
 .../cluster-edit-form/templates/swap.pug        |    4 +-
 .../cluster-edit-form/templates/thread.pug      |  101 +-
 .../igfs-edit-form/templates/general.pug        |    6 +-
 .../igfs-edit-form/templates/misc.pug           |   72 +-
 .../igfs-edit-form/templates/secondary.pug      |    6 +-
 .../model-edit-form/templates/general.pug       |    2 +-
 .../model-edit-form/templates/query.pug         |  348 +-
 .../model-edit-form/templates/store.pug         |   46 +-
 .../components/page-configure-basic/style.scss  |   29 +-
 .../page-configure-basic/template.pug           |   72 +-
 .../components/modal-import-models/component.js |    2 +-
 .../tables-action-cell/style.scss               |    1 -
 .../tables-action-cell/template.pug             |   34 +-
 .../modal-import-models/template.tpl.pug        |  135 +-
 .../modal-preview-project/template.pug          |    3 +-
 .../components/pc-form-field-size/component.js  |   41 -
 .../components/pc-form-field-size/controller.js |  135 -
 .../components/pc-form-field-size/index.js      |   23 -
 .../components/pc-form-field-size/style.scss    |   52 -
 .../components/pc-form-field-size/template.pug  |   61 -
 .../components/pc-items-table/style.scss        |    3 -
 .../components/pc-items-table/template.pug      |   36 +-
 .../app/components/page-configure/index.js      |    2 -
 .../services/ConfigurationResource.js           |    4 +-
 .../services/ConfigurationResource.spec.js      |   78 +
 .../app/components/page-configure/states.js     |    3 +-
 .../app/components/page-configure/style.scss    |   27 +-
 .../app/components/page-configure/template.pug  |    2 +-
 .../components/queries-notebook/controller.js   |   16 +-
 .../components/queries-notebook/style.scss      |   20 +
 .../queries-notebook/template.tpl.pug           |  262 +-
 .../queries-notebooks-list/template.tpl.pug     |   29 +-
 .../app/components/page-queries/style.scss      |    4 +
 .../app/components/ui-grid/component.js         |   38 +
 .../app/components/ui-grid/controller.js        |  139 +
 .../frontend/app/components/ui-grid/index.js    |   23 +
 .../frontend/app/components/ui-grid/style.scss  |  111 +
 .../app/components/ui-grid/template.pug         |   34 +
 .../components/user-notifications/style.scss    |   39 -
 .../user-notifications/template.tpl.pug         |   26 +-
 .../app/directives/auto-focus.directive.js      |    2 +-
 .../app/directives/bs-affix-update.directive.js |    2 +-
 .../frontend/app/directives/btn-ignite-link.js  |   22 +-
 .../directives/centered/centered.directive.js   |    2 +-
 .../directives/copy-to-clipboard.directive.js   |    2 +-
 .../hide-on-state-change.directive.js           |    2 +-
 .../information/information.directive.js        |    2 +-
 .../app/directives/on-click-focus.directive.js  |    2 +-
 .../directives/on-enter-focus-move.directive.js |    2 +-
 .../app/directives/on-enter.directive.js        |    2 +-
 .../app/directives/on-escape.directive.js       |    2 +-
 .../directives/restore-input-focus.directive.js |    2 +-
 .../directives/retain-selection.directive.js    |    2 +-
 .../ui-ace-docker/ui-ace-docker.directive.js    |    2 +-
 .../ui-ace-java/ui-ace-java.directive.js        |    4 +-
 .../ui-ace-pojos/ui-ace-pojos.directive.js      |    2 +-
 .../ui-ace-pom/ui-ace-pom.directive.js          |    2 +-
 .../ui-ace-sharp/ui-ace-sharp.directive.js      |    4 +-
 .../ui-ace-spring/ui-ace-spring.directive.js    |    4 +-
 .../app/directives/ui-ace-tabs.directive.js     |    4 +-
 .../frontend/app/helpers/jade/form.pug          |   26 -
 .../helpers/jade/form/form-field-checkbox.pug   |   44 -
 .../helpers/jade/form/form-field-datalist.pug   |   52 -
 .../app/helpers/jade/form/form-field-down.pug   |   18 -
 .../helpers/jade/form/form-field-dropdown.pug   |   60 -
 .../helpers/jade/form/form-field-feedback.pug   |   18 -
 .../app/helpers/jade/form/form-field-label.pug  |   25 -
 .../app/helpers/jade/form/form-field-number.pug |   59 -
 .../helpers/jade/form/form-field-password.pug   |   47 -
 .../app/helpers/jade/form/form-field-text.pug   |   53 -
 .../app/helpers/jade/form/form-field-up.pug     |   18 -
 .../frontend/app/helpers/jade/mixins.pug        |  598 ++-
 .../frontend/app/modules/ace.module.js          |    2 +-
 .../app/modules/agent/AgentManager.service.js   |    2 +
 .../app/modules/agent/AgentModal.service.js     |    2 +-
 .../app/modules/branding/features.directive.js  |    2 +-
 .../app/modules/branding/footer.directive.js    |    2 +-
 .../modules/branding/header-logo.directive.js   |    2 +-
 .../configuration/configuration.module.js       |    6 +-
 .../generator/PlatformGenerator.js              |    4 +-
 .../frontend/app/modules/demo/Demo.module.js    |    6 +-
 .../app/modules/dialog/dialog.factory.js        |    2 +-
 .../app/modules/form/field/down.directive.js    |   45 -
 .../app/modules/form/field/feedback.scss        |   37 -
 .../frontend/app/modules/form/field/field.scss  |   43 -
 .../field/form-control-feedback.directive.js    |   40 -
 .../app/modules/form/field/input/text.scss      |   41 -
 .../app/modules/form/field/label.directive.js   |   47 -
 .../app/modules/form/field/tooltip.directive.js |   49 -
 .../app/modules/form/field/up.directive.js      |   43 -
 .../frontend/app/modules/form/form.module.js    |   28 -
 .../app/modules/form/group/add.directive.js     |   38 -
 .../app/modules/form/group/tooltip.directive.js |   38 -
 .../app/modules/form/panel/chevron.directive.js |    2 +-
 .../modules/form/services/FormGUID.service.js   |    2 +-
 .../app/modules/loading/loading.service.js      |    2 +-
 .../frontend/app/modules/socket.module.js       |    2 +-
 .../frontend/app/modules/states/logout.state.js |    2 +-
 .../frontend/app/modules/user/user.module.js    |    2 +-
 .../frontend/app/primitives/btn/index.scss      |    5 +-
 .../frontend/app/primitives/checkbox/index.scss |   20 -
 .../app/primitives/datepicker/index.pug         |   29 +-
 .../app/primitives/datepicker/index.scss        |   55 -
 .../frontend/app/primitives/file/index.pug      |   37 -
 .../frontend/app/primitives/file/index.scss     |   60 -
 .../app/primitives/form-field/checkbox.pug      |    4 +-
 .../app/primitives/form-field/dropdown.pug      |   17 +-
 .../app/primitives/form-field/email.pug         |    4 +-
 .../app/primitives/form-field/error.pug         |    1 +
 .../app/primitives/form-field/index.pug         |    2 +
 .../app/primitives/form-field/index.scss        |  286 +-
 .../app/primitives/form-field/input.pug         |    7 +-
 .../app/primitives/form-field/label.pug         |   27 +-
 .../app/primitives/form-field/number.pug        |   19 +-
 .../app/primitives/form-field/password.pug      |    4 +-
 .../app/primitives/form-field/phone.pug         |    2 +-
 .../app/primitives/form-field/radio.pug         |   32 +
 .../frontend/app/primitives/form-field/text.pug |    9 +-
 .../app/primitives/form-field/tooltip.pug       |   12 +-
 .../app/primitives/form-field/typeahead.pug     |   54 +
 .../frontend/app/primitives/index.js            |    1 -
 .../frontend/app/primitives/modal/index.scss    |   27 +-
 .../frontend/app/primitives/panel/index.scss    |    9 +
 .../frontend/app/primitives/radio/index.pug     |   37 -
 .../frontend/app/primitives/radio/index.scss    |   78 -
 .../app/primitives/timepicker/index.pug         |   31 +-
 .../app/primitives/timepicker/index.scss        |  130 +-
 .../frontend/app/primitives/tooltip/index.pug   |   27 -
 .../services/AngularStrapSelect.decorator.js    |    2 +-
 .../services/AngularStrapTooltip.decorator.js   |    2 +-
 .../frontend/app/services/Confirm.service.js    |    4 +-
 .../app/services/CopyToClipboard.service.js     |    2 +-
 .../frontend/app/services/Focus.service.js      |    2 +-
 .../frontend/app/services/FormUtils.service.js  |    2 +-
 .../app/services/LegacyTable.service.js         |    2 +-
 .../app/services/LegacyUtils.service.js         |    2 +-
 .../frontend/app/services/Messages.service.js   |    2 +-
 .../app/services/ModelNormalizer.service.js     |    2 +-
 .../app/services/UnsavedChangesGuard.service.js |    2 +-
 modules/web-console/frontend/app/style.scss     |   22 +
 modules/web-console/frontend/app/vendor.js      |    1 -
 modules/web-console/frontend/package.json       |   41 +-
 .../frontend/public/images/icons/index.js       |   56 +-
 .../frontend/public/stylesheets/style.scss      |   77 +-
 .../frontend/test/karma.conf.babel.js           |  113 -
 modules/web-console/frontend/test/karma.conf.js |   97 +-
 .../frontend/views/templates/confirm.tpl.pug    |    9 +-
 .../frontend/webpack/webpack.common.js          |   71 +-
 .../frontend/webpack/webpack.dev.babel.js       |   92 -
 .../web-console/frontend/webpack/webpack.dev.js |   92 +
 .../frontend/webpack/webpack.prod.babel.js      |   61 -
 .../frontend/webpack/webpack.prod.js            |   61 +
 .../frontend/webpack/webpack.test.js            |    7 +-
 .../internal/websession/WebSessionSelfTest.java |   39 +-
 .../config/mvcc/benchmark-mvcc-messages.sh      |   98 +
 .../config/mvcc/benchmark-mvcc-processor.sh     |   95 +
 .../mvcc/benchmark-mvcc-updates-contention.sh   |   96 +
 .../mvcc/benchmark-thin-native.properties       |  124 +
 ...benchmark-jdbc-thin-inmemory-mvcc.properties |  105 +
 .../yardstick/IgniteBenchmarkArguments.java     |   38 +
 .../org/apache/ignite/yardstick/IgniteNode.java |    2 +
 .../yardstick/IgniteThinAbstractBenchmark.java  |  164 +
 .../ignite/yardstick/IgniteThinClient.java      |  146 +
 .../cache/IgnitePutAllSimpleBenchmark.java      |   44 +
 .../yardstick/jdbc/AbstractJdbcBenchmark.java   |    2 +-
 .../yardstick/jdbc/AbstractNativeBenchmark.java |    2 +-
 .../apache/ignite/yardstick/jdbc/JdbcUtils.java |   11 +-
 .../jdbc/NativeJavaApiPutRemoveBenchmark.java   |   52 +
 .../mvcc/AbstractDistributedMvccBenchmark.java  |  101 +
 .../jdbc/mvcc/MvccProcessorBenchmark.java       |   61 +
 .../mvcc/MvccUpdateContentionBenchmark.java     |   77 +
 .../thin/cache/IgniteThinBenchmarkUtils.java    |   95 +
 .../cache/IgniteThinCacheAbstractBenchmark.java |   45 +
 .../thin/cache/IgniteThinGetBenchmark.java      |   74 +
 .../thin/cache/IgniteThinGetTxBenchmark.java    |   30 +
 .../thin/cache/IgniteThinPutAllBenchmark.java   |   44 +
 .../thin/cache/IgniteThinPutAllTxBenchmark.java |   30 +
 .../thin/cache/IgniteThinPutBenchmark.java      |   41 +
 .../thin/cache/IgniteThinPutGetBenchmark.java   |   46 +
 .../thin/cache/IgniteThinPutTxBenchmark.java    |   30 +
 .../upload/AbstractNativeBenchmark.java         |   14 +-
 .../upload/AbstractUploadBenchmark.java         |    9 +-
 .../yardstick/upload/model/QueryFactory.java    |   30 +-
 modules/yarn/pom.xml                            |   20 +-
 .../ZkDistributedCollectDataFuture.java         |   19 +-
 .../discovery/zk/internal/ZookeeperClient.java  |   40 +-
 .../zk/internal/ZookeeperClusterNode.java       |    5 -
 .../zk/internal/ZookeeperDiscoveryImpl.java     |   39 +-
 .../tcp/ipfinder/zk/ZookeeperIpFinderTest.java  |    9 +-
 .../zk/curator/FixedTestingQuorumPeerMain.java  |   87 +
 .../tcp/ipfinder/zk/curator/TestingCluster.java |  237 ++
 .../zk/curator/TestingZooKeeperServer.java      |  169 +
 .../ZookeeperDiscoverySpiAbstractTestSuite.java |    2 +-
 .../zk/ZookeeperDiscoverySpiTestSuite2.java     |    2 +-
 .../zk/internal/ZookeeperClientTest.java        |   15 +-
 .../zk/internal/ZookeeperDiscoverySpiTest.java  |    4 +-
 parent/pom.xml                                  |   24 +-
 1467 files changed, 98755 insertions(+), 23068 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/a7ee714e/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 8a51bf5,714d4a0..4806733
--- 
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
@@@ -161,12 -182,8 +183,12 @@@ public abstract class GridCacheMapEntr
  
      /** */
      @GridToStringExclude
-     private final ReentrantLock lock = new ReentrantLock();   
-     
+     private final ReentrantLock lock = new ReentrantLock();
+ 
 +    /** Read Lock for continuous query listener */
 +    @GridToStringExclude
 +    private final Lock listenerLock;
 +
      /**
       * Flags:
       * <ul>
@@@ -958,7 -1369,8 +1375,9 @@@
  
          ensureFreeSpace();
  
+         GridLongList mvccWaitTxs = null;
+ 
 +        lockListenerReadLock();
          lockEntry();
  
          try {
@@@ -1177,7 -1600,8 +1608,9 @@@
  
          boolean marked = false;
  
+         GridLongList mvccWaitTxs = null;
+ 
 +        lockListenerReadLock();
          lockEntry();
  
          try {
@@@ -4344,27 -4851,7 +4867,27 @@@
      @Override public void unlockEntry() {
          lock.unlock();
      }
-         
+ 
 +    /**
 +     * This method would obtain read lock for continuous query listener 
setup. This
 +     * is to prevent race condition between entry update and continuous query 
setup.
 +     * You should make sure you obtain this read lock first before locking 
the entry
 +     * in order to ensure that the entry update is completed and existing 
continuous
 +     * query notified before the next cache listener update
 +     */
 +    private void lockListenerReadLock() {
 +        listenerLock.lock();
-     }        
-     
++    }
++
 +    /**
 +     * unlock the listener read lock
-      * 
++     *
 +     * @see #lockListenerReadLock()
 +     */
 +    private void unlockListenerReadLock() {
 +        listenerLock.unlock();
 +    }
-         
++
      /** {@inheritDoc} */
      @Override public boolean lockedByCurrentThread() {
          return lock.isHeldByCurrentThread();

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

Reply via email to