Merge remote-tracking branch 'remotes/community/ignite-comm-opts2-1' into ignite-comm-balance
# Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java # modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9bf435c6 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9bf435c6 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9bf435c6 Branch: refs/heads/ignite-comm-balance Commit: 9bf435c6712869f8d1b60b0efdb0f0d2e305ec80 Parents: 2b25194 67b9401 Author: sboikov <[email protected]> Authored: Fri Oct 21 18:53:54 2016 +0300 Committer: sboikov <[email protected]> Committed: Fri Oct 21 18:53:54 2016 +0300 ---------------------------------------------------------------------- bin/include/setenv.bat | 8 - bin/include/setenv.sh | 31 - .../s3/S3CheckpointManagerSelfTest.java | 3 + .../checkpoint/s3/S3CheckpointSpiSelfTest.java | 4 + .../s3/S3CheckpointSpiStartStopSelfTest.java | 7 + .../s3/S3SessionCheckpointSelfTest.java | 2 + .../s3/TcpDiscoveryS3IpFinderSelfTest.java | 7 + .../ignite/testsuites/IgniteS3TestSuite.java | 15 +- .../client/ClientReconnectionSelfTest.java | 4 +- .../client/router/TcpSslRouterSelfTest.java | 7 +- .../client/suite/IgniteClientTestSuite.java | 71 +- .../rest/protocols/tcp/MockNioSession.java | 11 + .../TcpDiscoveryCloudIpFinderSelfTest.java | 6 +- .../ignite/testsuites/IgniteCloudTestSuite.java | 5 +- .../apache/ignite/IgniteSystemProperties.java | 6 + .../store/jdbc/CacheAbstractJdbcStore.java | 4 +- .../ignite/cache/store/jdbc/JdbcType.java | 2 +- .../apache/ignite/compute/ComputeTaskSpis.java | 8 +- .../configuration/FileSystemConfiguration.java | 2 +- .../configuration/IgniteConfiguration.java | 2 +- .../local/LocalIgfsSecondaryFileSystem.java | 32 +- .../ignite/internal/GridKernalContext.java | 8 + .../ignite/internal/GridKernalContextImpl.java | 12 + .../ignite/internal/GridTaskSessionImpl.java | 15 +- .../org/apache/ignite/internal/GridTopic.java | 5 +- .../ignite/internal/IgniteComponentType.java | 11 +- .../apache/ignite/internal/IgniteKernal.java | 41 +- .../org/apache/ignite/internal/IgnitionEx.java | 19 + .../internal/binary/BinaryClassDescriptor.java | 16 +- .../internal/binary/BinaryEnumObjectImpl.java | 5 + .../ignite/internal/binary/BinaryObjectEx.java | 8 + .../internal/binary/BinaryObjectImpl.java | 7 + .../binary/BinaryObjectOffheapImpl.java | 7 + .../ignite/internal/binary/BinaryUtils.java | 5 +- .../internal/binary/BinaryWriterExImpl.java | 6 +- .../binary/builder/BinaryObjectBuilderImpl.java | 11 +- .../GridClientConnectionManagerAdapter.java | 1 + .../client/router/impl/GridTcpRouterImpl.java | 1 + .../logger/platform/PlatformLogger.java | 223 + .../internal/managers/GridManagerAdapter.java | 15 + .../managers/communication/GridIoManager.java | 235 +- .../managers/communication/GridIoMessage.java | 21 + .../communication/GridIoMessageFactory.java | 7 +- .../communication/IgniteIoTestMessage.java | 216 + .../discovery/GridDiscoveryManager.java | 73 +- .../loadbalancer/GridLoadBalancerManager.java | 10 +- .../processors/cache/GridCacheAdapter.java | 7 + .../processors/cache/GridCacheProcessor.java | 2 + .../cache/GridCacheSharedContext.java | 24 +- .../cache/GridCacheSharedTtlCleanupManager.java | 132 + .../processors/cache/GridCacheTtlManager.java | 145 +- .../processors/cache/GridCacheUtils.java | 5 + .../dht/atomic/GridDhtAtomicUpdateRequest.java | 9 + .../dht/atomic/GridNearAtomicUpdateRequest.java | 9 + .../distributed/near/GridNearCacheAdapter.java | 7 + .../query/GridCacheQueryMetricsAdapter.java | 12 +- .../cache/transactions/IgniteTxManager.java | 5 +- .../processors/hadoop/HadoopClassLoader.java | 487 + .../processors/hadoop/HadoopClasspathUtils.java | 424 + .../processors/hadoop/HadoopDefaultJobInfo.java | 156 + .../processors/hadoop/HadoopHelper.java | 55 + .../processors/hadoop/HadoopJobInfo.java | 4 +- .../processors/hadoop/HadoopLocations.java | 123 + .../processors/hadoop/HadoopNoopHelper.java | 66 + .../processors/hadoop/HadoopNoopProcessor.java | 4 +- .../processors/igfs/IgfsDataManager.java | 2 +- .../internal/processors/igfs/IgfsImpl.java | 21 +- .../processors/igfs/IgfsKernalContextAware.java | 32 + .../internal/processors/igfs/IgfsProcessor.java | 17 +- .../processors/job/GridJobProcessor.java | 3 +- .../internal/processors/odbc/OdbcProcessor.java | 1 + .../platform/PlatformAbstractBootstrap.java | 18 +- .../platform/PlatformConfigurationEx.java | 6 + .../platform/PlatformNoopProcessor.java | 10 + .../processors/platform/PlatformProcessor.java | 16 + .../platform/PlatformProcessorImpl.java | 56 + .../callback/PlatformCallbackGateway.java | 45 + .../callback/PlatformCallbackUtils.java | 20 + .../cpp/PlatformCppConfigurationEx.java | 6 + .../dotnet/PlatformDotNetBootstrap.java | 9 + .../PlatformDotNetConfigurationClosure.java | 11 +- .../dotnet/PlatformDotNetConfigurationEx.java | 12 +- .../PlatformDotNetSessionLockProcessor.java | 2 +- .../rest/protocols/tcp/GridTcpRestProtocol.java | 1 + .../session/GridTaskSessionProcessor.java | 9 +- .../processors/task/GridTaskProcessor.java | 3 +- .../processors/task/GridTaskWorker.java | 2 +- .../util/GridBoundedConcurrentOrderedMap.java | 5 + .../ignite/internal/util/IgniteUtils.java | 23 +- .../util/SingleConsumerSpinCircularBuffer.java | 370 + .../ignite/internal/util/StripedExecutor.java | 194 + .../internal/util/ipc/IpcToNioAdapter.java | 2 +- .../nio/GridConnectionBytesVerifyFilter.java | 4 +- .../util/nio/GridNioAsyncNotifyFilter.java | 4 +- .../internal/util/nio/GridNioCodecFilter.java | 6 +- .../ignite/internal/util/nio/GridNioFilter.java | 10 +- .../internal/util/nio/GridNioFilterAdapter.java | 4 +- .../internal/util/nio/GridNioFilterChain.java | 8 +- .../ignite/internal/util/nio/GridNioFuture.java | 4 +- .../util/nio/GridNioRecoveryDescriptor.java | 95 +- .../ignite/internal/util/nio/GridNioServer.java | 863 +- .../internal/util/nio/GridNioSession.java | 11 + .../internal/util/nio/GridNioSessionImpl.java | 19 +- .../util/nio/GridSelectorNioSessionImpl.java | 66 +- .../util/nio/GridTcpNioCommunicationClient.java | 44 +- .../internal/util/nio/SessionWriteRequest.java | 85 + .../internal/util/nio/ssl/GridNioSslFilter.java | 4 +- .../util/nio/ssl/GridNioSslHandler.java | 4 +- .../cache/VisorCacheResetQueryMetricsTask.java | 69 + .../org/apache/ignite/spi/IgniteSpiAdapter.java | 11 + .../org/apache/ignite/spi/IgniteSpiContext.java | 26 +- .../communication/tcp/TcpCommunicationSpi.java | 157 +- .../TcpDiscoveryMulticastIpFinder.java | 3 - .../ignite/stream/socket/SocketStreamer.java | 1 + .../CacheJdbcPojoStoreAbstractSelfTest.java | 55 +- ...heJdbcPojoStoreBinaryMarshallerSelfTest.java | 12 +- .../IgniteClientReconnectCacheTest.java | 35 + ...GridManagerLocalMessageListenerSelfTest.java | 222 + .../GridDiscoveryManagerAliveCacheSelfTest.java | 4 +- .../discovery/GridDiscoveryManagerSelfTest.java | 6 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 13 +- ...ridCacheStoreManagerDeserializationTest.java | 1 + .../GridCacheTtlManagerNotificationTest.java | 107 +- .../cache/GridCacheUtilsSelfTest.java | 64 +- ...calCacheStoreManagerDeserializationTest.java | 2 +- .../IgniteCacheConfigVariationsFullApiTest.java | 7 +- ...niteCacheExpireAndUpdateConsistencyTest.java | 7 + .../GridCacheBinaryObjectsAbstractSelfTest.java | 37 + ...tomicClientOnlyMultiNodeFullApiSelfTest.java | 17 +- ...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 17 +- .../IgniteCacheExpiryPolicyTestSuite.java | 2 + ...eCacheOnlyOneTtlCleanupThreadExistsTest.java | 102 + .../igfs/IgfsAbstractBaseSelfTest.java | 10 +- .../processors/igfs/IgfsAbstractSelfTest.java | 26 +- .../IgfsAtomicPrimaryMultiNodeSelfTest.java | 39 + .../IgfsAtomicPrimaryOffheapTieredSelfTest.java | 39 + .../IgfsAtomicPrimaryOffheapValuesSelfTest.java | 39 + .../igfs/IgfsAtomicPrimarySelfTest.java | 39 + ...SecondaryFileSystemDualAbstractSelfTest.java | 3 +- ...lSecondaryFileSystemProxyClientSelfTest.java | 28 + ...fsLocalSecondaryFileSystemProxySelfTest.java | 272 + .../processors/igfs/IgfsProxySelfTest.java | 2 +- .../nio/impl/GridNioFilterChainSelfTest.java | 18 +- .../loadtests/hashmap/GridCacheTestContext.java | 2 + ...cpCommunicationSpiMultithreadedSelfTest.java | 6 +- ...dTcpCommunicationSpiRecoveryAckSelfTest.java | 6 +- ...CommunicationRecoveryAckClosureSelfTest.java | 6 +- .../tcp/TcpClientDiscoverySpiMulticastTest.java | 2 +- .../spi/discovery/tcp/TcpDiscoverySelfTest.java | 2 +- .../TcpDiscoveryMulticastIpFinderSelfTest.java | 6 +- .../GridInternalTasksLoadBalancingSelfTest.java | 201 + .../testframework/GridSpiTestContext.java | 115 +- .../ignite/testframework/IgniteTestSuite.java | 308 +- .../testframework/junits/GridAbstractTest.java | 53 +- .../ignite/testsuites/IgniteIgfsTestSuite.java | 16 + .../apache/ignite/testsuites/IgniteIgnore.java | 9 +- .../testsuites/IgniteIgnoredTestSuite.java | 63 - .../IgniteSpiLoadBalancingSelfTestSuite.java | 34 +- .../ignite/testsuites/IgniteSpiTestSuite.java | 6 +- .../hadoop/fs/BasicHadoopFileSystemFactory.java | 125 +- .../fs/CachingHadoopFileSystemFactory.java | 54 +- .../hadoop/fs/HadoopFileSystemFactory.java | 11 +- .../fs/IgniteHadoopFileSystemCounterWriter.java | 79 +- .../fs/IgniteHadoopIgfsSecondaryFileSystem.java | 402 +- .../fs/KerberosHadoopFileSystemFactory.java | 77 +- .../hadoop/fs/v1/IgniteHadoopFileSystem.java | 47 +- .../hadoop/fs/v2/IgniteHadoopFileSystem.java | 47 +- .../IgniteHadoopClientProtocolProvider.java | 11 +- .../mapreduce/IgniteHadoopMapReducePlanner.java | 22 +- .../IgniteHadoopWeightedMapReducePlanner.java | 4 +- .../ignite/hadoop/util/UserNameMapper.java | 4 +- .../processors/hadoop/HadoopClassLoader.java | 964 -- .../processors/hadoop/HadoopClasspathMain.java | 44 - .../processors/hadoop/HadoopClasspathUtils.java | 461 - .../processors/hadoop/HadoopCommonUtils.java | 154 + .../processors/hadoop/HadoopContext.java | 1 - .../processors/hadoop/HadoopDefaultJobInfo.java | 156 - .../processors/hadoop/HadoopExternalSplit.java | 88 + .../processors/hadoop/HadoopHelperImpl.java | 120 + .../processors/hadoop/HadoopLocations.java | 123 - .../hadoop/HadoopMapReduceCounterGroup.java | 123 - .../hadoop/HadoopMapReduceCounters.java | 228 - .../processors/hadoop/HadoopProcessor.java | 32 +- .../processors/hadoop/HadoopSplitWrapper.java | 119 + .../internal/processors/hadoop/HadoopUtils.java | 443 - .../hadoop/counter/HadoopCounterAdapter.java | 1 + .../counter/HadoopPerformanceCounter.java | 12 +- .../hadoop/delegate/HadoopDelegateUtils.java | 138 + .../HadoopFileSystemCounterWriterDelegate.java | 36 + .../HadoopFileSystemFactoryDelegate.java | 36 + .../HadoopIgfsSecondaryFileSystemDelegate.java | 28 + .../hadoop/fs/HadoopFileSystemCacheUtils.java | 242 - .../hadoop/fs/HadoopFileSystemsUtils.java | 51 - .../hadoop/fs/HadoopLazyConcurrentMap.java | 212 - .../hadoop/fs/HadoopLocalFileSystemV1.java | 39 - .../hadoop/fs/HadoopLocalFileSystemV2.java | 88 - .../processors/hadoop/fs/HadoopParameters.java | 94 - .../hadoop/fs/HadoopRawLocalFileSystem.java | 314 - .../processors/hadoop/igfs/HadoopIgfs.java | 202 - .../igfs/HadoopIgfsCommunicationException.java | 57 - .../processors/hadoop/igfs/HadoopIgfsEx.java | 93 - .../hadoop/igfs/HadoopIgfsFuture.java | 97 - .../hadoop/igfs/HadoopIgfsInProc.java | 510 - .../hadoop/igfs/HadoopIgfsInputStream.java | 629 - .../processors/hadoop/igfs/HadoopIgfsIo.java | 76 - .../processors/hadoop/igfs/HadoopIgfsIpcIo.java | 624 - .../hadoop/igfs/HadoopIgfsIpcIoListener.java | 36 - .../hadoop/igfs/HadoopIgfsJclLogger.java | 116 - .../hadoop/igfs/HadoopIgfsOutProc.java | 524 - .../hadoop/igfs/HadoopIgfsOutputStream.java | 201 - .../hadoop/igfs/HadoopIgfsProperties.java | 86 - .../hadoop/igfs/HadoopIgfsProxyInputStream.java | 337 - .../igfs/HadoopIgfsProxyOutputStream.java | 165 - ...fsSecondaryFileSystemPositionedReadable.java | 105 - .../hadoop/igfs/HadoopIgfsStreamDelegate.java | 96 - .../igfs/HadoopIgfsStreamEventListener.java | 39 - .../processors/hadoop/igfs/HadoopIgfsUtils.java | 174 - .../hadoop/igfs/HadoopIgfsWrapper.java | 552 - .../impl/HadoopMapReduceCounterGroup.java | 124 + .../hadoop/impl/HadoopMapReduceCounters.java | 229 + .../processors/hadoop/impl/HadoopUtils.java | 328 + .../HadoopBasicFileSystemFactoryDelegate.java | 164 + .../HadoopCachingFileSystemFactoryDelegate.java | 75 + .../HadoopDefaultFileSystemFactoryDelegate.java | 62 + ...doopFileSystemCounterWriterDelegateImpl.java | 108 + ...doopIgfsSecondaryFileSystemDelegateImpl.java | 472 + ...HadoopKerberosFileSystemFactoryDelegate.java | 112 + .../impl/fs/HadoopFileSystemCacheUtils.java | 243 + .../hadoop/impl/fs/HadoopFileSystemsUtils.java | 51 + .../hadoop/impl/fs/HadoopLazyConcurrentMap.java | 210 + .../hadoop/impl/fs/HadoopLocalFileSystemV1.java | 40 + .../hadoop/impl/fs/HadoopLocalFileSystemV2.java | 89 + .../hadoop/impl/fs/HadoopParameters.java | 94 + .../impl/fs/HadoopRawLocalFileSystem.java | 315 + .../processors/hadoop/impl/igfs/HadoopIgfs.java | 203 + .../igfs/HadoopIgfsCommunicationException.java | 57 + .../hadoop/impl/igfs/HadoopIgfsEx.java | 94 + .../hadoop/impl/igfs/HadoopIgfsFuture.java | 97 + .../hadoop/impl/igfs/HadoopIgfsInProc.java | 511 + .../hadoop/impl/igfs/HadoopIgfsInputStream.java | 630 + .../hadoop/impl/igfs/HadoopIgfsIo.java | 76 + .../hadoop/impl/igfs/HadoopIgfsIpcIo.java | 625 + .../impl/igfs/HadoopIgfsIpcIoListener.java | 36 + .../hadoop/impl/igfs/HadoopIgfsJclLogger.java | 116 + .../hadoop/impl/igfs/HadoopIgfsOutProc.java | 525 + .../impl/igfs/HadoopIgfsOutputStream.java | 202 + .../hadoop/impl/igfs/HadoopIgfsProperties.java | 87 + .../impl/igfs/HadoopIgfsProxyInputStream.java | 338 + .../impl/igfs/HadoopIgfsProxyOutputStream.java | 166 + ...fsSecondaryFileSystemPositionedReadable.java | 106 + .../impl/igfs/HadoopIgfsStreamDelegate.java | 96 + .../igfs/HadoopIgfsStreamEventListener.java | 39 + .../hadoop/impl/igfs/HadoopIgfsUtils.java | 175 + .../hadoop/impl/igfs/HadoopIgfsWrapper.java | 554 + .../hadoop/impl/proto/HadoopClientProtocol.java | 354 + .../hadoop/impl/v1/HadoopV1CleanupTask.java | 65 + .../hadoop/impl/v1/HadoopV1Counter.java | 107 + .../hadoop/impl/v1/HadoopV1MapTask.java | 122 + .../hadoop/impl/v1/HadoopV1OutputCollector.java | 138 + .../hadoop/impl/v1/HadoopV1Partitioner.java | 44 + .../hadoop/impl/v1/HadoopV1ReduceTask.java | 101 + .../hadoop/impl/v1/HadoopV1Reporter.java | 81 + .../hadoop/impl/v1/HadoopV1SetupTask.java | 57 + .../hadoop/impl/v1/HadoopV1Splitter.java | 103 + .../processors/hadoop/impl/v1/HadoopV1Task.java | 98 + .../processors/hadoop/impl/v2/HadoopDaemon.java | 126 + .../impl/v2/HadoopSerializationWrapper.java | 139 + .../impl/v2/HadoopShutdownHookManager.java | 98 + .../hadoop/impl/v2/HadoopV2CleanupTask.java | 73 + .../hadoop/impl/v2/HadoopV2Context.java | 244 + .../hadoop/impl/v2/HadoopV2Counter.java | 89 + .../processors/hadoop/impl/v2/HadoopV2Job.java | 452 + .../impl/v2/HadoopV2JobResourceManager.java | 324 + .../hadoop/impl/v2/HadoopV2MapTask.java | 99 + .../hadoop/impl/v2/HadoopV2Partitioner.java | 44 + .../hadoop/impl/v2/HadoopV2ReduceTask.java | 91 + .../hadoop/impl/v2/HadoopV2SetupTask.java | 66 + .../hadoop/impl/v2/HadoopV2Splitter.java | 112 + .../processors/hadoop/impl/v2/HadoopV2Task.java | 186 + .../hadoop/impl/v2/HadoopV2TaskContext.java | 563 + .../impl/v2/HadoopWritableSerialization.java | 76 + .../hadoop/jobtracker/HadoopJobTracker.java | 23 +- .../planner/HadoopDefaultMapReducePlan.java | 7 +- .../hadoop/proto/HadoopClientProtocol.java | 349 - .../child/HadoopChildProcessRunner.java | 16 +- .../HadoopExternalCommunication.java | 5 +- .../communication/HadoopIpcToNioAdapter.java | 2 +- .../communication/HadoopMarshallerFilter.java | 4 +- .../hadoop/v1/HadoopV1CleanupTask.java | 64 - .../processors/hadoop/v1/HadoopV1Counter.java | 106 - .../processors/hadoop/v1/HadoopV1MapTask.java | 122 - .../hadoop/v1/HadoopV1OutputCollector.java | 137 - .../hadoop/v1/HadoopV1Partitioner.java | 44 - .../hadoop/v1/HadoopV1ReduceTask.java | 101 - .../processors/hadoop/v1/HadoopV1Reporter.java | 81 - .../processors/hadoop/v1/HadoopV1SetupTask.java | 56 - .../processors/hadoop/v1/HadoopV1Splitter.java | 102 - .../processors/hadoop/v1/HadoopV1Task.java | 97 - .../processors/hadoop/v2/HadoopDaemon.java | 126 - .../hadoop/v2/HadoopExternalSplit.java | 89 - .../hadoop/v2/HadoopSerializationWrapper.java | 138 - .../hadoop/v2/HadoopShutdownHookManager.java | 98 - .../hadoop/v2/HadoopSplitWrapper.java | 119 - .../hadoop/v2/HadoopV2CleanupTask.java | 72 - .../processors/hadoop/v2/HadoopV2Context.java | 243 - .../processors/hadoop/v2/HadoopV2Counter.java | 88 - .../processors/hadoop/v2/HadoopV2Job.java | 445 - .../hadoop/v2/HadoopV2JobResourceManager.java | 323 - .../processors/hadoop/v2/HadoopV2MapTask.java | 99 - .../hadoop/v2/HadoopV2Partitioner.java | 44 - .../hadoop/v2/HadoopV2ReduceTask.java | 91 - .../processors/hadoop/v2/HadoopV2SetupTask.java | 65 - .../processors/hadoop/v2/HadoopV2Splitter.java | 111 - .../processors/hadoop/v2/HadoopV2Task.java | 185 - .../hadoop/v2/HadoopV2TaskContext.java | 560 - .../hadoop/v2/HadoopWritableSerialization.java | 75 - .../HadoopClientProtocolEmbeddedSelfTest.java | 35 - .../hadoop/HadoopClientProtocolSelfTest.java | 654 - .../hadoop/cache/HadoopTxConfigCacheTest.java | 42 - ...KerberosHadoopFileSystemFactorySelfTest.java | 121 - .../util/BasicUserNameMapperSelfTest.java | 133 - .../util/ChainedUserNameMapperSelfTest.java | 107 - .../util/KerberosUserNameMapperSelfTest.java | 99 - .../ignite/igfs/Hadoop1DualAbstractTest.java | 158 - .../igfs/Hadoop1OverIgfsDualAsyncTest.java | 30 - .../igfs/Hadoop1OverIgfsDualSyncTest.java | 30 - .../igfs/HadoopFIleSystemFactorySelfTest.java | 317 - .../HadoopIgfs20FileSystemAbstractSelfTest.java | 2040 --- ...Igfs20FileSystemLoopbackPrimarySelfTest.java | 74 - ...oopIgfs20FileSystemShmemPrimarySelfTest.java | 74 - .../igfs/HadoopIgfsDualAbstractSelfTest.java | 321 - .../igfs/HadoopIgfsDualAsyncSelfTest.java | 32 - .../ignite/igfs/HadoopIgfsDualSyncSelfTest.java | 32 - ...adoopIgfsSecondaryFileSystemTestAdapter.java | 149 - ...oopSecondaryFileSystemConfigurationTest.java | 575 - .../apache/ignite/igfs/IgfsEventsTestSuite.java | 285 - .../igfs/IgfsNearOnlyMultiNodeSelfTest.java | 223 - .../IgniteHadoopFileSystemAbstractSelfTest.java | 2432 --- .../IgniteHadoopFileSystemClientSelfTest.java | 212 - ...IgniteHadoopFileSystemHandshakeSelfTest.java | 389 - .../IgniteHadoopFileSystemIpcCacheSelfTest.java | 214 - .../IgniteHadoopFileSystemLoggerSelfTest.java | 298 - ...niteHadoopFileSystemLoggerStateSelfTest.java | 329 - ...adoopFileSystemLoopbackAbstractSelfTest.java | 46 - ...SystemLoopbackEmbeddedDualAsyncSelfTest.java | 33 - ...eSystemLoopbackEmbeddedDualSyncSelfTest.java | 33 - ...leSystemLoopbackEmbeddedPrimarySelfTest.java | 33 - ...SystemLoopbackEmbeddedSecondarySelfTest.java | 34 - ...SystemLoopbackExternalDualAsyncSelfTest.java | 33 - ...eSystemLoopbackExternalDualSyncSelfTest.java | 33 - ...leSystemLoopbackExternalPrimarySelfTest.java | 33 - ...SystemLoopbackExternalSecondarySelfTest.java | 34 - ...condaryFileSystemInitializationSelfTest.java | 214 - ...teHadoopFileSystemShmemAbstractSelfTest.java | 91 - ...ileSystemShmemEmbeddedDualAsyncSelfTest.java | 33 - ...FileSystemShmemEmbeddedDualSyncSelfTest.java | 33 - ...pFileSystemShmemEmbeddedPrimarySelfTest.java | 33 - ...ileSystemShmemEmbeddedSecondarySelfTest.java | 33 - ...ileSystemShmemExternalDualAsyncSelfTest.java | 33 - ...FileSystemShmemExternalDualSyncSelfTest.java | 33 - ...pFileSystemShmemExternalPrimarySelfTest.java | 33 - ...ileSystemShmemExternalSecondarySelfTest.java | 33 - .../hadoop/HadoopAbstractMapReduceTest.java | 429 - .../hadoop/HadoopAbstractSelfTest.java | 239 - .../hadoop/HadoopAbstractWordCountTest.java | 175 - .../hadoop/HadoopClassLoaderTest.java | 110 - .../hadoop/HadoopCommandLineTest.java | 474 - .../HadoopDefaultMapReducePlannerSelfTest.java | 615 - .../processors/hadoop/HadoopErrorSimulator.java | 326 - .../hadoop/HadoopFileSystemsTest.java | 155 - .../processors/hadoop/HadoopGroupingTest.java | 307 - .../hadoop/HadoopJobTrackerSelfTest.java | 345 - .../hadoop/HadoopMapReduceEmbeddedSelfTest.java | 253 - .../HadoopMapReduceErrorResilienceTest.java | 154 - .../processors/hadoop/HadoopMapReduceTest.java | 66 - .../hadoop/HadoopNoHadoopMapReduceTest.java | 47 - .../processors/hadoop/HadoopPlannerMockJob.java | 168 - .../hadoop/HadoopPopularWordsTest.java | 298 - .../HadoopSerializationWrapperSelfTest.java | 79 - .../processors/hadoop/HadoopSharedMap.java | 1 + .../hadoop/HadoopSnappyFullMapReduceTest.java | 36 - .../processors/hadoop/HadoopSnappyTest.java | 102 - .../hadoop/HadoopSortingExternalTest.java | 46 - .../processors/hadoop/HadoopSortingTest.java | 303 - .../hadoop/HadoopSplitWrapperSelfTest.java | 72 - .../processors/hadoop/HadoopStartup.java | 54 - .../hadoop/HadoopTaskExecutionSelfTest.java | 567 - .../hadoop/HadoopTasksAllVersionsTest.java | 260 - .../processors/hadoop/HadoopTasksV1Test.java | 58 - .../processors/hadoop/HadoopTasksV2Test.java | 77 - .../hadoop/HadoopTestClassLoader.java | 106 + .../hadoop/HadoopTestRoundRobinMrPlanner.java | 71 - .../hadoop/HadoopTestTaskContext.java | 228 - .../processors/hadoop/HadoopTestUtils.java | 178 - .../hadoop/HadoopUserLibsSelfTest.java | 260 - .../processors/hadoop/HadoopV2JobSelfTest.java | 100 - .../hadoop/HadoopValidationSelfTest.java | 53 - .../HadoopWeightedMapReducePlannerTest.java | 599 - .../HadoopWeightedPlannerMapReduceTest.java | 38 - .../hadoop/books/alice-in-wonderland.txt | 3735 ----- .../processors/hadoop/books/art-of-war.txt | 6982 --------- .../hadoop/books/huckleberry-finn.txt | 11733 --------------- .../processors/hadoop/books/sherlock-holmes.txt | 13052 ----------------- .../processors/hadoop/books/tom-sawyer.txt | 8858 ----------- .../hadoop/deps/CircularWIthHadoop.java | 32 - .../hadoop/deps/CircularWithoutHadoop.java | 27 - .../processors/hadoop/deps/WithCast.java | 41 - .../hadoop/deps/WithClassAnnotation.java | 28 - .../hadoop/deps/WithConstructorInvocation.java | 31 - .../processors/hadoop/deps/WithExtends.java | 27 - .../processors/hadoop/deps/WithField.java | 29 - .../processors/hadoop/deps/WithImplements.java | 36 - .../hadoop/deps/WithIndirectField.java | 27 - .../processors/hadoop/deps/WithInitializer.java | 33 - .../processors/hadoop/deps/WithInnerClass.java | 31 - .../hadoop/deps/WithLocalVariable.java | 38 - .../hadoop/deps/WithMethodAnnotation.java | 32 - .../hadoop/deps/WithMethodArgument.java | 31 - .../hadoop/deps/WithMethodCheckedException.java | 31 - .../hadoop/deps/WithMethodInvocation.java | 31 - .../hadoop/deps/WithMethodReturnType.java | 31 - .../hadoop/deps/WithMethodRuntimeException.java | 31 - .../processors/hadoop/deps/WithOuterClass.java | 38 - .../hadoop/deps/WithParameterAnnotation.java | 31 - .../processors/hadoop/deps/WithStaticField.java | 29 - .../hadoop/deps/WithStaticInitializer.java | 34 - .../processors/hadoop/deps/Without.java | 25 - .../hadoop/examples/HadoopWordCount1.java | 94 - .../hadoop/examples/HadoopWordCount1Map.java | 79 - .../hadoop/examples/HadoopWordCount1Reduce.java | 61 - .../hadoop/examples/HadoopWordCount2.java | 111 - .../examples/HadoopWordCount2Combiner.java | 45 - .../hadoop/examples/HadoopWordCount2Mapper.java | 88 - .../examples/HadoopWordCount2Reducer.java | 113 - .../impl/HadoopAbstractMapReduceTest.java | 430 + .../hadoop/impl/HadoopAbstractSelfTest.java | 239 + .../impl/HadoopAbstractWordCountTest.java | 175 + .../hadoop/impl/HadoopCommandLineTest.java | 476 + .../HadoopDefaultMapReducePlannerSelfTest.java | 619 + .../hadoop/impl/HadoopErrorSimulator.java | 326 + .../hadoop/impl/HadoopFileSystemsTest.java | 155 + .../hadoop/impl/HadoopGroupingTest.java | 302 + .../hadoop/impl/HadoopJobTrackerSelfTest.java | 334 + .../impl/HadoopMapReduceEmbeddedSelfTest.java | 249 + .../HadoopMapReduceErrorResilienceTest.java | 154 + .../hadoop/impl/HadoopMapReduceTest.java | 66 + .../impl/HadoopNoHadoopMapReduceTest.java | 47 + .../hadoop/impl/HadoopPlannerMockJob.java | 175 + .../hadoop/impl/HadoopPopularWordsTest.java | 298 + .../HadoopSerializationWrapperSelfTest.java | 80 + .../impl/HadoopSnappyFullMapReduceTest.java | 36 + .../hadoop/impl/HadoopSnappyTest.java | 104 + .../hadoop/impl/HadoopSortingExternalTest.java | 46 + .../hadoop/impl/HadoopSortingTest.java | 304 + .../hadoop/impl/HadoopSplitWrapperSelfTest.java | 72 + .../processors/hadoop/impl/HadoopStartup.java | 54 + .../impl/HadoopTaskExecutionSelfTest.java | 550 + .../hadoop/impl/HadoopTasksAllVersionsTest.java | 264 + .../hadoop/impl/HadoopTasksV1Test.java | 62 + .../hadoop/impl/HadoopTasksV2Test.java | 81 + .../impl/HadoopTestRoundRobinMrPlanner.java | 75 + .../hadoop/impl/HadoopTestTaskContext.java | 233 + .../processors/hadoop/impl/HadoopTestUtils.java | 178 + .../hadoop/impl/HadoopTxConfigCacheTest.java | 42 + .../hadoop/impl/HadoopUserLibsSelfTest.java | 261 + .../hadoop/impl/HadoopV2JobSelfTest.java | 108 + .../hadoop/impl/HadoopValidationSelfTest.java | 53 + .../HadoopWeightedMapReducePlannerTest.java | 602 + .../HadoopWeightedPlannerMapReduceTest.java | 38 + .../hadoop/impl/books/alice-in-wonderland.txt | 3735 +++++ .../processors/hadoop/impl/books/art-of-war.txt | 6982 +++++++++ .../hadoop/impl/books/huckleberry-finn.txt | 11733 +++++++++++++++ .../hadoop/impl/books/sherlock-holmes.txt | 13052 +++++++++++++++++ .../processors/hadoop/impl/books/tom-sawyer.txt | 8858 +++++++++++ .../HadoopClientProtocolEmbeddedSelfTest.java | 35 + .../client/HadoopClientProtocolSelfTest.java | 654 + .../hadoop/impl/examples/HadoopWordCount1.java | 94 + .../impl/examples/HadoopWordCount1Map.java | 79 + .../impl/examples/HadoopWordCount1Reduce.java | 61 + .../hadoop/impl/examples/HadoopWordCount2.java | 111 + .../impl/examples/HadoopWordCount2Combiner.java | 45 + .../impl/examples/HadoopWordCount2Mapper.java | 88 + .../impl/examples/HadoopWordCount2Reducer.java | 113 + ...KerberosHadoopFileSystemFactorySelfTest.java | 126 + .../impl/igfs/Hadoop1DualAbstractTest.java | 157 + .../impl/igfs/Hadoop1OverIgfsDualAsyncTest.java | 32 + .../impl/igfs/Hadoop1OverIgfsDualSyncTest.java | 32 + .../igfs/HadoopFIleSystemFactorySelfTest.java | 345 + .../HadoopIgfs20FileSystemAbstractSelfTest.java | 2047 +++ ...Igfs20FileSystemLoopbackPrimarySelfTest.java | 77 + ...oopIgfs20FileSystemShmemPrimarySelfTest.java | 77 + .../igfs/HadoopIgfsDualAbstractSelfTest.java | 328 + .../impl/igfs/HadoopIgfsDualAsyncSelfTest.java | 32 + .../impl/igfs/HadoopIgfsDualSyncSelfTest.java | 32 + ...adoopIgfsSecondaryFileSystemTestAdapter.java | 153 + ...oopSecondaryFileSystemConfigurationTest.java | 583 + .../hadoop/impl/igfs/IgfsEventsTestSuite.java | 289 + .../igfs/IgfsNearOnlyMultiNodeSelfTest.java | 226 + .../IgniteHadoopFileSystemAbstractSelfTest.java | 2435 +++ .../IgniteHadoopFileSystemClientSelfTest.java | 216 + ...IgniteHadoopFileSystemHandshakeSelfTest.java | 393 + .../IgniteHadoopFileSystemIpcCacheSelfTest.java | 215 + .../IgniteHadoopFileSystemLoggerSelfTest.java | 299 + ...niteHadoopFileSystemLoggerStateSelfTest.java | 332 + ...adoopFileSystemLoopbackAbstractSelfTest.java | 50 + ...SystemLoopbackEmbeddedDualAsyncSelfTest.java | 33 + ...eSystemLoopbackEmbeddedDualSyncSelfTest.java | 33 + ...leSystemLoopbackEmbeddedPrimarySelfTest.java | 33 + ...SystemLoopbackEmbeddedSecondarySelfTest.java | 34 + ...SystemLoopbackExternalDualAsyncSelfTest.java | 33 + ...eSystemLoopbackExternalDualSyncSelfTest.java | 33 + ...leSystemLoopbackExternalPrimarySelfTest.java | 33 + ...SystemLoopbackExternalSecondarySelfTest.java | 34 + ...condaryFileSystemInitializationSelfTest.java | 217 + ...teHadoopFileSystemShmemAbstractSelfTest.java | 94 + ...ileSystemShmemEmbeddedDualAsyncSelfTest.java | 33 + ...FileSystemShmemEmbeddedDualSyncSelfTest.java | 33 + ...pFileSystemShmemEmbeddedPrimarySelfTest.java | 33 + ...ileSystemShmemEmbeddedSecondarySelfTest.java | 33 + ...ileSystemShmemExternalDualAsyncSelfTest.java | 33 + ...FileSystemShmemExternalDualSyncSelfTest.java | 33 + ...pFileSystemShmemExternalPrimarySelfTest.java | 33 + ...ileSystemShmemExternalSecondarySelfTest.java | 33 + .../collections/HadoopAbstractMapTest.java | 175 + .../HadoopConcurrentHashMultimapSelftest.java | 280 + .../collections/HadoopHashMapSelfTest.java | 133 + .../collections/HadoopSkipListSelfTest.java | 320 + .../streams/HadoopDataStreamSelfTest.java | 153 + .../taskexecutor/HadoopExecutorServiceTest.java | 119 + .../HadoopExternalTaskExecutionSelfTest.java | 232 + .../HadoopExternalCommunicationSelfTest.java | 222 + .../impl/util/BasicUserNameMapperSelfTest.java | 134 + .../util/ChainedUserNameMapperSelfTest.java | 111 + .../util/KerberosUserNameMapperSelfTest.java | 100 + .../collections/HadoopAbstractMapTest.java | 174 - .../HadoopConcurrentHashMultimapSelftest.java | 278 - .../collections/HadoopHashMapSelfTest.java | 131 - .../collections/HadoopSkipListSelfTest.java | 318 - .../streams/HadoopDataStreamSelfTest.java | 150 - .../hadoop/state/HadoopGroupingTestState.java | 40 + .../state/HadoopJobTrackerSelfTestState.java | 45 + .../HadoopMapReduceEmbeddedSelfTestState.java | 32 + .../HadoopTaskExecutionSelfTestValues.java | 51 + .../taskexecutor/HadoopExecutorServiceTest.java | 118 - .../HadoopExternalTaskExecutionSelfTest.java | 232 - .../HadoopExternalCommunicationSelfTest.java | 220 - .../testsuites/IgniteHadoopTestSuite.java | 114 +- .../IgniteIgfsLinuxAndMacOSTestSuite.java | 25 +- modules/ignored-tests/README.txt | 4 + modules/ignored-tests/pom.xml | 233 + .../testsuites/IgniteIgnoredTestSuite.java | 57 + .../apache/ignite/testsuites/package-info.java | 22 + .../CacheAbstractQueryMetricsSelfTest.java | 6 +- .../stream/jms11/IgniteJmsStreamerTest.java | 206 +- .../jms11/IgniteJmsStreamerTestSuite.java | 2 +- ...titionedCacheJtaLookupClassNameSelfTest.java | 4 +- .../ignite/testsuites/IgniteJtaTestSuite.java | 3 +- .../cpp/jni/include/ignite/jni/exports.h | 2 + .../platforms/cpp/jni/include/ignite/jni/java.h | 13 + modules/platforms/cpp/jni/project/vs/module.def | 3 +- modules/platforms/cpp/jni/src/exports.cpp | 12 +- modules/platforms/cpp/jni/src/java.cpp | 72 +- modules/platforms/cpp/odbc-test/Makefile.am | 1 + .../cpp/odbc-test/include/test_utils.h | 8 + .../cpp/odbc-test/project/vs/odbc-test.vcxproj | 1 + .../project/vs/odbc-test.vcxproj.filters | 3 + .../cpp/odbc-test/src/api_robustness_test.cpp | 1006 ++ .../src/application_data_buffer_test.cpp | 129 +- .../platforms/cpp/odbc-test/src/column_test.cpp | 10 +- .../cpp/odbc-test/src/queries_test.cpp | 143 +- .../platforms/cpp/odbc-test/src/row_test.cpp | 4 +- modules/platforms/cpp/odbc/Makefile.am | 3 +- .../platforms/cpp/odbc/include/ignite/odbc.h | 6 +- .../ignite/odbc/app/application_data_buffer.h | 58 +- .../odbc/include/ignite/odbc/app/parameter.h | 27 +- .../cpp/odbc/include/ignite/odbc/common_types.h | 26 +- .../include/ignite/odbc/config/configuration.h | 17 +- .../cpp/odbc/include/ignite/odbc/statement.h | 58 +- .../platforms/cpp/odbc/project/vs/module.def | 1 - .../platforms/cpp/odbc/project/vs/odbc.vcxproj | 2 +- .../odbc/src/app/application_data_buffer.cpp | 343 +- .../platforms/cpp/odbc/src/app/parameter.cpp | 126 +- modules/platforms/cpp/odbc/src/common_types.cpp | 3 + .../cpp/odbc/src/config/configuration.cpp | 27 + .../cpp/odbc/src/config/connection_info.cpp | 35 +- modules/platforms/cpp/odbc/src/connection.cpp | 2 +- .../odbc/src/diagnostic/diagnostic_record.cpp | 18 + modules/platforms/cpp/odbc/src/entry_points.cpp | 49 +- modules/platforms/cpp/odbc/src/odbc.cpp | 240 +- modules/platforms/cpp/odbc/src/statement.cpp | 152 +- .../IgniteSessionStateStoreProviderTest.cs | 13 + .../IgniteOutputCacheProvider.cs | 2 +- .../IgniteSessionStateStoreProvider.cs | 8 +- .../Apache.Ignite.AspNet/Impl/ConfigUtil.cs | 13 +- .../Impl/IgniteSessionStateItemCollection.cs | 4 +- .../Apache.Ignite.Core.Tests.NuGet.csproj | 28 +- .../Log4NetTest.cs | 87 + .../Apache.Ignite.Core.Tests.NuGet/NLogTest.cs | 82 + .../packages.config | 15 +- .../Apache.Ignite.Core.Tests.csproj | 30 +- .../Binary/BinaryStringTest.cs | 26 +- .../Compute/ComputeApiTest.cs | 26 + .../Config/Log/custom-log.xml | 50 + .../Config/Log/dotnet-log4j.xml | 143 + .../IgniteConfigurationSerializerTest.cs | 35 +- .../Log/CustomLoggerTest.cs | 430 + .../Log/DefaultLoggerTest.cs | 114 + .../Log/Log4NetLoggerTest.cs | 188 + .../Log/NLogLoggerTest.cs | 166 + .../ProjectFilesTest.cs | 37 +- .../Apache.Ignite.Core.Tests/TestUtils.cs | 26 + .../Apache.Ignite.Core.Tests/packages.config | 24 + .../Apache.Ignite.Core.csproj | 6 +- .../Cache/Configuration/CacheConfiguration.cs | 19 +- .../Cache/Configuration/QueryEntity.cs | 25 +- .../Cache/Configuration/QueryField.cs | 19 +- .../Apache.Ignite.Core/Cluster/IClusterGroup.cs | 14 + .../Apache.Ignite.Core/Common/JavaException.cs | 1 + .../Apache.Ignite.Core/Compute/ICompute.cs | 6 +- .../dotnet/Apache.Ignite.Core/IIgnite.cs | 8 + .../Apache.Ignite.Core/IgniteConfiguration.cs | 91 + .../IgniteConfigurationSection.xsd | 12 + .../dotnet/Apache.Ignite.Core/Ignition.cs | 39 +- .../Apache.Ignite.Core/Impl/Binary/JavaTypes.cs | 29 +- .../Impl/Cluster/ClusterGroupImpl.cs | 6 + .../Common/IgniteConfigurationXmlSerializer.cs | 21 +- .../Apache.Ignite.Core/Impl/Common/Logger.cs | 37 - .../Impl/Compute/ComputeFunc.cs | 5 +- .../Impl/Compute/ComputeJob.cs | 10 +- .../Impl/Compute/ComputeOutFunc.cs | 5 +- .../dotnet/Apache.Ignite.Core/Impl/Ignite.cs | 19 +- .../Apache.Ignite.Core/Impl/IgniteManager.cs | 6 +- .../Apache.Ignite.Core/Impl/IgniteProxy.cs | 13 + .../Apache.Ignite.Core/Impl/IgniteUtils.cs | 26 +- .../Apache.Ignite.Core/Impl/Log/JavaLogger.cs | 110 + .../Impl/Unmanaged/IgniteJniNativeMethods.cs | 7 + .../Impl/Unmanaged/UnmanagedCallbackHandlers.cs | 3 + .../Impl/Unmanaged/UnmanagedCallbacks.cs | 83 +- .../Impl/Unmanaged/UnmanagedUtils.cs | 27 +- .../Apache.Ignite.Core/Log/CategoryLogger.cs | 82 + .../dotnet/Apache.Ignite.Core/Log/ILogger.cs | 51 + .../dotnet/Apache.Ignite.Core/Log/LogLevel.cs | 53 + .../Apache.Ignite.Core/Log/LoggerExtensions.cs | 320 + .../NuGet/LINQPad/PutGetExample.linq | 2 +- .../NuGet/LINQPad/QueryExample.linq | 6 +- .../NuGet/LINQPad/QueryExample.linq | 4 +- .../Apache.Ignite.Log4Net.csproj | 76 + .../Apache.Ignite.Log4Net.nuspec | 50 + .../Apache.Ignite.Log4Net.snk | Bin 0 -> 596 bytes .../IgniteLog4NetLogger.cs | 123 + .../Properties/AssemblyInfo.cs | 40 + .../Apache.Ignite.Log4Net/packages.config | 20 + .../Apache.Ignite.NLog.csproj | 74 + .../Apache.Ignite.NLog.nuspec | 50 + .../Apache.Ignite.NLog/Apache.Ignite.NLog.snk | Bin 0 -> 596 bytes .../Apache.Ignite.NLog/IgniteNLogLogger.cs | 125 + .../Properties/AssemblyInfo.cs | 40 + .../dotnet/Apache.Ignite.NLog/packages.config | 4 + modules/platforms/dotnet/Apache.Ignite.sln | 28 + .../Events/LocalListener.cs | 2 +- .../parser/dialect/JdbcMetadataDialect.java | 4 +- .../p2p/GridP2PUserVersionChangeSelfTest.java | 7 +- .../testsuites/IgniteResourceSelfTestSuite.java | 11 +- .../testsuites/IgniteSpringTestSuite.java | 15 +- modules/web-console/DEVNOTES.txt | 25 +- modules/web-console/backend/.babelrc | 9 - modules/web-console/backend/.eslintrc | 4 +- modules/web-console/backend/.gitignore | 2 - modules/web-console/backend/app/agent.js | 66 +- modules/web-console/backend/app/app.js | 2 + modules/web-console/backend/app/browser.js | 41 +- modules/web-console/backend/app/index.js | 116 - modules/web-console/backend/app/mongo.js | 7 +- modules/web-console/backend/app/mongoose.js | 29 + modules/web-console/backend/app/settings.js | 10 +- .../backend/errors/AuthFailedException.js | 2 +- .../backend/errors/DuplicateKeyException.js | 2 +- .../backend/errors/IllegalAccessError.js | 4 +- .../backend/errors/IllegalArgumentException.js | 2 +- .../backend/errors/MissingResourceException.js | 2 +- modules/web-console/backend/errors/index.js | 14 +- modules/web-console/backend/index.js | 89 +- modules/web-console/backend/injector.js | 2 +- modules/web-console/backend/package.json | 23 +- modules/web-console/backend/routes/demo.js | 8 +- modules/web-console/backend/routes/public.js | 69 +- modules/web-console/backend/services/auth.js | 79 +- modules/web-console/backend/services/domains.js | 2 + modules/web-console/backend/services/mails.js | 16 +- .../web-console/backend/services/sessions.js | 4 +- modules/web-console/backend/test/app/db.js | 66 + .../web-console/backend/test/app/httpAgent.js | 50 + .../web-console/backend/test/app/mockgoose.js | 30 + .../web-console/backend/test/data/accounts.json | 5 +- .../web-console/backend/test/data/caches.json | 30 +- .../web-console/backend/test/data/clusters.json | 10 +- .../web-console/backend/test/data/domains.json | 10 + .../web-console/backend/test/data/igfss.json | 4 +- .../web-console/backend/test/data/spaces.json | 14 + modules/web-console/backend/test/index.js | 35 + modules/web-console/backend/test/injector.js | 43 +- .../web-console/backend/test/routes/clusters.js | 83 + .../web-console/backend/test/routes/public.js | 68 + .../backend/test/unit/AuthService.test.js | 107 + .../backend/test/unit/CacheService.test.js | 20 +- .../backend/test/unit/ClusterService.test.js | 19 +- .../backend/test/unit/DomainService.test.js | 19 +- .../backend/test/unit/IgfsService.test.js | 19 +- modules/web-console/frontend/app/app.config.js | 2 +- modules/web-console/frontend/app/app.js | 27 +- .../frontend/app/data/jdbc-types.json | 44 + .../frontend/app/data/sql-keywords.json | 41 + .../frontend/app/decorator/tooltip.js | 38 +- .../directives/retain-selection.directive.js | 67 + .../ui-ace-pom/ui-ace-pom.controller.js | 4 +- .../frontend/app/helpers/jade/form.jade | 1 + .../helpers/jade/form/form-field-datalist.jade | 8 +- .../helpers/jade/form/form-field-dropdown.jade | 8 +- .../app/helpers/jade/form/form-field-label.jade | 4 +- .../helpers/jade/form/form-field-number.jade | 8 +- .../helpers/jade/form/form-field-password.jade | 47 + .../app/helpers/jade/form/form-field-text.jade | 10 +- .../frontend/app/helpers/jade/mixins.jade | 101 +- .../modules/configuration/Version.service.js | 25 + .../configuration/configuration.module.js | 2 + .../configuration/generator/Pom.service.js | 30 +- .../form/validator/java-identifier.directive.js | 4 +- .../form/validator/java-keywords.directive.js | 6 +- .../validator/java-package-name.directive.js | 4 +- .../java-package-specified.directive.js | 7 +- .../modules/form/validator/uuid.directive.js | 12 +- .../frontend/app/modules/sql/Notebook.data.js | 16 +- .../states/configuration/caches/memory.jade | 5 +- .../states/configuration/caches/query.jade | 12 +- .../configuration/clusters/cache-key-cfg.jade | 2 +- .../configuration/clusters/communication.jade | 2 +- .../states/configuration/clusters/odbc.jade | 47 + .../states/configuration/domains/general.jade | 4 +- .../states/configuration/domains/query.jade | 16 +- .../configuration/summary/summary.controller.js | 24 +- .../app/modules/version/Version.provider.js | 32 - .../app/services/ErrorPopover.service.js | 3 + .../frontend/app/services/JavaTypes.service.js | 163 +- .../app/services/LegacyUtils.service.js | 44 - .../frontend/app/services/SqlTypes.service.js | 67 + .../frontend/controllers/admin-controller.js | 7 +- .../frontend/controllers/caches-controller.js | 14 + .../frontend/controllers/domains-controller.js | 86 +- .../frontend/controllers/profile-controller.js | 5 +- .../frontend/generator/generator-common.js | 19 +- .../frontend/generator/generator-java.js | 89 +- .../frontend/generator/generator-properties.js | 2 +- .../frontend/generator/generator-xml.js | 17 +- .../frontend/public/stylesheets/form-field.scss | 108 + .../frontend/public/stylesheets/style.scss | 1 + .../frontend/test/unit/JavaTypes.test.js | 82 +- .../frontend/test/unit/SqlTypes.test.js | 68 + .../frontend/views/configuration/clusters.jade | 1 + .../views/configuration/domains-import.jade | 116 +- .../IgniteWebSessionSelfTestSuite.java | 68 +- .../WebSessionReplicatedSelfTest.java | 28 + .../WebSessionReplicatedV1SelfTest.java | 28 + .../internal/websession/WebSessionSelfTest.java | 2 + .../WebSessionTransactionalSelfTest.java | 48 + .../WebSessionTransactionalV1SelfTest.java | 28 + .../websession/WebSessionV1SelfTest.java | 28 + .../yardstick/cache/IgniteIoTestBenchmark.java | 73 + .../io/IgniteIoTestAbstractBenchmark.java | 61 + .../io/IgniteIoTestSendAllBenchmark.java | 32 + .../io/IgniteIoTestSendRandomBenchmark.java | 35 + parent/pom.xml | 2 +- pom.xml | 7 + 772 files changed, 91698 insertions(+), 80717 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9bf435c6/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9bf435c6/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9bf435c6/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java index 2a4a2bf,acdba5e..448b3c8 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java @@@ -45,9 -45,7 +45,10 @@@ import java.util.Map import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.ThreadLocalRandom; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; + import java.util.concurrent.locks.LockSupport; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; @@@ -92,8 -89,8 +93,11 @@@ import static org.apache.ignite.interna */ public class GridNioServer<T> { /** */ + public static final String IGNITE_IO_BALANCE_RANDOM_BALANCE = "IGNITE_IO_BALANCE_RANDOM_BALANCER"; + ++ /** */ + private static final boolean DISABLE_PARK = IgniteSystemProperties.getBoolean("DISABLE_PARK", false); + /** Default session write timeout. */ public static final int DFLT_SES_WRITE_TIMEOUT = 5000; @@@ -437,7 -414,7 +456,9 @@@ NioOperationFuture<Boolean> fut = new NioOperationFuture<>(impl, NioOperation.CLOSE); - clientWorkers.get(impl.selectorIndex()).offer(fut, impl.selectorIndex()); + impl.offerStateChange(fut); ++ // TODO ++ // clientWorkers.get(impl.selectorIndex()).offer(fut, impl.selectorIndex()); return fut; } @@@ -634,11 -615,8 +684,11 @@@ * */ public void dumpStats() { + U.warn(log, "NIO server statistics [readerSesBalanceCnt=" + readerMoveCnt.get() + + ", writerSesBalanceCnt=" + writerMoveCnt.get() + ']'); + for (int i = 0; i < clientWorkers.size(); i++) - clientWorkers.get(i).offer(new NioOperationFuture<Void>(null, NioOperation.DUMP_STATS)); + clientWorkers.get(i).offer(new NioOperationFuture<Void>(null, NioOperation.DUMP_STATS), i); } /** @@@ -1354,9 -1428,9 +1502,9 @@@ /** * Thread performing only read operations from the channel. */ - private abstract class AbstractNioClientWorker extends GridWorker { + private abstract class AbstractNioClientWorker extends GridWorker implements GridNioWorker { /** Queue of change requests on this selector. */ - private final ConcurrentLinkedQueue<NioOperationFuture> changeReqs = new ConcurrentLinkedQueue<>(); + private final ConcurrentLinkedQueue<SessionChangeRequest> changeReqs = new ConcurrentLinkedQueue<>(); /** Selector to select read events. */ private Selector selector; @@@ -1367,22 -1441,21 +1515,37 @@@ /** Worker index. */ private final int idx; + /** */ + private long bytesRcvd; + + /** */ + private long bytesSent; + + /** */ + private volatile long bytesRcvd0; + + /** */ + private volatile long bytesSent0; + + /** Sessions assigned to this worker. */ + private final GridConcurrentHashSet<GridSelectorNioSessionImpl> workerSessions = + new GridConcurrentHashSet<>(); + + /** Writer worker flag. */ + final boolean writer; + + /** {@code True} if calls 'selector.select'. */ + private volatile boolean select; + + /** {@code True} if calls 'LockSupport.park'. */ + private volatile boolean park; + + /** Number of sessions which require writes. */ + protected int writeSesCnt; + + /** */ + protected int pendingAcks; + /** * @param idx Index of this worker in server's array. * @param gridName Grid name. @@@ -1475,41 -1550,21 +1640,49 @@@ } } - /** {@inheritDoc} */ - @Override public void offer(GridNioFuture req) { - changeReqs.offer((NioOperationFuture)req); + /** + * Adds socket channel to the registration queue and wakes up reading thread. + * + * @param req Change request. + * @param workerIdx Worker thread index. + */ + private void offer(SessionChangeRequest req, int workerIdx) { + changeReqs.offer(req); - selector.wakeup(); + if (select) + selector.wakeup(); + else if (park) + LockSupport.unpark(clientThreads[workerIdx]); } + /** {@inheritDoc} */ + @Override public void offer(Collection<GridNioFuture> reqs) { + for (GridNioFuture req : reqs) + changeReqs.offer((NioOperationFuture)req); + + selector.wakeup(); + } + + /** {@inheritDoc} */ + @Override public List<GridNioFuture> clearSessionRequests(GridNioSession ses) { + List<GridNioFuture> sesReqs = null; + + for (GridNioServer.NioOperationFuture changeReq : changeReqs) { + if (changeReq.session() == ses && !(changeReq instanceof SessionMoveFuture)) { + boolean rmv = changeReqs.remove(changeReq); + + assert rmv : changeReq; + + if (sesReqs == null) + sesReqs = new ArrayList<>(); + + sesReqs.add(changeReq); + } + } + + return sesReqs; + } + /** * Processes read and write events and registration requests. * @@@ -1531,66 -1586,10 +1704,60 @@@ break; } + case MOVE: { + SessionMoveFuture f = (SessionMoveFuture)req; + + GridSelectorNioSessionImpl ses = f.session(); + + if (idx == f.toIdx) { + assert f.movedSocketChannel() != null : f; + + boolean add = workerSessions.add(ses); + + assert add; + + ses.finishMoveSession(this); + + if (idx % 2 == 0) + readerMoveCnt.incrementAndGet(); + else + writerMoveCnt.incrementAndGet(); + + SelectionKey key = f.movedSocketChannel().register(selector, + SelectionKey.OP_READ | SelectionKey.OP_WRITE, + ses); + + ses.key(key); + + f.onDone(true); + } + else { + assert f.movedSocketChannel() == null : f; + + if (workerSessions.remove(ses)) { + ses.startMoveSession(this); + + SelectionKey key = ses.key(); + + assert key.channel() != null : key; + + f.movedSocketChannel((SocketChannel)key.channel()); + + key.cancel(); + + clientWorkers.get(f.toIndex()).offer(f); + } + else + f.onDone(false); + } + + break; + } + case REQUIRE_WRITE: { - //Just register write key. - SelectionKey key = req.session().key(); - - if (key.isValid()) { - key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); + SessionWriteRequest req = (SessionWriteRequest)req0; - // Update timestamp to protected against false write timeout. - ((GridNioSessionImpl)key.attachment()).bytesSent(0); - } + registerWrite((GridSelectorNioSessionImpl)req.session()); break; } @@@ -1767,6 -1744,96 +1912,102 @@@ } /** + * @param ses Session. + */ + final void registerWrite(GridSelectorNioSessionImpl ses) { + SelectionKey key = ses.key(); + + if (key.isValid()) { + if ((key.interestOps() & SelectionKey.OP_WRITE) == 0) { + key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); + + writeSesCnt++; + } + + // Update timestamp to protected against false write timeout. + ses.bytesSent(0); + } + } + + /** + * + */ + private void dumpStats() { + StringBuilder sb = new StringBuilder(); + + Set<SelectionKey> keys = selector.keys(); + + sb.append(U.nl()) + .append(">> Selector info [idx=").append(idx) + .append(", keysCnt=").append(keys.size()) ++ .append(", bytesRcvd=").append(bytesRcvd) ++ .append(", bytesRcvd0=").append(bytesRcvd0) ++ .append(", bytesSent=").append(bytesSent) ++ .append(", bytesSent0=").append(bytesSent0) + .append("]").append(U.nl()); + + for (SelectionKey key : keys) { + GridSelectorNioSessionImpl ses = (GridSelectorNioSessionImpl)key.attachment(); + + MessageWriter writer = ses.meta(MSG_WRITER.ordinal()); + MessageReader reader = ses.meta(GridDirectParser.READER_META_KEY); + + sb.append(" Connection info [") + .append("in=").append(ses.accepted()) + .append(", rmtAddr=").append(ses.remoteAddress()) + .append(", locAddr=").append(ses.localAddress()); + + GridNioRecoveryDescriptor outDesc = ses.outRecoveryDescriptor(); + + if (outDesc != null) { + sb.append(", msgsSent=").append(outDesc.sent()) + .append(", msgsAckedByRmt=").append(outDesc.acked()) + .append(", descIdHash=").append(System.identityHashCode(outDesc)); + } + else + sb.append(", outRecoveryDesc=null"); + + GridNioRecoveryDescriptor inDesc = ses.inRecoveryDescriptor(); + + if (inDesc != null) { + sb.append(", msgsRcvd=").append(inDesc.received()) + .append(", lastAcked=").append(inDesc.lastAcknowledged()) + .append(", descIdHash=").append(System.identityHashCode(inDesc)); + } + else + sb.append(", inRecoveryDesc=null"); + + sb.append(", bytesRcvd=").append(ses.bytesReceived()) ++ .append(", bytesRcvd0=").append(ses.bytesReceived0()) + .append(", bytesSent=").append(ses.bytesSent()) ++ .append(", bytesSent0=").append(ses.bytesSent0()) + .append(", opQueueSize=").append(ses.writeQueueSize()) + .append(", msgWriter=").append(writer != null ? writer.toString() : "null") + .append(", msgReader=").append(reader != null ? reader.toString() : "null"); + + int cnt = 0; + + for (SessionWriteRequest req : ses.writeQueue()) { + if (cnt == 0) + sb.append(",\n opQueue=[").append(req); + else + sb.append(',').append(req); + + if (++cnt == 5) { + sb.append(']'); + + break; + } + } + + + sb.append("]").append(U.nl()); + } + + U.warn(log, sb.toString()); + } + + /** * Processes keys selected by a selector. * * @param keys Selected keys. @@@ -2988,203 -3147,10 +3409,213 @@@ /** * */ + private class SizeBasedBalancer implements IgniteRunnable { + /** */ + private long lastBalance; + + /** */ + private final long balancePeriod; + + /** + * @param balancePeriod Period. + */ + SizeBasedBalancer(long balancePeriod) { + this.balancePeriod = balancePeriod; + } + + /** {@inheritDoc} */ + @Override public void run() { + long now = U.currentTimeMillis(); + + if (lastBalance + balancePeriod < now) { + lastBalance = now; + + long maxRcvd0 = -1, minRcvd0 = -1, maxSent0 = -1, minSent0 = -1; + int maxRcvdIdx = -1, minRcvdIdx = -1, maxSentIdx = -1, minSentIdx = -1; + + for (int i = 0; i < clientWorkers.size(); i++) { + GridNioServer.AbstractNioClientWorker worker = clientWorkers.get(i); + + int sesCnt = worker.workerSessions.size(); + + if (i % 2 == 0) { + // Reader. + long bytesRcvd0 = worker.bytesRcvd0; + + if ((maxRcvd0 == -1 || bytesRcvd0 > maxRcvd0) && bytesRcvd0 > 0 && sesCnt > 1) { + maxRcvd0 = bytesRcvd0; + maxRcvdIdx = i; + } + + if (minRcvd0 == -1 || bytesRcvd0 < minRcvd0) { + minRcvd0 = bytesRcvd0; + minRcvdIdx = i; + } + } + else { + // Writer. + long bytesSent0 = worker.bytesSent0; + + if ((maxSent0 == -1 || bytesSent0 > maxSent0) && bytesSent0 > 0 && sesCnt > 1) { + maxSent0 = bytesSent0; + maxSentIdx = i; + } + + if (minSent0 == -1 || bytesSent0 < minSent0) { + minSent0 = bytesSent0; + minSentIdx = i; + } + } + } + + if (log.isDebugEnabled()) + log.debug("Balancing data [minSent0=" + minSent0 + ", minSentIdx=" + minSentIdx + + ", maxSent0=" + maxSent0 + ", maxSentIdx=" + maxSentIdx + + ", minRcvd0=" + minRcvd0 + ", minRcvdIdx=" + minRcvdIdx + + ", maxRcvd0=" + maxRcvd0 + ", maxRcvdIdx=" + maxRcvdIdx + ']'); + + if (maxSent0 != -1 && minSent0 != -1) { + GridSelectorNioSessionImpl ses = null; + + long sentDiff = maxSent0 - minSent0; + long delta = sentDiff; + double threshold = sentDiff * 0.9; + + GridConcurrentHashSet<GridSelectorNioSessionImpl> sessions = + clientWorkers.get(maxSentIdx).workerSessions; + + for (GridSelectorNioSessionImpl ses0 : sessions) { + long bytesSent0 = ses0.bytesSent0(); + + if (bytesSent0 < threshold && + (ses == null || delta > U.safeAbs(bytesSent0 - sentDiff / 2))) { + ses = ses0; + delta = U.safeAbs(bytesSent0 - sentDiff / 2); + } + } + + if (ses != null) { + if (log.isDebugEnabled()) + log.debug("Will move session to less loaded writer [ses=" + ses + + ", from=" + maxSentIdx + ", to=" + minSentIdx + ']'); + + moveSession(ses, maxSentIdx, minSentIdx); + } + else { + if (log.isDebugEnabled()) + log.debug("Unable to find session to move for writers."); + } + } + + if (maxRcvd0 != -1 && minRcvd0 != -1) { + GridSelectorNioSessionImpl ses = null; + + long rcvdDiff = maxRcvd0 - minRcvd0; + long delta = rcvdDiff; + double threshold = rcvdDiff * 0.9; + + GridConcurrentHashSet<GridSelectorNioSessionImpl> sessions = + clientWorkers.get(maxRcvdIdx).workerSessions; + + for (GridSelectorNioSessionImpl ses0 : sessions) { + long bytesRcvd0 = ses0.bytesReceived0(); + + if (bytesRcvd0 < threshold && + (ses == null || delta > U.safeAbs(bytesRcvd0 - rcvdDiff / 2))) { + ses = ses0; + delta = U.safeAbs(bytesRcvd0 - rcvdDiff / 2); + } + } + + if (ses != null) { + if (log.isDebugEnabled()) + log.debug("Will move session to less loaded reader [ses=" + ses + + ", from=" + maxRcvdIdx + ", to=" + minRcvdIdx + ']'); + + moveSession(ses, maxRcvdIdx, minRcvdIdx); + } + else { + if (log.isDebugEnabled()) + log.debug("Unable to find session to move for readers."); + } + } + + for (int i = 0; i < clientWorkers.size(); i++) { + GridNioServer.AbstractNioClientWorker worker = clientWorkers.get(i); + + worker.reset0(); + } + } + } + } + + /** + * For tests only. + */ + @SuppressWarnings("unchecked") + private class RandomBalancer implements IgniteRunnable { + /** {@inheritDoc} */ + @Override public void run() { + ThreadLocalRandom rnd = ThreadLocalRandom.current(); + + int w1 = rnd.nextInt(clientWorkers.size()); + + if (clientWorkers.get(w1).workerSessions.isEmpty()) + return; + + int w2 = rnd.nextInt(clientWorkers.size()); + + while (w2 == w1) + w2 = rnd.nextInt(clientWorkers.size()); + + GridNioSession ses = randomSession(clientWorkers.get(w1)); + + if (ses != null) { + log.info("Move session [from=" + w1 + + ", to=" + w2 + + ", ses=" + ses + ']'); + + moveSession(ses, w1, w2); + } + } + + /** + * @param worker Worker. + * @return NIO session. + */ + private GridNioSession randomSession(GridNioServer.AbstractNioClientWorker worker) { + Collection<GridNioSession> sessions = worker.workerSessions; + + int size = sessions.size(); + + if (size == 0) + return null; + + int idx = ThreadLocalRandom.current().nextInt(size); + + Iterator<GridNioSession> it = sessions.iterator(); + + int cnt = 0; + + while (it.hasNext()) { + GridNioSession ses = it.next(); + + if (cnt == idx) + return ses; + } + + return null; + } + + } ++ ++ /** ++ * ++ */ + interface SessionChangeRequest { + /** + * @return Requested change operation. + */ + NioOperation operation(); + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/9bf435c6/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/9bf435c6/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java index 5d885784a,e578035..ff5d9ae --- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java @@@ -20,11 -20,9 +20,11 @@@ package org.apache.ignite.internal.util import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; +import java.util.ArrayList; import java.util.Collection; +import java.util.List; import java.util.concurrent.Semaphore; - import java.util.concurrent.atomic.AtomicInteger; + import java.util.concurrent.atomic.AtomicBoolean; import org.apache.ignite.IgniteLogger; import org.apache.ignite.internal.util.tostring.GridToStringExclude; import org.apache.ignite.internal.util.typedef.internal.LT; @@@ -45,12 -43,9 +45,9 @@@ class GridSelectorNioSessionImpl extend @GridToStringExclude private SelectionKey key; - /** Worker index for server */ - private final int selectorIdx; + /** Current worker thread. */ + private GridNioWorker worker; - /** Size counter. */ - private final AtomicInteger queueSize = new AtomicInteger(); - /** Semaphore. */ @GridToStringExclude private final Semaphore sem; @@@ -71,8 -66,11 +68,14 @@@ private final IgniteLogger log; /** */ + private List<GridNioFuture> pendingStateChanges; + ++ /** */ + final AtomicBoolean procWrite = new AtomicBoolean(); + + /** */ + private Object sysMsg; + /** * Creates session instance. *
