Repository: incubator-ignite Updated Branches: refs/heads/ignite-57 7d3c1d83c -> 2d4866d5b
Merge branch 'ignite-164v2stable' into ignite-164v2 Conflicts: modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/35e2c415 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/35e2c415 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/35e2c415 Branch: refs/heads/ignite-57 Commit: 35e2c4156f8eeae9daf41a8929920f12848b73a5 Parents: 3fd37e5 8446c4b Author: Artem Shutak <ashu...@gridgain.com> Authored: Thu Feb 5 19:29:06 2015 +0300 Committer: Artem Shutak <ashu...@gridgain.com> Committed: Thu Feb 5 19:29:06 2015 +0300 ---------------------------------------------------------------------- .gitignore | 1 + config/hadoop/default-config.xml | 2 +- .../datagrid/CacheContinuousQueryExample.java | 2 +- .../datastructures/CacheAtomicLongExample.java | 78 - .../CacheAtomicReferenceExample.java | 126 - .../CacheAtomicSequenceExample.java | 112 - .../CacheAtomicStampedExample.java | 132 - .../CacheCountDownLatchExample.java | 112 - .../datastructures/CacheQueueExample.java | 214 - .../datastructures/CacheSetExample.java | 193 - .../datastructures/IgniteAtomicLongExample.java | 74 + .../IgniteAtomicReferenceExample.java | 110 + .../IgniteAtomicSequenceExample.java | 96 + .../IgniteAtomicStampedExample.java | 117 + .../IgniteCountDownLatchExample.java | 96 + .../datastructures/IgniteQueueExample.java | 206 + .../datastructures/IgniteSetExample.java | 186 + .../client/memcache/MemcacheRestExample.java | 3 +- .../examples/ScalarCacheAffinityExample1.scala | 2 +- .../examples/ScalarCacheAffinityExample2.scala | 2 +- .../ScalarCacheAffinitySimpleExample.scala | 2 +- .../scalar/examples/ScalarCacheExample.scala | 2 +- .../ScalarCachePopularNumbersExample.scala | 4 +- .../examples/ScalarCacheQueryExample.scala | 2 +- .../examples/ScalarSnowflakeSchemaExample.scala | 4 +- .../ignite/examples/CacheExamplesSelfTest.java | 14 +- .../ClientAbstractMultiThreadedSelfTest.java | 2 +- .../integration/ClientAbstractSelfTest.java | 4 +- .../ClientTcpUnreachableMultiNodeSelfTest.java | 12 - .../rest/AbstractRestProcessorSelfTest.java | 2 +- .../rest/ClientMemcachedProtocolSelfTest.java | 8 +- .../JettyRestProcessorAbstractSelfTest.java | 21 +- .../rest/RestBinaryProtocolSelfTest.java | 6 +- .../rest/RestMemcacheProtocolSelfTest.java | 66 +- .../processors/rest/TestMemcacheClient.java | 11 +- .../loadtests/client/ClientTcpSslLoadTest.java | 7 +- .../src/test/resources/spring-server-node.xml | 6 +- .../test/resources/spring-server-ssl-node.xml | 6 +- .../src/main/java/org/apache/ignite/Ignite.java | 115 +- .../org/apache/ignite/IgniteAtomicLong.java | 163 + .../apache/ignite/IgniteAtomicReference.java | 99 + .../org/apache/ignite/IgniteAtomicSequence.java | 136 + .../org/apache/ignite/IgniteAtomicStamped.java | 128 + .../java/org/apache/ignite/IgniteCache.java | 16 +- .../org/apache/ignite/IgniteCountDownLatch.java | 232 + .../java/org/apache/ignite/IgnitePortables.java | 4 +- .../java/org/apache/ignite/IgniteQueue.java | 185 + .../main/java/org/apache/ignite/IgniteSet.java | 107 + .../apache/ignite/cache/CacheConfiguration.java | 118 +- .../org/apache/ignite/cache/CacheEntry.java | 5 +- .../apache/ignite/cache/CacheEntryEvent.java | 75 - .../org/apache/ignite/cache/CachePeekMode.java | 12 +- .../apache/ignite/cache/CacheProjection.java | 52 +- .../ignite/cache/CacheTypeFieldMetadata.java | 145 + .../apache/ignite/cache/CacheTypeMetadata.java | 330 + .../java/org/apache/ignite/cache/GridCache.java | 14 - .../apache/ignite/cache/GridCachePeekMode.java | 85 - .../ignite/cache/GridCacheVersionedEntry.java | 3 +- .../cache/datastructures/CacheAtomicLong.java | 157 - .../datastructures/CacheAtomicReference.java | 93 - .../datastructures/CacheAtomicSequence.java | 130 - .../datastructures/CacheAtomicStamped.java | 121 - .../datastructures/CacheCountDownLatch.java | 226 - .../CacheDataStructureInvalidException.java | 66 - ...cheDataStructureInvalidRuntimeException.java | 66 - .../CacheDataStructureRemovedException.java | 61 - ...cheDataStructureRemovedRuntimeException.java | 61 - .../datastructures/CacheDataStructures.java | 220 - .../ignite/cache/datastructures/CacheQueue.java | 182 - .../ignite/cache/datastructures/CacheSet.java | 61 - .../ignite/cache/datastructures/package.html | 24 - .../eviction/fifo/CacheFifoEvictionPolicy.java | 1 + .../random/CacheRandomEvictionPolicy.java | 1 + .../cache/query/CacheContinuousQuery.java | 61 +- .../cache/query/CacheQueryConfiguration.java | 23 - .../cache/query/CacheQueryGroupIndex.java | 9 - .../ignite/cache/query/CacheQuerySqlField.java | 10 - .../cache/query/CacheQueryTypeMetadata.java | 196 - .../query/annotations/QueryGroupIndex.java | 9 - .../cache/query/annotations/QuerySqlField.java | 10 - .../ignite/cache/store/CacheLocalStore.java | 31 - .../apache/ignite/cache/store/CacheStore.java | 2 +- .../cache/store/CacheStoreBalancingWrapper.java | 296 - .../ignite/cache/store/jdbc/JdbcCacheStore.java | 1560 ++ .../cache/store/jdbc/JdbcPojoCacheStore.java | 205 + .../store/jdbc/dialect/BasicJdbcDialect.java | 274 + .../cache/store/jdbc/dialect/DB2Dialect.java | 68 + .../cache/store/jdbc/dialect/H2Dialect.java | 41 + .../cache/store/jdbc/dialect/JdbcDialect.java | 117 + .../cache/store/jdbc/dialect/MySQLDialect.java | 48 + .../cache/store/jdbc/dialect/OracleDialect.java | 72 + .../store/jdbc/dialect/SQLServerDialect.java | 67 + .../cache/store/jdbc/dialect/package.html | 24 + .../apache/ignite/client/GridClientNode.java | 24 - .../ignite/client/GridClientProtocol.java | 4 - .../ignite/client/impl/GridClientNodeImpl.java | 15 - .../IgniteAtomicConfiguration.java | 105 + .../IgniteCollectionConfiguration.java | 67 + .../configuration/IgniteConfiguration.java | 27 +- .../DataStructureRemovedException.java | 61 + .../apache/ignite/events/IgniteEventType.java | 120 - .../org/apache/ignite/hadoop/GridHadoop.java | 86 - .../ignite/hadoop/GridHadoopConfiguration.java | 172 - .../apache/ignite/hadoop/GridHadoopCounter.java | 44 - .../ignite/hadoop/GridHadoopCounterWriter.java | 36 - .../ignite/hadoop/GridHadoopCounters.java | 49 - .../ignite/hadoop/GridHadoopFileBlock.java | 162 - .../ignite/hadoop/GridHadoopInputSplit.java | 54 - .../org/apache/ignite/hadoop/GridHadoopJob.java | 102 - .../apache/ignite/hadoop/GridHadoopJobId.java | 102 - .../apache/ignite/hadoop/GridHadoopJobInfo.java | 83 - .../ignite/hadoop/GridHadoopJobPhase.java | 38 - .../ignite/hadoop/GridHadoopJobProperty.java | 138 - .../ignite/hadoop/GridHadoopJobStatus.java | 207 - .../ignite/hadoop/GridHadoopMapReducePlan.java | 80 - .../hadoop/GridHadoopMapReducePlanner.java | 40 - .../ignite/hadoop/GridHadoopPartitioner.java | 33 - .../ignite/hadoop/GridHadoopSerialization.java | 54 - .../apache/ignite/hadoop/GridHadoopTask.java | 72 - .../ignite/hadoop/GridHadoopTaskContext.java | 189 - .../ignite/hadoop/GridHadoopTaskInfo.java | 153 - .../ignite/hadoop/GridHadoopTaskInput.java | 55 - .../ignite/hadoop/GridHadoopTaskOutput.java | 40 - .../ignite/hadoop/GridHadoopTaskType.java | 56 - .../java/org/apache/ignite/hadoop/package.html | 24 - .../apache/ignite/internal/GridComponent.java | 19 + .../ignite/internal/GridJobExecuteRequest.java | 95 +- .../ignite/internal/GridKernalContext.java | 8 + .../ignite/internal/GridKernalContextImpl.java | 12 + .../ignite/internal/GridPluginComponent.java | 9 +- .../org/apache/ignite/internal/IgniteEx.java | 8 + .../apache/ignite/internal/IgniteKernal.java | 151 +- .../ignite/internal/IgniteNodeAttributes.java | 4 - .../org/apache/ignite/internal/IgnitionEx.java | 80 +- .../internal/managers/GridManagerAdapter.java | 7 +- .../managers/GridNoopManagerAdapter.java | 5 + .../discovery/GridDiscoveryManager.java | 90 +- .../processors/GridProcessorAdapter.java | 5 + .../affinity/GridAffinityAssignmentCache.java | 23 +- .../processors/cache/CacheEntryEvent.java | 75 + .../processors/cache/CacheInvokeEntry.java | 12 +- .../cache/CacheStoreBalancingWrapper.java | 297 + .../processors/cache/GridCacheAdapter.java | 307 +- .../processors/cache/GridCacheAttributes.java | 42 +- .../cache/GridCacheClearAllRunnable.java | 12 +- .../cache/GridCacheConcurrentMap.java | 2 +- .../processors/cache/GridCacheContext.java | 6 +- .../cache/GridCacheDeploymentManager.java | 4 +- .../processors/cache/GridCacheEntryEx.java | 14 + .../processors/cache/GridCacheEntryImpl.java | 4 +- .../processors/cache/GridCacheEntrySet.java | 2 +- .../processors/cache/GridCacheEventManager.java | 4 +- .../cache/GridCacheEvictionEntry.java | 2 +- .../cache/GridCacheFilterEvaluationEntry.java | 2 +- .../processors/cache/GridCacheKeySet.java | 2 +- .../processors/cache/GridCacheMapAdapter.java | 2 +- .../processors/cache/GridCacheMapEntry.java | 50 +- .../GridCachePartitionExchangeManager.java | 2 +- .../processors/cache/GridCachePeekMode.java | 85 + .../processors/cache/GridCacheProcessor.java | 31 +- .../cache/GridCacheProjectionImpl.java | 30 +- .../processors/cache/GridCacheProxyImpl.java | 56 +- .../processors/cache/GridCacheStoreManager.java | 1 + .../processors/cache/GridCacheSwapManager.java | 48 +- .../processors/cache/GridCacheUtils.java | 19 +- .../cache/GridCacheValueCollection.java | 2 +- .../processors/cache/IgniteCacheProxy.java | 51 +- .../CacheDataStructuresManager.java | 719 + .../GridAtomicCacheQueueImpl.java | 255 - .../GridCacheAnnotationHelper.java | 240 - .../datastructures/GridCacheAtomicLongEx.java | 32 - .../datastructures/GridCacheAtomicLongImpl.java | 527 - .../GridCacheAtomicLongValue.java | 84 - .../GridCacheAtomicReferenceEx.java | 32 - .../GridCacheAtomicReferenceImpl.java | 319 - .../GridCacheAtomicReferenceValue.java | 106 - .../GridCacheAtomicSequenceEx.java | 32 - .../GridCacheAtomicSequenceImpl.java | 517 - .../GridCacheAtomicSequenceValue.java | 84 - .../GridCacheAtomicStampedEx.java | 32 - .../GridCacheAtomicStampedImpl.java | 349 - .../GridCacheAtomicStampedValue.java | 135 - .../GridCacheCountDownLatchEx.java | 39 - .../GridCacheCountDownLatchImpl.java | 359 - .../GridCacheCountDownLatchValue.java | 115 - .../GridCacheDataStructuresImpl.java | 119 - .../GridCacheDataStructuresManager.java | 1592 -- .../GridCacheDataStructuresProxy.java | 267 - .../datastructures/GridCacheInternalKey.java | 31 - .../GridCacheInternalKeyImpl.java | 89 - .../datastructures/GridCacheQueueAdapter.java | 1022 -- .../datastructures/GridCacheQueueHeader.java | 199 - .../datastructures/GridCacheQueueHeaderKey.java | 88 - .../datastructures/GridCacheQueueItemKey.java | 121 - .../datastructures/GridCacheQueueProxy.java | 746 - .../datastructures/GridCacheRemovable.java | 37 - .../datastructures/GridCacheSetHeader.java | 85 - .../datastructures/GridCacheSetHeaderKey.java | 88 - .../cache/datastructures/GridCacheSetImpl.java | 576 - .../datastructures/GridCacheSetItemKey.java | 109 - .../cache/datastructures/GridCacheSetProxy.java | 537 - .../datastructures/GridSetQueryPredicate.java | 115 - .../GridTransactionalCacheQueueImpl.java | 240 - .../GridDistributedCacheAdapter.java | 134 + .../GridPartitionedCacheEntryImpl.java | 2 +- .../distributed/dht/GridDhtCacheAdapter.java | 4 +- .../distributed/dht/GridDhtCacheEntryImpl.java | 2 +- .../dht/atomic/GridDhtAtomicCache.java | 10 +- .../dht/colocated/GridDhtColocatedCache.java | 2 +- .../distributed/near/GridNearAtomicCache.java | 4 +- .../distributed/near/GridNearCacheAdapter.java | 18 +- .../near/GridNearCacheClearAllRunnable.java | 2 +- .../distributed/near/GridNearTxRemote.java | 2 +- .../processors/cache/local/GridLocalCache.java | 6 + .../local/atomic/GridLocalAtomicCache.java | 6 +- .../query/GridCacheDistributedQueryManager.java | 2 - .../cache/query/GridCacheQueriesProxy.java | 2 +- .../cache/query/GridCacheQueryAdapter.java | 2 +- .../cache/query/GridCacheQueryManager.java | 4 +- .../GridCacheContinuousQueryAdapter.java | 125 +- .../GridCacheContinuousQueryHandler.java | 15 +- .../GridCacheContinuousQueryManager.java | 19 +- .../processors/cache/store/CacheLocalStore.java | 31 + .../cache/transactions/IgniteTxAdapter.java | 2 +- .../cache/transactions/IgniteTxEntry.java | 2 +- .../transactions/IgniteTxLocalAdapter.java | 2 +- .../cache/transactions/IgniteTxManager.java | 3 +- .../continuous/GridContinuousProcessor.java | 20 +- .../dataload/GridDataLoadCacheUpdaters.java | 12 +- .../dataload/IgniteDataLoaderImpl.java | 27 +- .../CacheDataStructuresConfigurationKey.java | 62 + .../datastructures/DataStructuresProcessor.java | 1662 +++ .../GridAtomicCacheQueueImpl.java | 255 + .../GridCacheAnnotationHelper.java | 240 + .../datastructures/GridCacheAtomicLongEx.java | 32 + .../datastructures/GridCacheAtomicLongImpl.java | 554 + .../GridCacheAtomicLongValue.java | 84 + .../GridCacheAtomicReferenceEx.java | 32 + .../GridCacheAtomicReferenceImpl.java | 340 + .../GridCacheAtomicReferenceValue.java | 106 + .../GridCacheAtomicSequenceEx.java | 32 + .../GridCacheAtomicSequenceImpl.java | 556 + .../GridCacheAtomicSequenceValue.java | 84 + .../GridCacheAtomicStampedEx.java | 32 + .../GridCacheAtomicStampedImpl.java | 380 + .../GridCacheAtomicStampedValue.java | 135 + .../GridCacheCountDownLatchEx.java | 39 + .../GridCacheCountDownLatchImpl.java | 394 + .../GridCacheCountDownLatchValue.java | 115 + .../datastructures/GridCacheInternalKey.java | 31 + .../GridCacheInternalKeyImpl.java | 89 + .../datastructures/GridCacheQueueAdapter.java | 1038 ++ .../datastructures/GridCacheQueueHeader.java | 199 + .../datastructures/GridCacheQueueHeaderKey.java | 88 + .../datastructures/GridCacheQueueItemKey.java | 121 + .../datastructures/GridCacheQueueProxy.java | 771 + .../datastructures/GridCacheRemovable.java | 37 + .../datastructures/GridCacheSetHeader.java | 85 + .../datastructures/GridCacheSetHeaderKey.java | 88 + .../datastructures/GridCacheSetImpl.java | 595 + .../datastructures/GridCacheSetItemKey.java | 109 + .../datastructures/GridCacheSetProxy.java | 563 + .../datastructures/GridSetQueryPredicate.java | 116 + .../GridTransactionalCacheQueueImpl.java | 240 + .../processors/fs/GridGgfsAttributes.java | 8 +- .../internal/processors/fs/GridGgfsPaths.java | 8 +- .../internal/processors/hadoop/GridHadoop.java | 86 + .../hadoop/GridHadoopConfiguration.java | 172 + .../processors/hadoop/GridHadoopCounter.java | 44 + .../hadoop/GridHadoopCounterWriter.java | 36 + .../processors/hadoop/GridHadoopCounters.java | 49 + .../processors/hadoop/GridHadoopFileBlock.java | 162 + .../processors/hadoop/GridHadoopInputSplit.java | 54 + .../processors/hadoop/GridHadoopJob.java | 102 + .../processors/hadoop/GridHadoopJobId.java | 102 + .../processors/hadoop/GridHadoopJobInfo.java | 83 + .../processors/hadoop/GridHadoopJobPhase.java | 38 + .../hadoop/GridHadoopJobProperty.java | 138 + .../processors/hadoop/GridHadoopJobStatus.java | 207 + .../hadoop/GridHadoopMapReducePlan.java | 80 + .../hadoop/GridHadoopMapReducePlanner.java | 40 + .../hadoop/GridHadoopPartitioner.java | 33 + .../hadoop/GridHadoopSerialization.java | 54 + .../processors/hadoop/GridHadoopTask.java | 72 + .../hadoop/GridHadoopTaskContext.java | 189 + .../processors/hadoop/GridHadoopTaskInfo.java | 153 + .../processors/hadoop/GridHadoopTaskInput.java | 55 + .../processors/hadoop/GridHadoopTaskOutput.java | 40 + .../processors/hadoop/GridHadoopTaskType.java | 56 + .../hadoop/IgniteHadoopNoopProcessor.java | 1 - .../hadoop/IgniteHadoopProcessorAdapter.java | 1 - .../internal/processors/hadoop/package.html | 24 + .../plugin/IgnitePluginProcessor.java | 40 + .../portable/GridPortableInputStream.java | 7 + .../processors/query/GridQueryProcessor.java | 38 +- .../processors/rest/GridRestCommand.java | 12 +- .../processors/rest/GridRestProcessor.java | 10 +- .../client/message/GridClientCacheRequest.java | 4 +- .../handlers/cache/GridCacheCommandHandler.java | 107 +- .../DataStructuresCommandHandler.java | 110 + .../tcp/GridTcpMemcachedNioListener.java | 64 +- .../rest/request/DataStructuresRequest.java | 74 + .../rest/request/GridRestCacheRequest.java | 37 +- .../ignite/internal/util/IgniteUtils.java | 37 +- .../internal/util/future/IgniteFutureImpl.java | 9 +- .../apache/ignite/internal/util/typedef/X.java | 19 - .../visor/cache/VisorCacheClearTask.java | 2 +- .../visor/cache/VisorCacheConfiguration.java | 2 - .../org/apache/ignite/lang/IgniteFuture.java | 18 +- .../segmentation/GridSegmentationPolicy.java | 1 - .../apache/ignite/portables/PortableObject.java | 14 - .../ignite/spi/discovery/DiscoverySpi.java | 4 +- .../spi/discovery/DiscoverySpiDataExchange.java | 4 +- .../discovery/tcp/TcpClientDiscoverySpi.java | 6 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 31 +- .../TcpDiscoveryJoinRequestMessage.java | 10 +- .../messages/TcpDiscoveryNodeAddedMessage.java | 24 +- .../core/src/test/config/store/jdbc/Ignite.xml | 101 + .../store/GridCacheBalancingStoreSelfTest.java | 1 + ...ractJdbcCacheStoreMultithreadedSelfTest.java | 196 + .../PojoJdbcCacheStoreMultitreadedSelfTest.java | 34 + .../store/jdbc/PojoJdbcCacheStoreTest.java | 702 + .../cache/store/jdbc/model/Organization.java | 155 + .../cache/store/jdbc/model/OrganizationKey.java | 97 + .../ignite/cache/store/jdbc/model/Person.java | 155 + .../cache/store/jdbc/model/PersonKey.java | 97 + .../ignite/cache/store/jdbc/model/package.html | 24 + .../ignite/internal/GridAffinitySelfTest.java | 2 +- ...cheAbstractFullApiMultithreadedSelfTest.java | 22 - .../cache/GridCacheAbstractFullApiSelfTest.java | 184 +- .../GridCacheAbstractProjectionSelfTest.java | 31 +- .../cache/GridCacheAbstractSelfTest.java | 12 +- .../cache/GridCacheAbstractTxReadTest.java | 2 +- .../cache/GridCacheBasicStoreAbstractTest.java | 8 +- ...acheBasicStoreMultithreadedAbstractTest.java | 2 +- .../cache/GridCacheClearAllSelfTest.java | 32 +- .../GridCacheConcurrentTxMultiNodeTest.java | 22 +- ...idCacheConfigurationConsistencySelfTest.java | 5 +- ...idCacheGetAndTransformStoreAbstractTest.java | 4 +- .../cache/GridCacheGlobalClearAllSelfTest.java | 6 +- .../cache/GridCacheOffHeapSelfTest.java | 2 +- .../GridCacheOffHeapTieredAbstractSelfTest.java | 4 +- .../GridCacheQueryInternalKeysSelfTest.java | 4 +- .../GridCacheReferenceCleanupSelfTest.java | 2 +- .../processors/cache/GridCacheTestEntryEx.java | 6 + .../processors/cache/GridCacheTestValue.java | 2 +- .../GridCacheWriteBehindStoreAbstractTest.java | 6 +- .../cache/IgniteCacheAtomicLocalPeekTest.java | 43 + .../cache/IgniteCacheAtomicPeekTest.java | 49 + .../IgniteCacheAtomicReplicatedPeekTest.java | 32 + .../cache/IgniteCachePeekAbstractTest.java | 333 + .../cache/IgniteCacheTxLocalPeekTest.java | 43 + .../processors/cache/IgniteCacheTxPeekTest.java | 49 + .../cache/IgniteCacheTxReplicatedPeekTest.java | 32 + ...eAbstractDataStructuresFailoverSelfTest.java | 424 +- ...actQueueFailoverDataConsistencySelfTest.java | 79 +- .../GridCacheAtomicLongApiSelfTest.java | 484 - ...CacheAtomicReferenceApiSelfAbstractTest.java | 137 +- ...cheAtomicReferenceMultiNodeAbstractTest.java | 61 +- ...idCacheAtomicStampedApiSelfAbstractTest.java | 57 +- .../GridCacheCountDownLatchSelfTest.java | 410 - .../GridCacheMultiNodeDataStructureTest.java | 7 +- .../GridCacheQueueApiSelfAbstractTest.java | 250 +- .../GridCacheQueueCleanupSelfTest.java | 50 +- ...ridCacheQueueJoinedNodeSelfAbstractTest.java | 34 +- ...GridCacheQueueMultiNodeAbstractSelfTest.java | 188 +- ...dCacheQueueMultiNodeConsistencySelfTest.java | 137 +- ...CacheQueueRotativeMultiNodeAbstractTest.java | 149 +- .../GridCacheSequenceApiSelfAbstractTest.java | 200 +- ...dCacheSequenceMultiNodeAbstractSelfTest.java | 40 +- .../GridCacheSetAbstractSelfTest.java | 272 +- .../GridCacheSetFailoverAbstractSelfTest.java | 38 +- .../IgniteAtomicLongApiAbstractSelfTest.java | 267 + .../IgniteAtomicsAbstractTest.java | 83 + .../IgniteCollectionAbstractTest.java | 255 + .../IgniteCountDownLatchAbstractSelfTest.java | 270 + .../IgniteDataStructureUniqueNameTest.java | 356 + .../GridCacheLocalAtomicQueueApiSelfTest.java | 11 +- .../local/GridCacheLocalAtomicSetSelfTest.java | 4 +- .../local/GridCacheLocalQueueApiSelfTest.java | 19 +- .../GridCacheLocalSequenceApiSelfTest.java | 17 +- .../local/GridCacheLocalSetSelfTest.java | 8 +- .../local/IgniteLocalAtomicLongApiSelfTest.java | 33 + .../IgniteLocalCountDownLatchSelfTest.java | 95 + ...dCachePartitionedAtomicQueueApiSelfTest.java | 13 +- ...ionedAtomicQueueCreateMultiNodeSelfTest.java | 10 +- ...micQueueFailoverDataConsistencySelfTest.java | 2 +- ...PartitionedAtomicQueueMultiNodeSelfTest.java | 13 +- ...itionedAtomicQueueRotativeMultiNodeTest.java | 13 +- ...hePartitionedAtomicReferenceApiSelfTest.java | 19 +- ...PartitionedAtomicReferenceMultiNodeTest.java | 19 +- ...titionedAtomicSequenceMultiThreadedTest.java | 102 +- ...chePartitionedAtomicSetFailoverSelfTest.java | 8 +- .../GridCachePartitionedAtomicSetSelfTest.java | 21 +- ...achePartitionedAtomicStampedApiSelfTest.java | 23 +- ...rtitionedDataStructuresFailoverSelfTest.java | 8 +- ...idCachePartitionedNodeRestartTxSelfTest.java | 19 +- .../GridCachePartitionedQueueApiSelfTest.java | 25 +- ...PartitionedQueueCreateMultiNodeSelfTest.java | 50 +- ...dCachePartitionedQueueEntryMoveSelfTest.java | 53 +- ...nedQueueFailoverDataConsistencySelfTest.java | 7 + ...CachePartitionedQueueJoinedNodeSelfTest.java | 25 +- ...dCachePartitionedQueueMultiNodeSelfTest.java | 23 +- ...hePartitionedQueueRotativeMultiNodeTest.java | 24 +- ...GridCachePartitionedSequenceApiSelfTest.java | 24 +- ...chePartitionedSequenceMultiNodeSelfTest.java | 25 +- ...GridCachePartitionedSetFailoverSelfTest.java | 6 +- .../GridCachePartitionedSetSelfTest.java | 8 +- .../IgnitePartitionedAtomicLongApiSelfTest.java | 33 + ...IgnitePartitionedCountDownLatchSelfTest.java | 33 + .../IgnitePartitionedSetNoBackupsSelfTest.java | 68 + ...cheReplicatedAtomicReferenceApiSelfTest.java | 16 +- ...eReplicatedAtomicReferenceMultiNodeTest.java | 16 +- ...CacheReplicatedAtomicStampedApiSelfTest.java | 15 +- ...eplicatedDataStructuresFailoverSelfTest.java | 8 +- .../GridCacheReplicatedQueueApiSelfTest.java | 22 +- ...idCacheReplicatedQueueMultiNodeSelfTest.java | 22 +- ...cheReplicatedQueueRotativeMultiNodeTest.java | 22 +- .../GridCacheReplicatedSequenceApiSelfTest.java | 17 +- ...acheReplicatedSequenceMultiNodeSelfTest.java | 19 +- .../GridCacheReplicatedSetSelfTest.java | 8 +- .../IgniteReplicatedAtomicLongApiSelfTest.java | 33 + .../IgniteReplicatedCountDownLatchSelfTest.java | 33 + .../GridCacheBasicOpAbstractTest.java | 2 +- .../distributed/GridCacheLockAbstractTest.java | 21 + .../GridCacheMultiNodeAbstractTest.java | 2 +- .../GridCacheMultiNodeLockAbstractTest.java | 2 +- .../IgniteCrossCacheTxStoreSelfTest.java | 13 +- ...heAbstractTransformWriteThroughSelfTest.java | 2 +- .../dht/GridCacheDhtEntrySelfTest.java | 4 +- ...GridCacheDhtEvictionNearReadersSelfTest.java | 2 +- .../dht/GridCacheDhtEvictionSelfTest.java | 2 +- .../dht/GridCacheDhtInternalEntrySelfTest.java | 40 +- ...tomicClientOnlyMultiNodeFullApiSelfTest.java | 16 +- ...eAtomicNearOnlyMultiNodeFullApiSelfTest.java | 8 +- .../near/GridCacheNearMultiNodeSelfTest.java | 2 +- ...idCacheNearOnlyMultiNodeFullApiSelfTest.java | 20 +- .../GridCacheNearPartitionedClearSelfTest.java | 4 +- ...achePartitionedMultiNodeFullApiSelfTest.java | 2 +- ...ePartitionedMultiThreadedPutGetSelfTest.java | 5 +- ...hePartitionedQueryMultiThreadedSelfTest.java | 2 +- .../cache/eviction/GridCacheMockEntry.java | 1 + .../local/GridCacheLocalFullApiSelfTest.java | 5 +- ...ridCacheContinuousQueryAbstractSelfTest.java | 3 +- ...dCacheContinuousQueryReplicatedSelfTest.java | 69 +- .../fs/GridGgfsDataManagerSelfTest.java | 4 +- .../util/future/IgniteFutureImplTest.java | 3 +- .../loadtests/cache/GridCacheBenchmark.java | 2 +- .../cache/GridCacheDataStructuresLoadTest.java | 203 +- .../loadtests/cache/GridCacheLoadTest.java | 2 +- .../GridCacheWriteBehindStoreLoadTest.java | 2 +- .../GridContinuousOperationsLoadTest.java | 9 +- .../GridCachePartitionedAtomicLongLoadTest.java | 15 +- .../loadtests/dsi/GridDsiLifecycleBean.java | 2 +- .../ignite/loadtests/dsi/GridDsiPerfJob.java | 7 +- .../loadtests/hashmap/GridCacheTestContext.java | 2 +- .../ignite/loadtests/mapper/TestObject.java | 2 +- .../marshaller/GridMarshallerAbstractTest.java | 32 - .../discovery/AbstractDiscoverySelfTest.java | 6 +- .../tcp/TcpDiscoverySpiStartStopSelfTest.java | 4 +- .../ignite/testframework/junits/IgniteMock.java | 58 +- .../junits/spi/GridSpiAbstractTest.java | 6 +- .../IgniteCacheDataStructuresSelfTestSuite.java | 11 +- .../ignite/testsuites/IgniteCacheTestSuite.java | 7 + .../client/hadoop/GridHadoopClientProtocol.java | 1 - .../counter/GridHadoopClientCounters.java | 2 +- .../ignite/hadoop/GridHadoopDefaultJobInfo.java | 163 - .../apache/ignite/hadoop/GridHadoopSetup.java | 506 - .../processors/hadoop/GridHadoopContext.java | 1 - .../hadoop/GridHadoopDefaultJobInfo.java | 162 + .../processors/hadoop/GridHadoopImpl.java | 1 - .../processors/hadoop/GridHadoopSetup.java | 506 + .../processors/hadoop/GridHadoopUtils.java | 1 - .../hadoop/IgniteHadoopProcessor.java | 1 - .../counter/GridHadoopCounterAdapter.java | 2 +- .../hadoop/counter/GridHadoopCountersImpl.java | 2 +- .../counter/GridHadoopFSCounterWriter.java | 2 +- .../hadoop/counter/GridHadoopLongCounter.java | 2 +- .../counter/GridHadoopPerformanceCounter.java | 2 +- .../jobtracker/GridHadoopJobMetadata.java | 4 +- .../hadoop/jobtracker/GridHadoopJobTracker.java | 48 +- .../planner/GridHadoopDefaultMapReducePlan.java | 2 +- .../GridHadoopDefaultMapReducePlanner.java | 2 +- .../GridHadoopProtocolJobCountersTask.java | 2 +- .../proto/GridHadoopProtocolJobStatusTask.java | 2 +- .../proto/GridHadoopProtocolKillJobTask.java | 2 +- .../proto/GridHadoopProtocolNextTaskIdTask.java | 2 +- .../proto/GridHadoopProtocolSubmitJobTask.java | 4 +- .../proto/GridHadoopProtocolTaskAdapter.java | 5 +- .../hadoop/shuffle/GridHadoopShuffle.java | 1 - .../hadoop/shuffle/GridHadoopShuffleAck.java | 2 +- .../hadoop/shuffle/GridHadoopShuffleJob.java | 4 +- .../shuffle/GridHadoopShuffleMessage.java | 2 +- .../GridHadoopConcurrentHashMultimap.java | 2 +- .../collections/GridHadoopHashMultimap.java | 2 +- .../collections/GridHadoopHashMultimapBase.java | 2 +- .../shuffle/collections/GridHadoopMultimap.java | 2 +- .../collections/GridHadoopMultimapBase.java | 4 +- .../shuffle/collections/GridHadoopSkipList.java | 2 +- .../GridHadoopEmbeddedTaskExecutor.java | 2 +- .../taskexecutor/GridHadoopExecutorService.java | 2 +- .../taskexecutor/GridHadoopRunnableTask.java | 5 +- .../GridHadoopTaskExecutorAdapter.java | 1 - .../taskexecutor/GridHadoopTaskStatus.java | 2 +- .../GridHadoopExternalTaskExecutor.java | 1 - .../GridHadoopJobInfoUpdateRequest.java | 2 +- .../GridHadoopPrepareForJobRequest.java | 2 +- .../GridHadoopTaskExecutionRequest.java | 2 +- .../external/GridHadoopTaskFinishedMessage.java | 2 +- .../child/GridHadoopChildProcessRunner.java | 4 +- .../hadoop/v1/GridHadoopV1CleanupTask.java | 2 +- .../hadoop/v1/GridHadoopV1MapTask.java | 1 - .../hadoop/v1/GridHadoopV1OutputCollector.java | 2 +- .../hadoop/v1/GridHadoopV1Partitioner.java | 2 +- .../hadoop/v1/GridHadoopV1ReduceTask.java | 1 - .../hadoop/v1/GridHadoopV1Reporter.java | 2 +- .../hadoop/v1/GridHadoopV1SetupTask.java | 2 +- .../hadoop/v1/GridHadoopV1Splitter.java | 1 - .../processors/hadoop/v1/GridHadoopV1Task.java | 1 - .../hadoop/v2/GridHadoopExternalSplit.java | 2 +- .../v2/GridHadoopSerializationWrapper.java | 2 +- .../hadoop/v2/GridHadoopSplitWrapper.java | 2 +- .../hadoop/v2/GridHadoopV2CleanupTask.java | 2 +- .../hadoop/v2/GridHadoopV2Context.java | 1 - .../processors/hadoop/v2/GridHadoopV2Job.java | 1 - .../v2/GridHadoopV2JobResourceManager.java | 2 +- .../hadoop/v2/GridHadoopV2MapTask.java | 2 +- .../hadoop/v2/GridHadoopV2Partitioner.java | 2 +- .../hadoop/v2/GridHadoopV2ReduceTask.java | 2 +- .../hadoop/v2/GridHadoopV2SetupTask.java | 2 +- .../hadoop/v2/GridHadoopV2Splitter.java | 1 - .../processors/hadoop/v2/GridHadoopV2Task.java | 2 +- .../hadoop/v2/GridHadoopV2TaskContext.java | 1 - .../v2/GridHadoopWritableSerialization.java | 2 +- ...ridHadoopClientProtocolEmbeddedSelfTest.java | 2 +- .../hadoop/GridHadoopPopularWordsTest.java | 294 - .../ignite/hadoop/GridHadoopTestUtils.java | 102 - .../ignite/hadoop/books/alice-in-wonderland.txt | 3735 ----- .../apache/ignite/hadoop/books/art-of-war.txt | 6982 --------- .../ignite/hadoop/books/huckleberry-finn.txt | 11733 --------------- .../ignite/hadoop/books/sherlock-holmes.txt | 13052 ----------------- .../apache/ignite/hadoop/books/tom-sawyer.txt | 8858 ----------- .../hadoop/GridHadoopAbstractSelfTest.java | 1 - .../hadoop/GridHadoopCommandLineTest.java | 1 - ...idHadoopDefaultMapReducePlannerSelfTest.java | 6 +- .../hadoop/GridHadoopGroupingTest.java | 1 - .../hadoop/GridHadoopJobTrackerSelfTest.java | 1 - .../GridHadoopMapReduceEmbeddedSelfTest.java | 1 - .../hadoop/GridHadoopMapReduceTest.java | 1 - .../hadoop/GridHadoopPopularWordsTest.java | 294 + .../GridHadoopSerializationWrapperSelfTest.java | 1 - .../hadoop/GridHadoopSortingExternalTest.java | 2 - .../hadoop/GridHadoopSortingTest.java | 1 - .../hadoop/GridHadoopTaskExecutionSelfTest.java | 2 +- .../hadoop/GridHadoopTasksAllVersionsTest.java | 1 - .../hadoop/GridHadoopTasksV1Test.java | 1 - .../hadoop/GridHadoopTasksV2Test.java | 1 - .../GridHadoopTestRoundRobinMrPlanner.java | 1 - .../hadoop/GridHadoopTestTaskContext.java | 1 - .../processors/hadoop/GridHadoopTestUtils.java | 102 + .../hadoop/GridHadoopV2JobSelfTest.java | 1 - .../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 +++++++++++ .../collections/GridHadoopAbstractMapTest.java | 2 +- ...ridHadoopConcurrentHashMultimapSelftest.java | 2 +- .../collections/GridHadoopHashMapSelfTest.java | 2 +- .../collections/GridHadoopSkipListSelfTest.java | 2 +- ...GridHadoopExternalTaskExecutionSelfTest.java | 1 - .../GridHibernateAccessStrategyAdapter.java | 4 +- ...idHibernateL2CacheConfigurationSelfTest.java | 2 +- .../hibernate/GridHibernateL2CacheSelfTest.java | 2 +- .../processors/query/h2/IgniteH2Indexing.java | 2 +- .../GridCacheAbstractFieldsQuerySelfTest.java | 134 +- .../cache/GridCacheOffHeapAndSwapSelfTest.java | 4 +- .../cache/GridCacheQueryLoadSelfTest.java | 13 +- .../GridCacheQueryMultiThreadedSelfTest.java | 12 +- .../cache/GridCacheQueryTestValue.java | 2 +- .../processors/cache/GridCacheSwapSelfTest.java | 2 +- .../GridCacheReplicatedQuerySelfTest.java | 2 +- .../http/jetty/GridJettyRestHandler.java | 23 +- .../tests/ScalarAffinityRoutingSpec.scala | 5 +- .../processors/schedule/ScheduleFutureImpl.java | 16 +- modules/schema-load/pom.xml | 107 + .../main/java/media/data_connection_48x48.png | Bin 0 -> 4443 bytes .../src/main/java/media/error_48x48.png | Bin 0 -> 4349 bytes .../src/main/java/media/ignite_128x128.png | Bin 0 -> 4917 bytes .../src/main/java/media/ignite_16x16.png | Bin 0 -> 608 bytes .../src/main/java/media/ignite_24x24.png | Bin 0 -> 930 bytes .../src/main/java/media/ignite_32x32.png | Bin 0 -> 1203 bytes .../src/main/java/media/ignite_48x48.png | Bin 0 -> 1868 bytes .../src/main/java/media/ignite_64x64.png | Bin 0 -> 2453 bytes .../src/main/java/media/information_48x48.png | Bin 0 -> 4102 bytes .../src/main/java/media/question_48x48.png | Bin 0 -> 3857 bytes .../src/main/java/media/sign_warning_48x48.png | Bin 0 -> 2988 bytes .../schema-load/src/main/java/media/style.css | 95 + .../src/main/java/media/text_tree_48x48.png | Bin 0 -> 2567 bytes .../ignite/schema/generator/PojoGenerator.java | 415 + .../ignite/schema/generator/XmlGenerator.java | 341 + .../ignite/schema/model/PojoDescriptor.java | 508 + .../apache/ignite/schema/model/PojoField.java | 421 + .../schema/parser/DatabaseMetadataParser.java | 105 + .../apache/ignite/schema/parser/DbColumn.java | 76 + .../apache/ignite/schema/parser/DbTable.java | 105 + .../parser/dialect/DB2MetadataDialect.java | 30 + .../parser/dialect/DatabaseMetadataDialect.java | 78 + .../parser/dialect/JdbcMetadataDialect.java | 144 + .../parser/dialect/OracleMetadataDialect.java | 257 + .../ignite/schema/ui/ConfirmCallable.java | 81 + .../org/apache/ignite/schema/ui/Controls.java | 661 + .../org/apache/ignite/schema/ui/GridPaneEx.java | 177 + .../org/apache/ignite/schema/ui/MessageBox.java | 233 + .../apache/ignite/schema/ui/ModalDialog.java | 50 + .../apache/ignite/schema/ui/SchemaLoadApp.java | 1395 ++ .../ignite/schema/ui/TextColumnValidator.java | 32 + .../schema/load/AbstractSchemaLoaderTest.java | 134 + .../load/generator/PojoGeneratorTest.java | 70 + .../schema/load/generator/XmlGeneratorTest.java | 50 + .../apache/ignite/schema/load/model/Ignite.xml | 321 + .../apache/ignite/schema/load/model/Objects.txt | 502 + .../ignite/schema/load/model/ObjectsKey.txt | 96 + .../ignite/schema/load/model/Primitives.txt | 506 + .../ignite/schema/load/model/PrimitivesKey.txt | 96 + .../load/parser/DbMetadataParserTest.java | 118 + .../testsuites/IgniteSchemaLoadTestSuite.java | 41 + .../org/apache/ignite/IgniteSpringBean.java | 77 +- .../cache/VisorCacheCompactCommandSpec.scala | 4 +- .../config/benchmark-multicast.properties | 74 + .../yardstick/config/benchmark-store.properties | 69 + modules/yardstick/config/benchmark.properties | 70 +- .../yardstick/config/ignite-store-config.xml | 203 + .../ignite/yardstick/cache/model/SampleKey.java | 88 + .../yardstick/cache/model/SampleValue.java | 9 +- .../jdbc/IgniteJdbcStoreAbstractBenchmark.java | 44 + .../store/jdbc/IgniteJdbcStoreGetBenchmark.java | 53 + .../store/jdbc/IgniteJdbcStorePutBenchmark.java | 42 + .../jdbc/IgniteJdbcStorePutGetBenchmark.java | 47 + pom.xml | 7 +- 640 files changed, 78368 insertions(+), 64798 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e2c415/config/hadoop/default-config.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e2c415/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e2c415/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e2c415/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheDataStructuresSelfTestSuite.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e2c415/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java ---------------------------------------------------------------------- diff --cc modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java index 0000000,c99f42a..9fe660e mode 000000,100644..100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/GridHadoopSetup.java @@@ -1,0 -1,506 +1,506 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + package org.apache.ignite.internal.processors.hadoop; + + import org.apache.ignite.internal.util.typedef.*; + import org.apache.ignite.internal.util.typedef.internal.*; + + import java.io.*; + import java.net.*; + import java.nio.file.*; + import java.text.*; + import java.util.*; + + import static org.apache.ignite.internal.GridProductImpl.*; + + /** + * Setup tool to configure Hadoop client. + */ + public class GridHadoopSetup { + /** */ + public static final String WINUTILS_EXE = "winutils.exe"; + + /** */ + private static final FilenameFilter IGNITE_JARS = new FilenameFilter() { + @Override public boolean accept(File dir, String name) { + return name.startsWith("ignite-") && name.endsWith(".jar"); + } + }; + + /** + * The main method. + * @param ignore Params. + * @throws IOException If fails. + */ + public static void main(String[] ignore) throws IOException { + X.println( + " __________ ________________ ", + " / _/ ___/ |/ / _/_ __/ __/ ", + " _/ // (_ / // / / / / _/ ", + "/___/\\___/_/|_/___/ /_/ /___/ ", + " for Apache Hadoop ", + " "); + + println("Version " + ACK_VER); + + configureHadoop(); + } + + /** + * This operation prepares the clean unpacked Hadoop distributive to work as client with Ignite-Hadoop. + * It performs these operations: + * <ul> + * <li>Check for setting of HADOOP_HOME environment variable.</li> + * <li>Try to resolve HADOOP_COMMON_HOME or evaluate it relative to HADOOP_HOME.</li> + * <li>In Windows check if winutils.exe exists and try to fix issue with some restrictions.</li> + * <li>In Windows check new line character issues in CMD scripts.</li> + * <li>Scan Hadoop lib directory to detect Ignite JARs. If these don't exist tries to create ones.</li> + * </ul> + */ + private static void configureHadoop() { - String gridgainHome = U.getIgniteHome(); ++ String igniteHome = U.getIgniteHome(); + - println("IGNITE_HOME is set to '" + gridgainHome + "'."); ++ println("IGNITE_HOME is set to '" + igniteHome + "'."); + - checkGridGainHome(gridgainHome); ++ checkIgniteHome(igniteHome); + + String homeVar = "HADOOP_HOME"; + String hadoopHome = System.getenv(homeVar); + + if (F.isEmpty(hadoopHome)) { + homeVar = "HADOOP_PREFIX"; + hadoopHome = System.getenv(homeVar); + } + + if (F.isEmpty(hadoopHome)) + exit("Neither HADOOP_HOME nor HADOOP_PREFIX environment variable is set. Please set one of them to a " + + "valid Hadoop installation directory and run setup tool again.", null); + + hadoopHome = hadoopHome.replaceAll("\"", ""); + + println(homeVar + " is set to '" + hadoopHome + "'."); + + String hiveHome = System.getenv("HIVE_HOME"); + + if (!F.isEmpty(hiveHome)) { + hiveHome = hiveHome.replaceAll("\"", ""); + + println("HIVE_HOME is set to '" + hiveHome + "'."); + } + + File hadoopDir = new File(hadoopHome); + + if (!hadoopDir.exists()) + exit("Hadoop installation folder does not exist.", null); + + if (!hadoopDir.isDirectory()) + exit("HADOOP_HOME must point to a directory.", null); + + if (!hadoopDir.canRead()) + exit("Hadoop installation folder can not be read. Please check permissions.", null); + + File hadoopCommonDir; + + String hadoopCommonHome = System.getenv("HADOOP_COMMON_HOME"); + + if (F.isEmpty(hadoopCommonHome)) { + hadoopCommonDir = new File(hadoopDir, "share/hadoop/common"); + + println("HADOOP_COMMON_HOME is not set, will use '" + hadoopCommonDir.getPath() + "'."); + } + else { + println("HADOOP_COMMON_HOME is set to '" + hadoopCommonHome + "'."); + + hadoopCommonDir = new File(hadoopCommonHome); + } + + if (!hadoopCommonDir.canRead()) + exit("Failed to read Hadoop common dir in '" + hadoopCommonHome + "'.", null); + + File hadoopCommonLibDir = new File(hadoopCommonDir, "lib"); + + if (!hadoopCommonLibDir.canRead()) + exit("Failed to read Hadoop 'lib' folder in '" + hadoopCommonLibDir.getPath() + "'.", null); + + if (U.isWindows()) { + checkJavaPathSpaces(); + + File hadoopBinDir = new File(hadoopDir, "bin"); + + if (!hadoopBinDir.canRead()) + exit("Failed to read subdirectory 'bin' in HADOOP_HOME.", null); + + File winutilsFile = new File(hadoopBinDir, WINUTILS_EXE); + + if (!winutilsFile.exists()) { + if (ask("File '" + WINUTILS_EXE + "' does not exist. " + + "It may be replaced by a stub. Create it?")) { + println("Creating file stub '" + winutilsFile.getAbsolutePath() + "'."); + + boolean ok = false; + + try { + ok = winutilsFile.createNewFile(); + } + catch (IOException ignore) { + // No-op. + } + + if (!ok) + exit("Failed to create '" + WINUTILS_EXE + "' file. Please check permissions.", null); + } + else + println("Ok. But Hadoop client probably will not work on Windows this way..."); + } + + processCmdFiles(hadoopDir, "bin", "sbin", "libexec"); + } + - File gridgainLibs = new File(new File(gridgainHome), "libs"); ++ File igniteLibs = new File(new File(igniteHome), "libs"); + - if (!gridgainLibs.exists()) ++ if (!igniteLibs.exists()) + exit("Ignite 'libs' folder is not found.", null); + + Collection<File> jarFiles = new ArrayList<>(); + - addJarsInFolder(jarFiles, gridgainLibs); - addJarsInFolder(jarFiles, new File(gridgainLibs, "gridgain-hadoop")); ++ addJarsInFolder(jarFiles, igniteLibs); ++ addJarsInFolder(jarFiles, new File(igniteLibs, "gridgain-hadoop")); + + boolean jarsLinksCorrect = true; + + for (File file : jarFiles) { + File link = new File(hadoopCommonLibDir, file.getName()); + + jarsLinksCorrect &= isJarLinkCorrect(link, file); + + if (!jarsLinksCorrect) + break; + } + + if (!jarsLinksCorrect) { + if (ask("Ignite JAR files are not found in Hadoop 'lib' directory. " + + "Create appropriate symbolic links?")) { - File[] oldGridGainJarFiles = hadoopCommonLibDir.listFiles(IGNITE_JARS); ++ File[] oldIgniteJarFiles = hadoopCommonLibDir.listFiles(IGNITE_JARS); + - if (oldGridGainJarFiles.length > 0 && ask("The Hadoop 'lib' directory contains JARs from other Ignite " + ++ if (oldIgniteJarFiles.length > 0 && ask("The Hadoop 'lib' directory contains JARs from other Ignite " + + "installation. They must be deleted to continue. Continue?")) { - for (File file : oldGridGainJarFiles) { ++ for (File file : oldIgniteJarFiles) { + println("Deleting file '" + file.getAbsolutePath() + "'."); + + if (!file.delete()) + exit("Failed to delete file '" + file.getPath() + "'.", null); + } + } + + for (File file : jarFiles) { + File targetFile = new File(hadoopCommonLibDir, file.getName()); + + try { + println("Creating symbolic link '" + targetFile.getAbsolutePath() + "'."); + + Files.createSymbolicLink(targetFile.toPath(), file.toPath()); + } + catch (IOException e) { + if (U.isWindows()) { + warn("Ability to create symbolic links is required!"); + warn("On Windows platform you have to grant permission 'Create symbolic links'"); + warn("to your user or run the Accelerator as Administrator."); + } + + exit("Creating symbolic link failed! Check permissions.", e); + } + } + } + else + println("Ok. But Hadoop client will not be able to talk to Ignite cluster without those JARs in classpath..."); + } + + File hadoopEtc = new File(hadoopDir, "etc" + File.separator + "hadoop"); + - File gridgainDocs = new File(gridgainHome, "docs"); ++ File igniteDocs = new File(igniteHome, "docs"); + - if (!gridgainDocs.canRead()) - exit("Failed to read Ignite 'docs' folder at '" + gridgainDocs.getAbsolutePath() + "'.", null); ++ if (!igniteDocs.canRead()) ++ exit("Failed to read Ignite 'docs' folder at '" + igniteDocs.getAbsolutePath() + "'.", null); + + if (hadoopEtc.canWrite()) { // TODO Bigtop + if (ask("Replace 'core-site.xml' and 'mapred-site.xml' files with preconfigured templates " + + "(existing files will be backed up)?")) { - replaceWithBackup(new File(gridgainDocs, "core-site.ignite.xml"), new File(hadoopEtc, "core-site.xml")); ++ replaceWithBackup(new File(igniteDocs, "core-site.ignite.xml"), new File(hadoopEtc, "core-site.xml")); + - replaceWithBackup(new File(gridgainDocs, "mapred-site.ignite.xml"), new File(hadoopEtc, "mapred-site.xml")); ++ replaceWithBackup(new File(igniteDocs, "mapred-site.ignite.xml"), new File(hadoopEtc, "mapred-site.xml")); + } + else + println("Ok. You can configure them later, the templates are available at Ignite's 'docs' directory..."); + } + + if (!F.isEmpty(hiveHome)) { + File hiveConfDir = new File(hiveHome + File.separator + "conf"); + + if (!hiveConfDir.canWrite()) + warn("Can not write to '" + hiveConfDir.getAbsolutePath() + "'. To run Hive queries you have to " + + "configure 'hive-site.xml' manually. The template is available at Ignite's 'docs' directory."); + else if (ask("Replace 'hive-site.xml' with preconfigured template (existing file will be backed up)?")) - replaceWithBackup(new File(gridgainDocs, "hive-site.ignite.xml"), new File(hiveConfDir, "hive-site.xml")); ++ replaceWithBackup(new File(igniteDocs, "hive-site.ignite.xml"), new File(hiveConfDir, "hive-site.xml")); + else + println("Ok. You can configure it later, the template is available at Ignite's 'docs' directory..."); + } + + println("Apache Hadoop setup is complete."); + } + + /** + * @param jarFiles Jars. + * @param folder Folder. + */ + private static void addJarsInFolder(Collection<File> jarFiles, File folder) { + if (!folder.exists()) + exit("Folder '" + folder.getAbsolutePath() + "' is not found.", null); + + jarFiles.addAll(Arrays.asList(folder.listFiles(IGNITE_JARS))); + } + + /** + * Checks that JAVA_HOME does not contain space characters. + */ + private static void checkJavaPathSpaces() { + String javaHome = System.getProperty("java.home"); + + if (javaHome.contains(" ")) { + warn("Java installation path contains space characters!"); + warn("Hadoop client will not be able to start using '" + javaHome + "'."); + warn("Please install JRE to path which does not contain spaces and point JAVA_HOME to that installation."); + } + } + + /** + * Checks Ignite home. + * + * @param ggHome Ignite home. + */ - private static void checkGridGainHome(String ggHome) { ++ private static void checkIgniteHome(String ggHome) { + URL jarUrl = U.class.getProtectionDomain().getCodeSource().getLocation(); + + try { + Path jar = Paths.get(jarUrl.toURI()); + Path gg = Paths.get(ggHome); + + if (!jar.startsWith(gg)) + exit("Ignite JAR files are not under IGNITE_HOME.", null); + } + catch (Exception e) { + exit(e.getMessage(), e); + } + } + + /** + * Replaces target file with source file. + * + * @param from From. + * @param to To. + */ + private static void replaceWithBackup(File from, File to) { + if (!from.canRead()) + exit("Failed to read source file '" + from.getAbsolutePath() + "'.", null); + + println("Replacing file '" + to.getAbsolutePath() + "'."); + + try { + U.copy(from, renameToBak(to), true); + } + catch (IOException e) { + exit("Failed to replace file '" + to.getAbsolutePath() + "'.", e); + } + } + + /** + * Renames file for backup. + * + * @param file File. + * @return File. + */ + private static File renameToBak(File file) { + DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); + + if (file.exists() && !file.renameTo(new File(file.getAbsolutePath() + "." + fmt.format(new Date()) + ".bak"))) + exit("Failed to rename file '" + file.getPath() + "'.", null); + + return file; + } + + /** + * Checks if link is correct. + * + * @param link Symbolic link. + * @param correctTarget Correct link target. + * @return {@code true} If link target is correct. + */ + private static boolean isJarLinkCorrect(File link, File correctTarget) { + if (!Files.isSymbolicLink(link.toPath())) + return false; // It is a real file or it does not exist. + + Path target = null; + + try { + target = Files.readSymbolicLink(link.toPath()); + } + catch (IOException e) { + exit("Failed to read symbolic link: " + link.getAbsolutePath(), e); + } + + return Files.exists(target) && target.toFile().equals(correctTarget); + } + + /** + * Writes the question end read the boolean answer from the console. + * + * @param question Question to write. + * @return {@code true} if user inputs 'Y' or 'y', {@code false} otherwise. + */ + private static boolean ask(String question) { + X.println(); + X.print(" < " + question + " (Y/N): "); + + String answer = null; + + if (!F.isEmpty(System.getenv("IGNITE_HADOOP_SETUP_YES"))) + answer = "Y"; + else { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + try { + answer = br.readLine(); + } + catch (IOException e) { + exit("Failed to read answer: " + e.getMessage(), e); + } + } + + if (answer != null && "Y".equals(answer.toUpperCase().trim())) { + X.println(" > Yes."); + + return true; + } + else { + X.println(" > No."); + + return false; + } + } + + /** + * Exit with message. + * + * @param msg Exit message. + */ + private static void exit(String msg, Exception e) { + X.println(" "); + X.println(" # " + msg); + X.println(" # Setup failed, exiting... "); + + if (e != null && !F.isEmpty(System.getenv("IGNITE_HADOOP_SETUP_DEBUG"))) + e.printStackTrace(); + + System.exit(1); + } + + /** + * Prints message. + * + * @param msg Message. + */ + private static void println(String msg) { + X.println(" > " + msg); + } + + /** + * Prints warning. + * + * @param msg Message. + */ + private static void warn(String msg) { + X.println(" ! " + msg); + } + + /** + * Checks that CMD files have valid MS Windows new line characters. If not, writes question to console and reads the + * answer. If it's 'Y' then backups original files and corrects invalid new line characters. + * + * @param rootDir Root directory to process. + * @param dirs Directories inside of the root to process. + */ + private static void processCmdFiles(File rootDir, String... dirs) { + boolean answer = false; + + for (String dir : dirs) { + File subDir = new File(rootDir, dir); + + File[] cmdFiles = subDir.listFiles(new FilenameFilter() { + @Override public boolean accept(File dir, String name) { + return name.toLowerCase().endsWith(".cmd"); + } + }); + + for (File file : cmdFiles) { + String content = null; + + try (Scanner scanner = new Scanner(file)) { + content = scanner.useDelimiter("\\Z").next(); + } + catch (FileNotFoundException e) { + exit("Failed to read file '" + file + "'.", e); + } + + boolean invalid = false; + + for (int i = 0; i < content.length(); i++) { + if (content.charAt(i) == '\n' && (i == 0 || content.charAt(i - 1) != '\r')) { + invalid = true; + + break; + } + } + + if (invalid) { + answer = answer || ask("One or more *.CMD files has invalid new line character. Replace them?"); + + if (!answer) { + println("Ok. But Windows most probably will fail to execute them..."); + + return; + } + + println("Fixing newline characters in file '" + file.getAbsolutePath() + "'."); + + renameToBak(file); + + try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) { + for (int i = 0; i < content.length(); i++) { + if (content.charAt(i) == '\n' && (i == 0 || content.charAt(i - 1) != '\r')) + writer.write("\r"); + + writer.write(content.charAt(i)); + } + } + catch (IOException e) { + exit("Failed to write file '" + file.getPath() + "': " + e.getMessage(), e); + } + } + } + } + } + } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/35e2c415/modules/yardstick/config/benchmark.properties ---------------------------------------------------------------------- diff --cc modules/yardstick/config/benchmark.properties index e3b3a8f,5f4529e..207f9a1 --- a/modules/yardstick/config/benchmark.properties +++ b/modules/yardstick/config/benchmark.properties @@@ -6,20 -3,26 +3,26 @@@ # # JVM options. -JVM_OPTS=${JVM_OPTS}" -DGRIDGAIN_QUIET=false" +JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" # Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses. - # JVM_OPTS=${JVM_OPTS}" \ - # -XX:+UseParNewGC \ - # -XX:+UseConcMarkSweepGC \ - # -XX:+UseTLAB \ - # -XX:NewSize=128m \ - # -XX:MaxNewSize=128m \ - # -XX:MaxTenuringThreshold=0 \ - # -XX:SurvivorRatio=1024 \ - # -XX:+UseCMSInitiatingOccupancyOnly \ - # -XX:CMSInitiatingOccupancyFraction=60 \ - #" + JVM_OPTS=${JVM_OPTS}" \ + -Xloggc:./gc.log \ + -XX:+PrintGCDetails \ + -verbose:gc \ + -XX:+UseParNewGC \ + -XX:+UseConcMarkSweepGC \ + -XX:+UseTLAB \ + -XX:NewSize=128m \ + -XX:MaxNewSize=128m \ + -XX:MaxTenuringThreshold=0 \ + -XX:SurvivorRatio=1024 \ + -XX:+UseCMSInitiatingOccupancyOnly \ + -XX:CMSInitiatingOccupancyFraction=60 \ + " + + #Ignite version + ver="RELEASE-" # List of default probes. # Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux).