You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/12/05 14:41:28 UTC

[06/50] [abbrv] ignite git commit: wip - communication (merged from 1.7.3)

wip - communication (merged from 1.7.3)


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

Branch: refs/heads/ignite-comm-balance-master
Commit: be419ffc3b8d5d6c715c95d0ba7fc903245da6d6
Parents: 8c31fe1 b1c7c9b
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Mon Nov 7 18:40:24 2016 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Mon Nov 7 18:40:24 2016 +0300

----------------------------------------------------------------------
 .../internal/jdbc2/JdbcResultSetSelfTest.java   |   91 +-
 .../java/org/apache/ignite/IgniteScheduler.java |   13 +
 .../rendezvous/RendezvousAffinityFunction.java  |    2 +-
 .../cache/query/QueryCancelledException.java    |   35 +
 .../apache/ignite/cache/query/QueryCursor.java  |    8 +-
 .../org/apache/ignite/cache/query/SpiQuery.java |    8 +-
 .../ignite/cache/query/SqlFieldsQuery.java      |   26 +
 .../org/apache/ignite/cache/query/SqlQuery.java |   25 +
 .../cache/store/jdbc/CacheJdbcBlobStore.java    |    4 +-
 .../configuration/CacheConfiguration.java       |   13 +-
 .../configuration/IgniteConfiguration.java      |   18 +-
 .../local/LocalIgfsSecondaryFileSystem.java     |   90 +-
 .../internal/GridEventConsumeHandler.java       |    8 +-
 .../internal/GridJobSiblingsResponse.java       |    3 +-
 .../ignite/internal/GridKernalContext.java      |   23 +
 .../ignite/internal/GridKernalContextImpl.java  |   40 +-
 .../internal/GridMessageListenHandler.java      |    8 +-
 .../apache/ignite/internal/IgniteKernal.java    |   13 +-
 .../ignite/internal/IgniteSchedulerImpl.java    |   18 +
 .../org/apache/ignite/internal/IgnitionEx.java  |  125 +-
 .../ignite/internal/MarshallerContextImpl.java  |    5 +-
 .../internal/binary/BinaryEnumObjectImpl.java   |    3 +-
 .../internal/binary/BinaryMarshaller.java       |    2 +-
 .../internal/binary/BinaryWriterExImpl.java     |    3 +-
 .../GridClientOptimizedMarshaller.java          |    5 +-
 .../GridClientZipOptimizedMarshaller.java       |    5 +-
 .../apache/ignite/internal/jdbc/JdbcUtils.java  |    4 +-
 .../checkpoint/GridCheckpointManager.java       |    6 +-
 .../managers/communication/GridIoManager.java   |  190 +-
 .../deployment/GridDeploymentCommunication.java |    4 +-
 .../eventstorage/GridEventStorageManager.java   |   16 +-
 .../swapspace/GridSwapSpaceManager.java         |   13 +-
 .../processors/affinity/GridAffinityUtils.java  |    4 +-
 .../cache/CacheEntrySerializablePredicate.java  |    4 +-
 .../cache/CacheInvokeDirectResult.java          |    4 +-
 .../processors/cache/GridCacheMapEntry.java     |   13 +-
 .../processors/cache/GridCacheMessage.java      |    4 +-
 .../processors/cache/GridCacheProcessor.java    |   13 +-
 .../processors/cache/GridCacheUtils.java        |    2 +-
 .../processors/cache/IgniteCacheProxy.java      |   34 +-
 .../processors/cache/QueryCursorImpl.java       |   92 +-
 .../GridDistributedLockResponse.java            |    4 +-
 .../GridDistributedTxPrepareRequest.java        |    4 +-
 .../GridDistributedTxPrepareResponse.java       |    4 +-
 .../dht/GridDhtAffinityAssignmentRequest.java   |    2 +-
 .../dht/GridDhtAffinityAssignmentResponse.java  |   12 +-
 .../dht/GridDhtTxFinishResponse.java            |    4 +-
 .../dht/atomic/GridDhtAtomicUpdateResponse.java |    4 +-
 .../dht/atomic/GridNearAtomicUpdateRequest.java |    2 +-
 .../atomic/GridNearAtomicUpdateResponse.java    |    4 +-
 .../colocated/GridDhtDetachedCacheEntry.java    |    5 +
 .../dht/preloader/GridDhtForceKeysResponse.java |    4 +-
 .../GridDhtPartitionDemandMessage.java          |    4 +-
 .../preloader/GridDhtPartitionsFullMessage.java |    8 +-
 .../GridDhtPartitionsSingleMessage.java         |    8 +-
 .../distributed/near/GridNearGetResponse.java   |    4 +-
 .../near/GridNearSingleGetResponse.java         |    4 +-
 .../near/GridNearTxFinishResponse.java          |    4 +-
 .../cache/distributed/near/GridNearTxLocal.java |    2 +-
 .../cache/query/GridCacheLocalQueryFuture.java  |    4 +-
 .../cache/query/GridCacheQueryManager.java      |    2 +-
 .../cache/query/GridCacheQueryRequest.java      |   12 +-
 .../cache/query/GridCacheQueryResponse.java     |    4 +-
 .../cache/query/GridCacheSqlQuery.java          |    4 +-
 .../continuous/CacheContinuousQueryHandler.java |   12 +-
 .../jdbc/GridCacheQueryJdbcMetadataTask.java    |    4 +-
 .../query/jdbc/GridCacheQueryJdbcTask.java      |    6 +-
 .../cache/transactions/IgniteTxEntry.java       |    5 +-
 .../transactions/IgniteTxLocalAdapter.java      |   62 +-
 .../version/GridCacheRawVersionedEntry.java     |    8 +-
 .../IgniteCacheObjectProcessorImpl.java         |    3 +-
 .../closure/GridClosureProcessor.java           |   77 +-
 .../processors/cluster/ClusterProcessor.java    |    2 +-
 .../processors/cluster/GridUpdateNotifier.java  |  108 +-
 .../continuous/GridContinuousProcessor.java     |   12 +-
 .../processors/continuous/StartRequestData.java |    4 +-
 .../datastreamer/DataStreamProcessor.java       |    8 +-
 .../datastreamer/DataStreamerImpl.java          |    6 +-
 .../processors/hadoop/HadoopHelper.java         |    7 +
 .../internal/processors/hadoop/HadoopJob.java   |    5 +
 .../hadoop/HadoopMapReducePlanner.java          |    1 +
 .../processors/hadoop/HadoopNoopHelper.java     |    5 +
 .../processors/igfs/IgfsAckMessage.java         |    5 +-
 .../processors/igfs/IgfsDeleteMessage.java      |    5 +-
 .../internal/processors/igfs/IgfsImpl.java      |   11 +-
 .../processors/igfs/IgfsMetaManager.java        |    1 -
 .../internal/processors/igfs/IgfsPaths.java     |    4 +-
 .../internal/processors/igfs/IgfsServer.java    |    5 +-
 .../processors/igfs/IgfsThreadFactory.java      |   61 +
 .../local/LocalFileSystemIgfsFile.java          |    9 +-
 .../secondary/local/LocalFileSystemUtils.java   |  142 +
 .../processors/job/GridJobProcessor.java        |   18 +-
 .../internal/processors/job/GridJobWorker.java  |   16 +-
 .../offheap/GridOffHeapProcessor.java           |    4 +-
 .../platform/PlatformAbstractTarget.java        |  177 +-
 .../processors/platform/PlatformTarget.java     |   44 +-
 .../platform/cache/PlatformCache.java           |  661 +++-
 .../cache/affinity/PlatformAffinity.java        |   14 +-
 .../query/PlatformAbstractQueryCursor.java      |   42 +-
 .../query/PlatformContinuousQueryProxy.java     |   53 +
 .../cache/store/PlatformCacheStoreCallback.java |   61 -
 .../callback/PlatformCallbackGateway.java       |    5 +-
 .../callback/PlatformCallbackUtils.java         |    3 +-
 .../platform/cluster/PlatformClusterGroup.java  |  124 +-
 .../platform/compute/PlatformCompute.java       |  106 +-
 .../cpp/PlatformCppConfigurationClosure.java    |   13 +-
 .../datastreamer/PlatformDataStreamer.java      |  112 +-
 .../datastructures/PlatformAtomicLong.java      |  179 +-
 .../datastructures/PlatformAtomicReference.java |   38 +-
 .../datastructures/PlatformAtomicSequence.java  |  131 +-
 .../dotnet/PlatformDotNetCacheStore.java        |  117 +-
 .../PlatformDotNetConfigurationClosure.java     |   13 +-
 .../platform/events/PlatformEvents.java         |  194 +-
 .../platform/messaging/PlatformMessaging.java   |   83 +-
 .../platform/services/PlatformServices.java     |  223 +-
 .../transactions/PlatformTransactions.java      |  225 +-
 .../platform/utils/PlatformUtils.java           |    8 +-
 .../internal/processors/pool/PoolProcessor.java |  154 +
 .../processors/query/GridQueryCancel.java       |   83 +
 .../processors/query/GridQueryFieldsResult.java |    3 +-
 .../query/GridQueryFieldsResultAdapter.java     |    3 +-
 .../processors/query/GridQueryIndexing.java     |   11 +-
 .../processors/query/GridQueryProcessor.java    |  176 +-
 .../twostep/messages/GridQueryFailResponse.java |   36 +-
 .../h2/twostep/messages/GridQueryRequest.java   |   31 +-
 .../handlers/task/GridTaskCommandHandler.java   |   10 +-
 .../rest/protocols/tcp/GridTcpRestParser.java   |    4 +-
 .../service/GridServiceProcessor.java           |   70 +-
 .../processors/task/GridTaskProcessor.java      |    8 +-
 .../processors/task/GridTaskWorker.java         |   14 +-
 .../ignite/internal/util/IgniteUtils.java       |  291 +-
 .../internal/util/SerializableTransient.java    |   58 +
 .../shmem/IpcSharedMemoryServerEndpoint.java    |   15 +-
 .../util/nio/GridNioSessionMetaKey.java         |    7 +-
 .../util/nio/ssl/BlockingSslHandler.java        |   61 +-
 .../internal/util/nio/ssl/GridNioSslFilter.java |   63 +-
 .../util/nio/ssl/GridNioSslHandler.java         |   17 +-
 .../internal/util/nio/ssl/GridSslMeta.java      |   94 +
 .../visor/cache/VisorCacheTypeMetadata.java     |   70 +-
 .../apache/ignite/logger/java/JavaLogger.java   |   14 +-
 .../logger/java/JavaLoggerFileHandler.java      |   10 +-
 .../ignite/marshaller/MarshallerUtils.java      |   22 +
 .../ignite/marshaller/jdk/JdkMarshaller.java    |    8 +-
 .../optimized/OptimizedClassDescriptor.java     |   90 +-
 .../optimized/OptimizedMarshaller.java          |   14 +-
 .../sharedfs/SharedFsCheckpointSpi.java         |    3 +-
 .../spi/checkpoint/sharedfs/SharedFsUtils.java  |    4 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   49 +-
 .../ignite/spi/discovery/tcp/ClientImpl.java    |    8 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java    |   24 +-
 .../spi/discovery/tcp/TcpDiscoverySpi.java      |    8 +-
 .../TcpDiscoveryMulticastIpFinder.java          |    4 +-
 .../sharedfs/TcpDiscoverySharedFsIpFinder.java  |    2 +-
 .../TcpDiscoveryCustomEventMessage.java         |    3 +-
 .../RoundRobinGlobalLoadBalancer.java           |   16 +-
 .../spi/swapspace/file/FileSwapSpaceSpi.java    |    4 +-
 .../ignite/stream/socket/SocketStreamer.java    |    3 +-
 ...RoundRobinErrorAfterClientReconnectTest.java |   99 +
 .../MarshallerContextLockingSelfTest.java       |    2 +-
 .../managers/GridManagerStopSelfTest.java       |    2 +
 .../cache/CacheGetEntryAbstractTest.java        |   38 +
 .../processors/cache/CachePutIfAbsentTest.java  |  161 +
 .../CacheSerializableTransactionsTest.java      |   70 +-
 .../processors/cache/CacheTxFastFinishTest.java |    2 +-
 .../GridCacheTtlManagerEvictionSelfTest.java    |  160 +
 .../MarshallerCacheJobRunNodeRestartTest.java   |    2 +-
 .../cache/query/IndexingSpiQuerySelfTest.java   |  218 ++
 .../cache/query/IndexingSpiQueryTxSelfTest.java |  162 +
 ...eContinuousQueryAsyncFailoverTxSelfTest.java |    5 +
 ...ContinuousQueryFailoverAbstractSelfTest.java |  225 +-
 .../CacheContinuousQueryFailoverTxSelfTest.java |    5 +
 ...eEntryProcessorExternalizableFailedTest.java |  588 +++
 .../igfs/IgfsAbstractBaseSelfTest.java          |   19 +
 .../processors/igfs/IgfsAbstractSelfTest.java   |  146 +-
 .../igfs/IgfsDualAbstractSelfTest.java          |   42 +-
 ...SecondaryFileSystemDualAbstractSelfTest.java |   26 +-
 ...fsLocalSecondaryFileSystemProxySelfTest.java |    5 -
 ...IgfsLocalSecondaryFileSystemTestAdapter.java |   27 +-
 .../igfs/benchmark/IgfsBenchmark.java           |  561 +++
 .../handlers/log/GridLogCommandHandlerTest.java |    5 +-
 ...artupWithSpecifiedWorkDirectorySelfTest.java |  166 -
 .../util/future/GridFutureAdapterSelfTest.java  |    3 +
 .../ipc/shmem/IgfsSharedMemoryTestServer.java   |    4 +-
 .../IpcSharedMemoryCrashDetectionSelfTest.java  |    9 +-
 .../IpcSharedMemoryBenchmarkReader.java         |    2 +-
 .../ignite/logger/java/JavaLoggerTest.java      |    3 +-
 .../OptimizedMarshallerNodeFailoverTest.java    |    4 -
 ...heckpointSpiMultipleDirectoriesSelfTest.java |    6 +-
 .../GridAbstractCommunicationSelfTest.java      |    2 -
 ...mmunicationSpiConcurrentConnectSelfTest.java |   16 +-
 ...nicationSpiConcurrentConnectSslSelfTest.java |   35 +
 ...cpCommunicationSpiMultithreadedSelfTest.java |    2 -
 ...GridTcpCommunicationSpiRecoverySelfTest.java |   14 +
 ...dTcpCommunicationSpiRecoverySslSelfTest.java |   35 +
 ...CommunicationSpiSslSmallBuffersSelfTest.java |   43 +
 .../tcp/IgniteCacheSslStartStopSelfTest.java    |    1 -
 .../tcp/TcpDiscoverySnapshotHistoryTest.java    |   14 +-
 .../GridSwapSpaceSpiAbstractSelfTest.java       |    2 -
 .../ignite/testframework/GridTestUtils.java     |   37 +
 .../ignite/testframework/IgniteTestSuite.java   |   18 +-
 .../testframework/junits/GridAbstractTest.java  |    2 +-
 .../junits/GridTestKernalContext.java           |    2 +
 .../ignite/testframework/junits/IgniteMock.java |   10 +
 .../junits/IgniteTestResources.java             |    2 -
 .../junits/spi/GridSpiAbstractTest.java         |    2 -
 .../testsuites/IgniteBinaryBasicTestSuite.java  |    2 -
 .../ignite/testsuites/IgniteCacheTestSuite.java |    4 +
 .../testsuites/IgniteCacheTestSuite4.java       |    2 +
 .../testsuites/IgniteComputeGridTestSuite.java  |    2 +
 .../testsuites/IgniteKernalSelfTestSuite.java   |    2 -
 .../IgniteSpiCommunicationSelfTestSuite.java    |   11 +-
 .../CacheNoValueClassOnServerTestClient.java    |    2 -
 .../CacheConfigurationP2PTestClient.java        |    2 -
 .../IgniteHadoopClientProtocolProvider.java     |   53 +-
 .../processors/hadoop/HadoopExternalSplit.java  |    8 +
 .../processors/hadoop/HadoopHelperImpl.java     |   13 +
 .../processors/hadoop/HadoopSplitWrapper.java   |    9 +
 .../processors/hadoop/impl/HadoopUtils.java     |   11 +-
 .../HadoopBasicFileSystemFactoryDelegate.java   |   16 +-
 ...doopIgfsSecondaryFileSystemDelegateImpl.java |    3 +-
 ...HadoopKerberosFileSystemFactoryDelegate.java |    7 +-
 .../hadoop/impl/igfs/HadoopIgfsProperties.java  |    3 +
 .../processors/hadoop/impl/v2/HadoopV2Job.java  |   13 +-
 .../hadoop/impl/v2/HadoopV2TaskContext.java     |    4 +-
 .../hadoop/jobtracker/HadoopJobTracker.java     |   61 +
 .../external/HadoopExternalTaskExecutor.java    |   13 +-
 .../child/HadoopExternalProcessStarter.java     |   10 +-
 .../HadoopExternalCommunication.java            |   10 +-
 .../communication/HadoopMarshallerFilter.java   |   15 +-
 .../hadoop/impl/HadoopAbstractSelfTest.java     |    4 +-
 .../hadoop/impl/HadoopPlannerMockJob.java       |    7 +
 ...opClientProtocolMultipleServersSelfTest.java |  324 ++
 .../impl/igfs/Hadoop1DualAbstractTest.java      |   12 +-
 ...oopSecondaryFileSystemConfigurationTest.java |   12 +
 .../HadoopExternalCommunicationSelfTest.java    |    2 +-
 .../testsuites/IgniteHadoopTestSuite.java       |    2 +
 .../hibernate/CacheHibernateBlobStore.java      |    4 +-
 modules/ignored-tests/pom.xml                   |    8 +
 ...gniteIgnoredBinarySimpleMapperTestSuite.java |   41 +
 .../IgniteIgnoredBinaryTestSuite.java           |   42 +
 .../testsuites/IgniteIgnoredTestSuite.java      |    4 +
 .../processors/query/h2/IgniteH2Indexing.java   |  164 +-
 .../query/h2/twostep/GridMapQueryExecutor.java  |   66 +-
 .../query/h2/twostep/GridMergeIndex.java        |   12 +-
 .../h2/twostep/GridReduceQueryExecutor.java     |  128 +-
 .../h2/twostep/msg/GridH2QueryRequest.java      |   42 +-
 .../cache/CacheConfigurationP2PTestServer.java  |    2 -
 ...niteCacheDistributedQueryCancelSelfTest.java |  176 +
 ...butedQueryStopOnCancelOrTimeoutSelfTest.java |  253 ++
 ...cheQueryAbstractDistributedJoinSelfTest.java |  290 ++
 ...QueryNodeRestartDistributedJoinSelfTest.java |  262 +-
 .../IgniteCacheQueryNodeRestartSelfTest2.java   |  125 +-
 ...nCancelOrTimeoutDistributedJoinSelfTest.java |  138 +
 .../IgniteCacheReplicatedQuerySelfTest.java     |    4 +-
 ...eCacheLocalQueryCancelOrTimeoutSelfTest.java |  158 +
 .../query/IgniteSqlSplitterSelfTest.java        |    2 +
 .../h2/GridIndexingSpiAbstractSelfTest.java     |   13 +-
 .../query/h2/sql/BaseH2CompareQueryTest.java    |    3 +-
 .../IgniteBinaryCacheQueryTestSuite.java        |    1 -
 ...narySimpleNameMapperCacheQueryTestSuite.java |    2 -
 .../IgniteCacheQuerySelfTestSuite.java          |   12 +-
 .../IgniteCacheQuerySelfTestSuite2.java         |   13 +-
 .../serialization/CacheEventDeserializer.java   |    3 +-
 .../serialization/CacheEventSerializer.java     |    3 +-
 modules/platforms/cpp/common/Makefile.am        |    4 +-
 .../common/include/ignite/common/concurrent.h   |    5 +-
 .../cpp/common/include/ignite/ignite_error.h    |    4 +-
 .../platforms/cpp/common/src/ignite_error.cpp   |    4 +-
 modules/platforms/cpp/core-test/Makefile.am     |   10 +-
 .../cpp/core-test/config/cache-query.xml        |   12 +-
 .../cpp/core-test/src/cache_query_test.cpp      |    2 +-
 .../cpp/core-test/src/decimal_test.cpp          |    2 +-
 .../cpp/core-test/src/interop_memory_test.cpp   |    5 +-
 .../cpp/core/include/ignite/cache/cache.h       |   15 +-
 .../core/include/ignite/impl/cache/cache_impl.h |   41 +-
 .../ignite/impl/interop/interop_target.h        |   18 +
 .../cpp/core/src/impl/cache/cache_impl.cpp      |   48 +-
 .../core/src/impl/cache/query/query_impl.cpp    |   15 +-
 .../core/src/impl/interop/interop_target.cpp    |   25 +
 .../src/impl/transactions/transactions_impl.cpp |  135 +-
 .../cpp/jni/include/ignite/jni/exports.h        |  106 +-
 .../platforms/cpp/jni/include/ignite/jni/java.h |  229 +-
 modules/platforms/cpp/jni/project/vs/module.def |   88 +-
 modules/platforms/cpp/jni/src/exports.cpp       |  359 +-
 modules/platforms/cpp/jni/src/java.cpp          | 1405 +------
 modules/platforms/cpp/odbc-test/Makefile.am     |    4 +-
 .../cpp/odbc-test/src/queries_test.cpp          |    4 +-
 .../cpp/odbc/src/config/configuration.cpp       |    2 +-
 modules/platforms/cpp/odbc/src/odbc.cpp         |    4 +-
 .../Apache.Ignite.Core.Tests.csproj             |    1 +
 .../Cache/CacheAbstractTest.cs                  |   44 +
 .../Compute/ComputeApiTest.cs                   |    2 +-
 .../IgniteConfigurationSerializerTest.cs        |   70 +-
 .../IgniteConfigurationTest.cs                  |   24 +-
 .../ProjectFilesTest.cs                         |    3 +-
 .../Services/ServicesTest.cs                    |    2 +
 .../Apache.Ignite.Core.csproj                   |    3 +-
 .../IgniteConfigurationSection.xsd              | 1141 +++++-
 .../Impl/Cache/CacheAffinityImpl.cs             |    5 +-
 .../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs  |  484 ++-
 .../Apache.Ignite.Core/Impl/Cache/CacheLock.cs  |   24 +-
 .../Apache.Ignite.Core/Impl/Cache/CacheOp.cs    |   43 +-
 .../Impl/Cache/ICacheLockInternal.cs            |   47 +
 .../Impl/Cache/Query/AbstractQueryCursor.cs     |   10 +-
 .../Continuous/ContinuousQueryHandleImpl.cs     |  117 +-
 .../Impl/Cache/Store/CacheStore.cs              |  108 +-
 .../Impl/Cluster/ClusterGroupImpl.cs            |   64 +-
 .../Apache.Ignite.Core/Impl/Common/Future.cs    |   30 +-
 .../Impl/Compute/ComputeImpl.cs                 |   46 +-
 .../Impl/DataStructures/AtomicLong.cs           |   34 +-
 .../Impl/DataStructures/AtomicReference.cs      |    8 +-
 .../Impl/DataStructures/AtomicSequence.cs       |   26 +-
 .../Impl/Datastream/DataStreamerImpl.cs         |   49 +-
 .../Apache.Ignite.Core/Impl/Events/Events.cs    |  180 +-
 .../dotnet/Apache.Ignite.Core/Impl/Ignite.cs    |    4 +-
 .../Apache.Ignite.Core/Impl/IgniteUtils.cs      |    2 +-
 .../Impl/Messaging/Messaging.cs                 |  113 +-
 .../Apache.Ignite.Core/Impl/PlatformTarget.cs   |  233 +-
 .../Impl/Services/Services.cs                   |  146 +-
 .../Impl/Transactions/TransactionsImpl.cs       |   64 +-
 .../Impl/Unmanaged/IgniteJniNativeMethods.cs    |  272 +-
 .../Impl/Unmanaged/UnmanagedCallbacks.cs        |   11 +-
 .../Impl/Unmanaged/UnmanagedUtils.cs            |  553 +--
 .../dotnet/Apache.Ignite.NLog/packages.config   |   16 +
 .../dotnet/Apache.Ignite.sln.DotSettings        |    3 +-
 .../Apache.Ignite.sln.TeamCity.DotSettings      |    1 +
 .../spi/deployment/uri/UriDeploymentSpi.java    |    2 +-
 .../scala/org/apache/ignite/visor/visor.scala   |    2 +-
 modules/web-console/DEVNOTES.txt                |    2 +-
 modules/web-console/backend/app/agent.js        |   26 +-
 modules/web-console/backend/app/browser.js      |   14 +-
 modules/web-console/backend/app/mongo.js        |  207 +-
 .../backend/routes/demo/domains.json            |   15 +-
 modules/web-console/backend/services/agents.js  |    1 +
 modules/web-console/backend/services/auth.js    |    8 +-
 modules/web-console/backend/services/caches.js  |   14 +-
 .../web-console/backend/services/clusters.js    |   19 +-
 modules/web-console/backend/services/domains.js |   12 +-
 modules/web-console/backend/services/igfss.js   |   12 +-
 .../backend/test/unit/AuthService.test.js       |    4 +-
 .../backend/test/unit/CacheService.test.js      |  135 +-
 .../backend/test/unit/ClusterService.test.js    |  132 +-
 .../backend/test/unit/DomainService.test.js     |  144 +-
 .../backend/test/unit/IgfsService.test.js       |  122 +-
 modules/web-console/frontend/.eslintrc          |    6 +-
 modules/web-console/frontend/app/app.config.js  |   10 +
 modules/web-console/frontend/app/app.js         |   37 +-
 .../web-console/frontend/app/data/dialects.json |    9 +
 .../frontend/app/data/java-classes.json         |    4 +-
 .../frontend/app/decorator/tooltip.js           |   13 +-
 .../app/directives/on-focus-out.directive.js    |   37 +
 .../directives/restore-input-focus.directive.js |   24 +
 .../ui-ace-java/ui-ace-java.controller.js       |   78 +-
 .../ui-ace-java/ui-ace-java.directive.js        |  100 +-
 .../ui-ace-pojos/ui-ace-pojos.controller.js     |    2 +-
 .../ui-ace-pom/ui-ace-pom.controller.js         |    2 +-
 .../ui-ace-sharp/ui-ace-sharp.controller.js     |   32 +
 .../ui-ace-sharp/ui-ace-sharp.directive.js      |  133 +
 .../directives/ui-ace-sharp/ui-ace-sharp.jade   |   22 +
 .../ui-ace-spring/ui-ace-spring.controller.js   |   88 +
 .../ui-ace-spring/ui-ace-spring.directive.js    |   66 +
 .../directives/ui-ace-spring/ui-ace-spring.jade |   17 +
 .../ui-ace-xml/ui-ace-xml.controller.js         |   27 -
 .../ui-ace-xml/ui-ace-xml.directive.js          |  147 -
 .../app/directives/ui-ace-xml/ui-ace-xml.jade   |   17 -
 .../ui-grid-settings/ui-grid-settings.jade      |   33 +
 .../ui-grid-settings/ui-grid-settings.scss      |   38 +
 .../frontend/app/filters/default-name.filter.js |   21 +
 .../frontend/app/filters/hasPojo.filter.js      |    5 +-
 .../helpers/jade/form/form-field-feedback.jade  |    5 +-
 .../frontend/app/helpers/jade/mixins.jade       |  219 +-
 .../frontend/app/modules/agent/agent.module.js  |   10 +-
 .../modules/configuration/Version.service.js    |   82 +-
 .../configuration/configuration.module.js       |   30 +-
 .../generator/AbstractTransformer.js            |  341 ++
 .../modules/configuration/generator/Beans.js    |  379 ++
 .../generator/ConfigurationGenerator.js         | 1785 +++++++++
 .../configuration/generator/Java.service.js     |   21 -
 .../generator/JavaTransformer.service.js        | 1721 +++++++++
 .../generator/PlatformGenerator.js              |  522 +++
 .../configuration/generator/Pom.service.js      |  173 +-
 .../generator/Properties.service.js             |   74 +
 .../configuration/generator/Readme.service.js   |   79 +
 .../generator/SharpTransformer.service.js       |  243 ++
 .../generator/SpringTransformer.service.js      |  325 ++
 .../configuration/generator/StringBuilder.js    |   76 +
 .../configuration/generator/Xml.service.js      |   21 -
 .../defaults/cache.platform.provider.js         |   60 +
 .../generator/defaults/cache.provider.js        |  129 +
 .../defaults/cluster.platform.provider.js       |   49 +
 .../generator/defaults/cluster.provider.js      |  293 ++
 .../generator/defaults/igfs.provider.js         |   68 +
 .../configuration/generator/generator-common.js |  625 +++
 .../configuration/generator/generator-java.js   | 3617 ++++++++++++++++++
 .../generator/generator-optional.js             |   25 +
 .../configuration/generator/generator-spring.js | 2111 ++++++++++
 .../app/modules/form/field/input/select.scss    |   21 -
 .../app/modules/form/field/input/text.scss      |    1 -
 .../frontend/app/modules/form/form.module.js    |   10 +-
 .../app/modules/form/panel/revert.directive.js  |    4 +-
 .../modules/form/services/FormGUID.service.js   |   22 +
 .../validator/java-built-in-class.directive.js  |    6 +-
 .../form/validator/java-identifier.directive.js |    6 +-
 .../form/validator/java-keywords.directive.js   |   15 +-
 .../java-package-specified.directive.js         |    6 +-
 .../frontend/app/modules/nodes/Nodes.service.js |   69 +
 .../modules/nodes/nodes-dialog.controller.js    |   68 +
 .../app/modules/nodes/nodes-dialog.jade         |   35 +
 .../app/modules/nodes/nodes-dialog.scss         |   37 +
 .../frontend/app/modules/nodes/nodes.module.js  |   27 +
 .../frontend/app/modules/sql/sql.controller.js  |  269 +-
 .../app/modules/states/configuration.state.js   |    2 +-
 .../configuration/caches/client-near-cache.jade |   50 +
 .../states/configuration/caches/general.jade    |    3 +
 .../states/configuration/caches/memory.jade     |   14 +-
 .../configuration/caches/near-cache-client.jade |   51 +
 .../configuration/caches/near-cache-server.jade |   52 +
 .../configuration/caches/node-filter.jade       |   49 -
 .../states/configuration/caches/query.jade      |   30 +-
 .../states/configuration/caches/rebalance.jade  |    3 +-
 .../configuration/caches/server-near-cache.jade |   51 -
 .../states/configuration/caches/store.jade      |   84 +-
 .../states/configuration/clusters/atomic.jade   |    3 +-
 .../configuration/clusters/attributes.jade      |    4 +-
 .../states/configuration/clusters/binary.jade   |   28 +-
 .../configuration/clusters/cache-key-cfg.jade   |    9 +-
 .../configuration/clusters/checkpoint.jade      |   85 +
 .../configuration/clusters/checkpoint/fs.jade   |   66 +
 .../configuration/clusters/checkpoint/jdbc.jade |   45 +
 .../configuration/clusters/checkpoint/s3.jade   |  174 +
 .../configuration/clusters/collision.jade       |   13 +-
 .../clusters/collision/job-stealing.jade        |    2 +-
 .../configuration/clusters/communication.jade   |    3 +-
 .../configuration/clusters/connector.jade       |    3 +-
 .../configuration/clusters/deployment.jade      |    3 +-
 .../configuration/clusters/discovery.jade       |    3 +-
 .../states/configuration/clusters/events.jade   |   37 +-
 .../states/configuration/clusters/failover.jade |   19 +-
 .../states/configuration/clusters/general.jade  |    3 +
 .../clusters/general/discovery/zookeeper.jade   |    2 +
 .../states/configuration/clusters/igfs.jade     |    3 +-
 .../configuration/clusters/load-balancing.jade  |  104 +
 .../configuration/clusters/marshaller.jade      |    3 +-
 .../states/configuration/clusters/odbc.jade     |    3 +-
 .../states/configuration/clusters/ssl.jade      |    7 +-
 .../states/configuration/clusters/swap.jade     |    3 +-
 .../configuration/clusters/transactions.jade    |    6 +-
 .../states/configuration/domains/general.jade   |   12 +-
 .../states/configuration/domains/query.jade     |   40 +-
 .../states/configuration/domains/store.jade     |   15 +-
 .../states/configuration/igfs/general.jade      |    3 +
 .../modules/states/configuration/igfs/ipc.jade  |    2 +-
 .../modules/states/configuration/igfs/misc.jade |    4 +-
 .../states/configuration/igfs/secondary.jade    |    3 +-
 .../configuration/summary/summary.controller.js |  106 +-
 .../app/services/ErrorPopover.service.js        |    2 +-
 .../frontend/app/services/FormUtils.service.js  |    6 +-
 .../frontend/app/services/JavaTypes.service.js  |   70 +-
 .../app/services/LegacyTable.service.js         |   24 +-
 .../app/services/LegacyUtils.service.js         |  128 +-
 .../frontend/app/services/SqlTypes.service.js   |    6 +-
 modules/web-console/frontend/app/vendor.js      |    3 +-
 .../frontend/controllers/caches-controller.js   |  121 +-
 .../frontend/controllers/clusters-controller.js |  177 +-
 .../frontend/controllers/domains-controller.js  |  148 +-
 .../frontend/controllers/igfs-controller.js     |    6 +-
 .../frontend/generator/generator-common.js      |  625 ---
 .../frontend/generator/generator-java.js        | 3611 -----------------
 .../frontend/generator/generator-optional.js    |   25 -
 .../frontend/generator/generator-properties.js  |  175 -
 .../frontend/generator/generator-readme.js      |   85 -
 .../frontend/generator/generator-xml.js         | 2108 ----------
 .../frontend/gulpfile.babel.js/paths.js         |   31 +-
 .../frontend/gulpfile.babel.js/tasks/jade.js    |   21 +-
 .../frontend/gulpfile.babel.js/tasks/watch.js   |    6 +-
 .../gulpfile.babel.js/webpack/common.js         |    2 +-
 .../webpack/environments/development.js         |   17 +-
 .../webpack/environments/test.js                |   52 +
 .../frontend/gulpfile.babel.js/webpack/index.js |    4 +-
 modules/web-console/frontend/package.json       |   16 +-
 .../frontend/public/stylesheets/style.scss      |   75 +-
 .../frontend/test/karma.conf.babel.js           |   91 +
 modules/web-console/frontend/test/karma.conf.js |   98 +-
 .../frontend/test/unit/JavaTransformer.test.js  |   57 +
 .../frontend/test/unit/JavaTypes.test.js        |   23 +-
 .../frontend/test/unit/SharpTransformer.test.js |   55 +
 .../test/unit/SpringTransformer.test.js         |   57 +
 .../frontend/test/unit/SqlTypes.test.js         |   17 -
 .../frontend/test/unit/Version.test.js          |   82 +
 .../test/unit/defaultName.filter.test.js        |   38 +
 .../frontend/views/configuration/caches.jade    |    3 +-
 .../frontend/views/configuration/clusters.jade  |    3 +-
 .../views/configuration/domains-import.jade     |   14 +-
 .../summary-project-structure.jade              |    2 +-
 .../frontend/views/configuration/summary.jade   |   57 +-
 .../frontend/views/sql/cache-metadata.jade      |    2 +-
 .../frontend/views/sql/notebook-new.jade        |    4 +-
 modules/web-console/frontend/views/sql/sql.jade |   80 +-
 .../views/templates/agent-download.jade         |    6 +-
 .../frontend/views/templates/batch-confirm.jade |    4 +-
 .../frontend/views/templates/clone.jade         |    4 +-
 .../frontend/views/templates/confirm.jade       |    4 +-
 .../frontend/views/templates/demo-info.jade     |    4 +-
 .../views/templates/getting-started.jade        |    4 +-
 .../frontend/views/templates/message.jade       |    4 +-
 .../frontend/views/templates/select.jade        |    2 +-
 .../ignite/console/demo/AgentClusterDemo.java   |    2 +-
 .../ignite/cache/websession/WebSessionV2.java   |   26 +-
 508 files changed, 28042 insertions(+), 15024 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 9414675,75145a3..153870f
--- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@@ -146,9 -146,10 +146,10 @@@ public class IgniteConfiguration 
      public static final int AVAILABLE_PROC_CNT = Runtime.getRuntime().availableProcessors();
  
      /** Default core size of public thread pool. */
 -    public static final int DFLT_PUBLIC_THREAD_CNT = Math.max(8, AVAILABLE_PROC_CNT) * 2;
 +    public static final int DFLT_PUBLIC_THREAD_CNT = Math.max(8, AVAILABLE_PROC_CNT);
  
      /** Default keep alive time for public thread pool. */
+     @Deprecated
      public static final long DFLT_PUBLIC_KEEP_ALIVE_TIME = 0;
  
      /** Default limit of threads used for rebalance. */

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

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
index 1b0892d,3df29cf..d9505ea
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
@@@ -30,17 -29,12 +30,14 @@@ import java.util.concurrent.ConcurrentH
  import java.util.concurrent.ConcurrentLinkedDeque;
  import java.util.concurrent.ConcurrentLinkedQueue;
  import java.util.concurrent.ConcurrentMap;
- import java.util.concurrent.Executor;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.LinkedBlockingQueue;
  import java.util.concurrent.RejectedExecutionException;
 +import java.util.concurrent.ThreadLocalRandom;
  import java.util.concurrent.TimeUnit;
  import java.util.concurrent.atomic.AtomicBoolean;
 +import java.util.concurrent.atomic.AtomicLong;
 +import java.util.concurrent.atomic.AtomicReference;
  import java.util.concurrent.locks.ReadWriteLock;
  import java.util.concurrent.locks.ReentrantReadWriteLock;
 -
  import org.apache.ignite.IgniteCheckedException;
  import org.apache.ignite.IgniteException;
  import org.apache.ignite.cluster.ClusterNode;
@@@ -274,57 -230,6 +247,35 @@@ public class GridIoManager extends Grid
  
          startSpi();
  
 +        if (STRIPED) {
 +            CommunicationSpi spi = getSpi();
 +
 +            striped = new StripedExecutor(
 +                !ctx.clientNode() ?
 +                    Runtime.getRuntime().availableProcessors() - ((TcpCommunicationSpi)spi).getSelectorsCount() :
 +                    4);
 +
 +            // TODO
 +            Thread t = new Thread(new Runnable() {
 +                @Override public void run() {
 +                    for (; ; ) {
 +                        try {
 +                            Thread.sleep(ctx.config().getMetricsLogFrequency());
 +                        }
 +                        catch (InterruptedException e) {
 +                            e.printStackTrace();
 +                        }
 +
 +                        striped.dumpStats(log);
 +                    }
 +                }
 +            });
 +
 +            t.setDaemon(true);
 +
 +            t.start();
 +        }
 +
-         pubPool = ctx.getExecutorService();
-         p2pPool = ctx.getPeerClassLoadingExecutorService();
-         sysPool = ctx.getSystemExecutorService();
-         mgmtPool = ctx.getManagementExecutorService();
-         utilityCachePool = ctx.utilityCachePool();
-         marshCachePool = ctx.marshallerCachePool();
-         igfsPool = ctx.getIgfsExecutorService();
-         affPool = new IgniteThreadPoolExecutor(
-             "aff",
-             ctx.gridName(),
-             1,
-             1,
-             0,
-             new LinkedBlockingQueue<Runnable>());
- 
-         if (IgniteComponentType.INDEXING.inClassPath()) {
-             int cpus = Runtime.getRuntime().availableProcessors();
- 
-             idxPool = new IgniteThreadPoolExecutor("idx", ctx.gridName(),
-                 cpus, cpus * 2, 3000L, new LinkedBlockingQueue<Runnable>(1000));
-         }
- 
          getSpi().setListener(commLsnr = new CommunicationListener<Serializable>() {
              @Override public void onMessage(UUID nodeId, Serializable msg, IgniteRunnable msgC) {
                  try {
@@@ -392,151 -297,8 +343,116 @@@
  
          if (log.isDebugEnabled())
              log.debug(startInfo());
 +
-         registerIoPoolExtensions();
- 
 +        addMessageListener(GridTopic.TOPIC_IO_TEST, new GridMessageListener() {
 +            @Override public void onMessage(UUID nodeId, Object msg) {
 +                ClusterNode node = ctx.discovery().node(nodeId);
 +
 +                if (node == null)
 +                    return;
 +
 +                IgniteIoTestMessage msg0 = (IgniteIoTestMessage)msg;
 +
 +                if (msg0.request()) {
 +                    IgniteIoTestMessage res = new IgniteIoTestMessage(msg0.id(), false, null);
 +
 +                    res.flags(msg0.flags());
 +
 +                    try {
 +                        send(node, GridTopic.TOPIC_IO_TEST, res, GridIoPolicy.SYSTEM_POOL);
 +                    }
 +                    catch (IgniteCheckedException e) {
 +                        U.error(log, "Failed to send IO test response [msg=" + msg0 + "]", e);
 +                    }
 +                }
 +                else {
 +                    IoTestFuture fut = ioTestMap().get(msg0.id());
 +
 +                    if (fut == null)
 +                        U.warn(log, "Failed to find IO test future [msg=" + msg0 + ']');
 +                    else
 +                        fut.onResponse();
 +                }
 +            }
 +        });
 +    }
 +
 +    /**
 +     * @param nodes Nodes.
 +     * @param payload Payload.
 +     * @param procFromNioThread If {@code true} message is processed from NIO thread.
 +     * @return Response future.
 +     */
 +    public IgniteInternalFuture sendIoTest(List<ClusterNode> nodes, byte[] payload, boolean procFromNioThread) {
 +        long id = ioTestId.getAndIncrement();
 +
 +        IoTestFuture fut = new IoTestFuture(id, nodes.size());
 +
 +        IgniteIoTestMessage msg = new IgniteIoTestMessage(id, true, payload);
 +
 +        msg.processFromNioThread(procFromNioThread);
 +
 +        ioTestMap().put(id, fut);
 +
 +        for (int i = 0; i < nodes.size(); i++) {
 +            ClusterNode node = nodes.get(i);
 +
 +            try {
 +                send(node, GridTopic.TOPIC_IO_TEST, msg, GridIoPolicy.SYSTEM_POOL);
 +            }
 +            catch (IgniteCheckedException e) {
 +                ioTestMap().remove(msg.id());
 +
 +                return new GridFinishedFuture(e);
 +            }
 +        }
 +
 +        return fut;
 +    }
 +
 +    /**
 +     * @param node Node.
 +     * @param payload Payload.
 +     * @param procFromNioThread If {@code true} message is processed from NIO thread.
 +     * @return Response future.
 +     */
 +    public IgniteInternalFuture sendIoTest(ClusterNode node, byte[] payload, boolean procFromNioThread) {
 +        long id = ioTestId.getAndIncrement();
 +
 +        IoTestFuture fut = new IoTestFuture(id, 1);
 +
 +        IgniteIoTestMessage msg = new IgniteIoTestMessage(id, true, payload);
 +
 +        msg.processFromNioThread(procFromNioThread);
 +
 +        ioTestMap().put(id, fut);
 +
 +        try {
 +            send(node, GridTopic.TOPIC_IO_TEST, msg, GridIoPolicy.SYSTEM_POOL);
 +        }
 +        catch (IgniteCheckedException e) {
 +            ioTestMap().remove(msg.id());
 +
 +            return new GridFinishedFuture(e);
 +        }
 +
 +        return fut;
 +    }
 +
 +    /**
 +     * @return IO test futures map.
 +     */
 +    private ConcurrentHashMap<Long, IoTestFuture> ioTestMap() {
 +        ConcurrentHashMap<Long, IoTestFuture> map = ioTestMap.get();
 +
 +        if (map == null) {
 +            if (!ioTestMap.compareAndSet(null, map = new ConcurrentHashMap<>()))
 +                map = ioTestMap.get();
 +        }
 +
 +        return map;
      }
  
-     /**
-      * Processes IO messaging pool extensions.
-      * @throws IgniteCheckedException On error.
-      */
-     private void registerIoPoolExtensions() throws IgniteCheckedException {
-         // Process custom IO messaging pool extensions:
-         final IoPool[] executorExtensions = ctx.plugins().extensions(IoPool.class);
- 
-         if (executorExtensions != null) {
-             // Store it into the map and check for duplicates:
-             for (IoPool ex : executorExtensions) {
-                 final byte id = ex.id();
- 
-                 // 1. Check the pool id is non-negative:
-                 if (id < 0)
-                     throw new IgniteCheckedException("Failed to register IO executor pool because its Id is negative " +
-                         "[id=" + id + ']');
- 
-                 // 2. Check the pool id is in allowed range:
-                 if (isReservedGridIoPolicy(id))
-                     throw new IgniteCheckedException("Failed to register IO executor pool because its Id in in the " +
-                         "reserved range (0-31) [id=" + id + ']');
- 
-                 // 3. Check the pool for duplicates:
-                 if (ioPools[id] != null)
-                     throw new IgniteCheckedException("Failed to register IO executor pool because its " +
-                         "Id as already used [id=" + id + ']');
- 
-                 ioPools[id] = ex;
-             }
-         }
-     }
- 
      /** {@inheritDoc} */
      @SuppressWarnings({"deprecation", "SynchronizationOnLocalVariableOrMethodParameter"})
      @Override public void onKernalStart0() throws IgniteCheckedException {
@@@ -733,11 -491,6 +645,9 @@@
  
          if (log.isDebugEnabled())
              log.debug(stopInfo());
 +
 +        if (striped != null)
 +            striped.stop();
- 
-         Arrays.fill(ioPools, null);
      }
  
      /**
@@@ -985,26 -680,8 +829,26 @@@
              }
          };
  
 +        if (msg.topicOrdinal() == TOPIC_IO_TEST.ordinal()) {
 +            IgniteIoTestMessage msg0 = (IgniteIoTestMessage)msg.message();
 +
 +            if (msg0.processFromNioThread()) {
 +                c.run();
 +
 +                return;
 +            }
 +        }
 +
 +        if (STRIPED) {
 +            int part = msg.partition();
 +
 +            striped.execute(part != -1 ? part : ThreadLocalRandom.current().nextInt(striped.stripes()), c);
 +
 +            return;
 +        }
 +
          try {
-             pool(plc).execute(c);
+             pools.poolForPolicy(plc).execute(c);
          }
          catch (RejectedExecutionException e) {
              U.error(log, "Failed to process regular message due to execution rejection. Increase the upper bound " +

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

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslFilter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslHandler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 9e4571a,767490f..b7dd0f8
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@@ -2760,19 -2386,20 +2766,23 @@@ public class TcpCommunicationSpi extend
                          ch.socket().connect(addr, (int)timeoutHelper.nextTimeoutChunk(connTimeout));
  
                          if (isSslEnabled()) {
-                             sslEngine = ignite.configuration().getSslContextFactory().create().createSSLEngine();
+                             meta.put(SSL_META.ordinal(), sslMeta = new GridSslMeta());
+ 
+                             SSLEngine sslEngine = ignite.configuration().getSslContextFactory().create().createSSLEngine();
  
                              sslEngine.setUseClientMode(true);
+ 
+                             sslMeta.sslEngine(sslEngine);
                          }
  
 +                        Integer handshakeConnIdx = useMultipleConnections(node) ? connIdx : null;
 +
                          rcvCnt = safeHandshake(ch,
                              recoveryDesc,
                              node.id(),
                              timeoutHelper.nextTimeoutChunk(connTimeout0),
-                             sslEngine,
 -                            sslMeta);
++                            sslMeta,
 +                            handshakeConnIdx);
  
                          if (rcvCnt == -1)
                              return null;
@@@ -2783,16 -2410,8 +2793,9 @@@
                      }
  
                      try {
-                         Map<Integer, Object> meta = new HashMap<>();
- 
+                         meta.put(NODE_ID_META, node.id());
 +                        meta.put(CONN_IDX_META, connKey);
  
-                         if (isSslEnabled()) {
-                             assert sslEngine != null;
- 
-                             meta.put(GridNioSessionMetaKey.SSL_ENGINE.ordinal(), sslEngine);
-                         }
- 
                          if (recoveryDesc != null) {
                              recoveryDesc.onHandshake(rcvCnt);
  
@@@ -2944,8 -2563,7 +2947,8 @@@
       * @param recovery Recovery descriptor if use recovery handshake, otherwise {@code null}.
       * @param rmtNodeId Remote node.
       * @param timeout Timeout for handshake.
-      * @param ssl SSL engine if used cryptography, otherwise {@code null}.
+      * @param sslMeta Session meta.
 +     * @param handshakeConnIdx Non null connection index if need send it in handshake.
       * @throws IgniteCheckedException If handshake failed or wasn't completed withing timeout.
       * @return Handshake response.
       */
@@@ -2955,8 -2573,7 +2958,8 @@@
          @Nullable GridNioRecoveryDescriptor recovery,
          UUID rmtNodeId,
          long timeout,
-         @Nullable SSLEngine ssl,
 -        GridSslMeta sslMeta
++        GridSslMeta sslMeta,
 +        @Nullable Integer handshakeConnIdx
      ) throws IgniteCheckedException {
          HandshakeTimeoutObject<T> obj = new HandshakeTimeoutObject<>(client, U.currentTimeMillis() + timeout);
  

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/main/java/org/apache/ignite/stream/socket/SocketStreamer.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
----------------------------------------------------------------------
diff --cc modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
index ed047fa,8635d94..6060b90
--- a/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiConcurrentConnectSelfTest.java
@@@ -31,9 -31,9 +31,10 @@@ import java.util.concurrent.ThreadLocal
  import java.util.concurrent.TimeUnit;
  import java.util.concurrent.atomic.AtomicBoolean;
  import java.util.concurrent.atomic.AtomicInteger;
 +import java.util.concurrent.atomic.AtomicLong;
  import org.apache.ignite.IgniteCheckedException;
  import org.apache.ignite.cluster.ClusterNode;
+ import org.apache.ignite.configuration.IgniteConfiguration;
  import org.apache.ignite.internal.IgniteInternalFuture;
  import org.apache.ignite.internal.managers.communication.GridIoMessageFactory;
  import org.apache.ignite.internal.util.lang.GridAbsPredicate;
@@@ -79,9 -80,9 +81,12 @@@ public class GridTcpCommunicationSpiCon
      /** */
      private static int port = 60_000;
  
+     /** Use ssl. */
+     protected boolean useSsl;
+ 
 +    /** */
 +    private int connectionsPerNode = 1;
 +
      /**
       *
       */
@@@ -469,4 -434,4 +483,4 @@@
              rsrcs.stopThreads();
      }
  
--}
++}

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiMultithreadedSelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/test/java/org/apache/ignite/spi/communication/tcp/GridTcpCommunicationSpiRecoverySelfTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopExternalCommunication.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/ignite/blob/be419ffc/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
----------------------------------------------------------------------
diff --cc modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
index 93c60af,eeca564..24bba88
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/taskexecutor/external/communication/HadoopMarshallerFilter.java
@@@ -56,10 -57,10 +57,10 @@@ public class HadoopMarshallerFilter ext
      }
  
      /** {@inheritDoc} */
 -    @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg) throws IgniteCheckedException {
 +    @Override public GridNioFuture<?> onSessionWrite(GridNioSession ses, Object msg, boolean fut) throws IgniteCheckedException {
          assert msg instanceof HadoopMessage : "Invalid message type: " + msg;
  
-         return proceedSessionWrite(ses, marshaller.marshal(msg), fut);
 -        return proceedSessionWrite(ses, U.marshal(marsh, msg));
++        return proceedSessionWrite(ses, U.marshal(marsh, msg), fut);
      }
  
      @Override public void onMessageReceived(GridNioSession ses, Object msg) throws IgniteCheckedException {
@@@ -83,4 -84,4 +84,4 @@@
      @Override public void onSessionWriteTimeout(GridNioSession ses) throws IgniteCheckedException {
          proceedSessionWriteTimeout(ses);
      }
--}
++}