# sprint-1 moved existing IgniteFuture to internal package
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/d5bef132 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/d5bef132 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/d5bef132 Branch: refs/heads/sprint-1 Commit: d5bef132a43b2ef60afed3e454f46a54a088feb0 Parents: 87d1de1 Author: sboikov <sboi...@gridgain.com> Authored: Thu Jan 29 10:19:50 2015 +0300 Committer: sboikov <sboi...@gridgain.com> Committed: Thu Jan 29 10:20:45 2015 +0300 ---------------------------------------------------------------------- .../ComputeFibonacciContinuationExample.java | 11 +- .../compute/ComputeRunnableExample.java | 5 +- .../examples/ScalarContinuationExample.scala | 9 +- .../ClientAbstractMultiThreadedSelfTest.java | 6 +- .../rest/RestProcessorStartSelfTest.java | 3 +- .../org/apache/ignite/IgniteDataLoader.java | 14 +- .../java/org/apache/ignite/IgniteScheduler.java | 6 +- .../apache/ignite/IgniteSystemProperties.java | 6 +- .../org/apache/ignite/cache/CacheEntry.java | 27 +- .../apache/ignite/cache/CacheProjection.java | 43 +-- .../java/org/apache/ignite/cache/GridCache.java | 5 +- .../apache/ignite/cache/query/CacheQueries.java | 7 +- .../ignite/cache/query/CacheQueryFuture.java | 4 +- .../ignite/compute/ComputeTaskFuture.java | 4 +- .../ignite/compute/ComputeTaskSession.java | 3 +- .../org/apache/ignite/hadoop/GridHadoop.java | 6 +- .../java/org/apache/ignite/internal/GridEx.java | 2 +- .../ignite/internal/GridJobSessionImpl.java | 2 +- .../org/apache/ignite/internal/GridKernal.java | 14 +- .../ignite/internal/GridTaskSessionImpl.java | 2 +- .../ignite/internal/IgniteInternalFuture.java | 190 +++++++++++ .../ignite/internal/IgniteSchedulerImpl.java | 6 +- .../internal/executor/GridExecutorService.java | 44 +-- .../discovery/GridDiscoveryManager.java | 2 +- .../eventstorage/GridEventStorageManager.java | 4 +- .../affinity/GridAffinityAssignmentCache.java | 5 +- .../affinity/GridAffinityProcessor.java | 8 +- .../processors/cache/CacheLockImpl.java | 4 +- .../processors/cache/GridCacheAdapter.java | 316 +++++++++---------- .../cache/GridCacheAffinityManager.java | 8 +- .../processors/cache/GridCacheContext.java | 12 +- .../processors/cache/GridCacheEntryImpl.java | 27 +- .../cache/GridCacheEvictionEntry.java | 27 +- .../cache/GridCacheEvictionManager.java | 4 +- .../cache/GridCacheExplicitLockSpan.java | 4 +- .../cache/GridCacheFilterEvaluationEntry.java | 27 +- .../processors/cache/GridCacheFuture.java | 3 +- .../processors/cache/GridCacheIoManager.java | 15 +- .../cache/GridCacheMultiTxFuture.java | 6 +- .../processors/cache/GridCacheMvccManager.java | 29 +- .../GridCachePartitionExchangeManager.java | 9 +- .../processors/cache/GridCachePreloader.java | 7 +- .../cache/GridCachePreloaderAdapter.java | 9 +- .../processors/cache/GridCacheProcessor.java | 9 +- .../processors/cache/GridCacheProjectionEx.java | 27 +- .../cache/GridCacheProjectionImpl.java | 69 ++-- .../processors/cache/GridCacheProxyImpl.java | 73 ++--- .../cache/GridCacheSharedContext.java | 13 +- .../processors/cache/GridCacheUtils.java | 7 +- .../processors/cache/IgniteCacheProxy.java | 13 +- .../GridCacheAtomicSequenceImpl.java | 3 +- ...ridCacheOptimisticCheckPreparedTxFuture.java | 7 +- ...dCachePessimisticCheckCommittedTxFuture.java | 7 +- .../distributed/GridCacheTxFinishSync.java | 8 +- .../GridDistributedCacheAdapter.java | 7 +- .../GridDistributedTxRemoteAdapter.java | 7 +- .../distributed/dht/GridDhtCacheAdapter.java | 12 +- .../distributed/dht/GridDhtCacheEntry.java | 7 +- .../distributed/dht/GridDhtEmbeddedFuture.java | 8 +- .../cache/distributed/dht/GridDhtFuture.java | 4 +- .../cache/distributed/dht/GridDhtGetFuture.java | 11 +- .../distributed/dht/GridDhtLocalPartition.java | 5 +- .../distributed/dht/GridDhtLockFuture.java | 11 +- .../distributed/dht/GridDhtTopologyFuture.java | 4 +- .../dht/GridDhtTransactionalCacheAdapter.java | 29 +- .../distributed/dht/GridDhtTxFinishFuture.java | 11 +- .../cache/distributed/dht/GridDhtTxLocal.java | 19 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 11 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 11 +- .../dht/GridPartitionedGetFuture.java | 21 +- .../dht/atomic/GridDhtAtomicCache.java | 93 +++--- .../dht/atomic/GridNearAtomicUpdateFuture.java | 5 +- .../dht/colocated/GridDhtColocatedCache.java | 21 +- .../colocated/GridDhtColocatedLockFuture.java | 23 +- .../dht/preloader/GridDhtForceKeysFuture.java | 7 +- .../preloader/GridDhtPartitionDemandPool.java | 13 +- .../GridDhtPartitionsExchangeFuture.java | 20 +- .../dht/preloader/GridDhtPreloader.java | 29 +- .../distributed/near/GridNearAtomicCache.java | 45 +-- .../distributed/near/GridNearCacheAdapter.java | 15 +- .../distributed/near/GridNearGetFuture.java | 25 +- .../distributed/near/GridNearLockFuture.java | 23 +- .../near/GridNearTransactionalCache.java | 9 +- .../near/GridNearTxFinishFuture.java | 17 +- .../cache/distributed/near/GridNearTxLocal.java | 58 ++-- .../near/GridNearTxPrepareFuture.java | 17 +- .../processors/cache/local/GridLocalCache.java | 7 +- .../processors/cache/local/GridLocalTx.java | 12 +- .../local/atomic/GridLocalAtomicCache.java | 69 ++-- .../GridCacheDistributedFieldsQueryFuture.java | 4 +- .../query/GridCacheDistributedQueryManager.java | 9 +- .../query/GridCacheFieldsQueryErrorFuture.java | 3 +- .../query/GridCacheLocalFieldsQueryFuture.java | 4 +- .../cache/query/GridCacheLocalQueryFuture.java | 3 +- .../cache/query/GridCacheQueriesEx.java | 6 +- .../cache/query/GridCacheQueriesImpl.java | 11 +- .../cache/query/GridCacheQueriesProxy.java | 11 +- .../cache/query/GridCacheQueryManager.java | 48 +-- .../query/GridCacheQueryMetadataAware.java | 4 +- .../GridCacheContinuousQueryEntry.java | 27 +- .../transactions/IgniteTransactionsImpl.java | 3 +- .../cache/transactions/IgniteTxAdapter.java | 7 +- .../cache/transactions/IgniteTxEx.java | 9 +- .../cache/transactions/IgniteTxHandler.java | 48 +-- .../transactions/IgniteTxLocalAdapter.java | 93 +++--- .../cache/transactions/IgniteTxLocalEx.java | 17 +- .../cache/transactions/IgniteTxManager.java | 15 +- .../cache/transactions/IgniteTxProxyImpl.java | 9 +- .../closure/GridClosureProcessor.java | 56 ++-- .../continuous/GridContinuousProcessor.java | 4 +- .../dataload/GridDataLoaderProcessor.java | 5 +- .../dataload/IgniteDataLoaderImpl.java | 58 ++-- .../dr/GridDrDataLoadCacheUpdater.java | 3 +- .../email/IgniteEmailProcessorAdapter.java | 5 +- .../email/IgniteNoopEmailProcessor.java | 5 +- .../processors/fs/GridGgfsAsyncImpl.java | 3 +- .../processors/fs/GridGgfsDataManager.java | 30 +- .../internal/processors/fs/GridGgfsEx.java | 3 +- .../internal/processors/fs/GridGgfsImpl.java | 16 +- .../processors/fs/GridGgfsInputStreamImpl.java | 19 +- .../processors/fs/GridGgfsIpcHandler.java | 4 +- .../processors/fs/GridGgfsMetaManager.java | 9 +- .../internal/processors/fs/GridGgfsServer.java | 8 +- .../processors/fs/GridGgfsServerHandler.java | 4 +- .../processors/fs/IgniteFsOutputStreamImpl.java | 3 +- .../hadoop/IgniteHadoopNoopProcessor.java | 5 +- .../hadoop/IgniteHadoopProcessorAdapter.java | 5 +- .../processors/query/GridQueryIndexing.java | 4 +- .../processors/query/GridQueryProcessor.java | 12 +- .../processors/rest/GridRestProcessor.java | 18 +- .../rest/GridRestProtocolHandler.java | 4 +- .../rest/handlers/GridRestCommandHandler.java | 4 +- .../handlers/cache/GridCacheCommandHandler.java | 54 ++-- .../cache/GridCacheQueryCommandHandler.java | 12 +- .../handlers/log/GridLogCommandHandler.java | 3 +- .../metadata/GridPortableMetadataHandler.java | 3 +- .../handlers/task/GridTaskCommandHandler.java | 8 +- .../top/GridTopologyCommandHandler.java | 3 +- .../version/GridVersionCommandHandler.java | 3 +- .../tcp/GridTcpMemcachedNioListener.java | 17 +- .../protocols/tcp/GridTcpRestNioListener.java | 5 +- .../service/GridServiceProcessor.java | 20 +- .../processors/streamer/IgniteStreamerImpl.java | 4 +- .../apache/ignite/internal/util/GridUtils.java | 6 +- .../util/future/GridCompoundFuture.java | 28 +- .../util/future/GridCompoundIdentityFuture.java | 2 +- .../util/future/GridEmbeddedFuture.java | 38 +-- .../util/future/GridFinishedFuture.java | 8 +- .../util/future/GridFinishedFutureEx.java | 9 +- .../internal/util/future/GridFutureAdapter.java | 30 +- .../util/future/GridFutureAdapterEx.java | 31 +- .../util/future/GridFutureChainListener.java | 8 +- .../ignite/internal/util/lang/GridFunc.java | 53 ++-- .../ignite/internal/util/nio/GridNioFuture.java | 2 +- .../apache/ignite/internal/util/typedef/X.java | 6 +- .../visor/cache/VisorCachePreloadTask.java | 6 +- .../apache/ignite/lang/IgniteAsyncSupport.java | 4 +- .../ignite/lang/IgniteAsyncSupportAdapter.java | 11 +- .../org/apache/ignite/lang/IgniteFuture.java | 189 ----------- .../ignite/scheduler/SchedulerFuture.java | 4 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 4 +- .../org/apache/ignite/GridTestTaskSession.java | 4 +- .../store/GridCacheBalancingStoreSelfTest.java | 3 +- ...CacheJdbcBlobStoreMultithreadedSelfTest.java | 5 +- .../GridJobMasterLeaveAwareSelfTest.java | 56 ++-- .../internal/GridMultipleJobsSelfTest.java | 6 +- .../internal/GridProjectionAbstractTest.java | 20 +- .../ignite/internal/GridReduceSelfTest.java | 2 +- .../GridTaskFutureImplStopGridSelfTest.java | 5 +- .../internal/GridTaskListenerSelfTest.java | 4 +- .../GridCheckpointManagerAbstractSelfTest.java | 2 +- .../events/GridEventStorageManagerSelfTest.java | 3 +- .../GridCacheAbstractFailoverSelfTest.java | 3 +- .../cache/GridCacheAbstractFlagsTest.java | 4 +- ...cheAbstractFullApiMultithreadedSelfTest.java | 5 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 76 ++--- .../GridCacheAbstractIteratorsSelfTest.java | 10 +- .../cache/GridCacheAbstractMetricsSelfTest.java | 18 +- .../GridCacheAbstractRemoveFailureTest.java | 6 +- .../GridCacheAsyncOperationsLimitSelfTest.java | 8 +- .../cache/GridCacheConcurrentMapTest.java | 6 +- .../GridCacheFinishPartitionsSelfTest.java | 23 +- ...CacheFullTextQueryMultithreadedSelfTest.java | 6 +- ...idCacheGetAndTransformStoreAbstractTest.java | 4 +- .../GridCacheGroupLockAbstractSelfTest.java | 2 +- .../GridCacheGroupLockFailoverSelfTest.java | 5 +- .../cache/GridCacheIncrementTransformTest.java | 4 +- .../cache/GridCacheLuceneQueryIndexTest.java | 18 +- .../GridCacheMissingCommitVersionSelfTest.java | 3 +- ...GridCacheMixedPartitionExchangeSelfTest.java | 4 +- .../cache/GridCacheMultiUpdateLockSelfTest.java | 3 +- ...HeapMultiThreadedUpdateAbstractSelfTest.java | 5 +- .../GridCachePreloadingEvictionsSelfTest.java | 2 +- .../cache/GridCachePutAllFailoverSelfTest.java | 13 +- .../GridCacheReferenceCleanupSelfTest.java | 6 +- ...ridCacheReplicatedSynchronousCommitTest.java | 4 +- .../processors/cache/GridCacheStopSelfTest.java | 6 +- .../cache/GridCacheSwapPreloadSelfTest.java | 4 +- .../cache/GridCacheTtlManagerLoadTest.java | 3 +- .../GridCacheVariableTopologySelfTest.java | 4 +- ...idCacheWriteBehindStoreAbstractSelfTest.java | 4 +- .../GridCacheWriteBehindStoreAbstractTest.java | 4 +- .../GridCacheWriteBehindStoreSelfTest.java | 6 +- .../IgniteCacheEntryListenerAbstractTest.java | 5 +- .../cache/IgniteCacheInvokeAbstractTest.java | 6 +- .../IgniteTxMultiThreadedAbstractTest.java | 6 +- ...eAbstractDataStructuresFailoverSelfTest.java | 27 +- ...actQueueFailoverDataConsistencySelfTest.java | 7 +- .../GridCacheCountDownLatchSelfTest.java | 6 +- .../GridCacheQueueCleanupSelfTest.java | 3 +- ...ridCacheQueueJoinedNodeSelfAbstractTest.java | 7 +- ...GridCacheQueueMultiNodeAbstractSelfTest.java | 17 +- .../GridCacheSetAbstractSelfTest.java | 7 +- .../GridCacheSetFailoverAbstractSelfTest.java | 4 +- ...PartitionedQueueCreateMultiNodeSelfTest.java | 6 +- ...dCachePartitionedQueueEntryMoveSelfTest.java | 6 +- .../GridCacheAbstractJobExecutionTest.java | 6 +- .../GridCacheAtomicTimeoutSelfTest.java | 9 +- .../GridCacheBasicOpAbstractTest.java | 7 +- .../distributed/GridCacheLockAbstractTest.java | 6 +- .../GridCacheMultiNodeAbstractTest.java | 15 +- ...dCacheMultithreadedFailoverAbstractTest.java | 4 +- .../GridCacheNodeFailureAbstractTest.java | 6 +- ...cOriginatingNodeFailureAbstractSelfTest.java | 2 +- .../IgniteTxPreloadAbstractTest.java | 4 +- .../dht/GridCacheColocatedDebugTest.java | 5 +- ...GridCacheDhtEvictionNearReadersSelfTest.java | 6 +- .../dht/GridCacheDhtEvictionSelfTest.java | 8 +- .../dht/GridCacheDhtPreloadPutGetSelfTest.java | 6 +- .../dht/GridCacheDhtPreloadSelfTest.java | 5 +- .../GridCacheDhtPreloadStartStopSelfTest.java | 3 +- ...dCachePartitionedTopologyChangeSelfTest.java | 28 +- ...eAtomicInvalidPartitionHandlingSelfTest.java | 3 +- .../GridCachePartitionedEntryLockSelfTest.java | 5 +- ...titionedExplicitLockNodeFailureSelfTest.java | 6 +- ...achePartitionedMultiNodeFullApiSelfTest.java | 5 +- ...hePartitionedQueryMultiThreadedSelfTest.java | 6 +- .../GridCachePartitionedTxSalvageSelfTest.java | 3 +- .../GridCacheReplicatedEvictionSelfTest.java | 5 +- .../GridCacheBatchEvictUnswapSelfTest.java | 5 +- ...heConcurrentEvictionConsistencySelfTest.java | 4 +- .../GridCacheConcurrentEvictionsSelfTest.java | 4 +- .../cache/eviction/GridCacheMockEntry.java | 27 +- ...cheSynchronousEvictionsFailoverSelfTest.java | 4 +- .../closure/GridClosureProcessorSelfTest.java | 27 +- .../continuous/GridEventConsumeSelfTest.java | 8 +- .../GridDataLoaderProcessorSelfTest.java | 23 +- .../processors/fs/GridGgfsAbstractSelfTest.java | 4 +- .../fs/GridGgfsDataManagerSelfTest.java | 9 +- .../processors/fs/GridGgfsTaskSelfTest.java | 5 +- .../cache/GridCacheCommandHandlerSelfTest.java | 3 +- .../GridServiceProcessorAbstractSelfTest.java | 20 +- .../GridServiceProcessorMultiNodeSelfTest.java | 8 +- .../streamer/GridStreamerFailoverSelfTest.java | 4 +- .../timeout/GridTimeoutProcessorSelfTest.java | 5 +- .../util/future/GridCompoundFutureSelfTest.java | 8 +- .../util/future/GridEmbeddedFutureSelfTest.java | 7 +- .../util/future/GridFinishedFutureSelfTest.java | 7 +- .../util/future/GridFutureAdapterSelfTest.java | 23 +- .../future/GridFutureListenPerformanceTest.java | 5 +- .../shmem/GridIpcSharedMemorySpaceSelfTest.java | 6 +- .../internal/util/nio/GridNioSelfTest.java | 8 +- .../offheap/GridOffHeapMapAbstractSelfTest.java | 7 +- ...idOffHeapPartitionedMapAbstractSelfTest.java | 3 +- ...apPartitionedMapPerformanceAbstractTest.java | 10 +- .../unsafe/GridUnsafeMemorySelfTest.java | 6 +- .../ignite/jvmtest/ConcurrentMapTest.java | 4 +- .../ignite/jvmtest/NetworkFailureTest.java | 16 +- .../QueueSizeCounterMultiThreadedTest.java | 4 +- .../jvmtest/ReadWriteLockMultiThreadedTest.java | 10 +- .../ignite/lang/GridBasicPerformanceTest.java | 5 +- .../apache/ignite/lang/GridFuncSelfTest.java | 13 +- .../lang/GridFutureListenPerformanceTest.java | 5 +- ...idFileSwapSpaceSpiMultithreadedLoadTest.java | 6 +- .../cache/GridCacheAbstractLoadTest.java | 6 +- .../loadtests/cache/GridCacheSwapLoadTest.java | 13 +- .../GridCacheWriteBehindStoreLoadTest.java | 4 +- .../loadtests/colocation/GridTestMain.java | 10 +- .../communication/GridIoManagerBenchmark0.java | 10 +- .../GridContinuousOperationsLoadTest.java | 4 +- ...GridJobExecutionLoadTestClientSemaphore.java | 5 +- ...JobExecutionSingleNodeSemaphoreLoadTest.java | 7 +- .../mergesort/GridMergeSortLoadTask.java | 6 +- ...apPartitionedMapPerformanceAbstractTest.java | 10 +- .../streamer/GridStreamerIndexLoadTest.java | 8 +- .../marshaller/GridMarshallerAbstractTest.java | 14 +- .../ignite/messaging/GridMessagingSelfTest.java | 6 +- ...redFsCheckpointSpiMultiThreadedSelfTest.java | 8 +- .../collision/GridTestCollisionTaskSession.java | 3 +- ...mmunicationSpiConcurrentConnectSelfTest.java | 3 +- .../tcp/GridTcpCommunicationSpiLanTest.java | 3 +- ...cpCommunicationSpiMultithreadedSelfTest.java | 9 +- ...GridTcpCommunicationSpiRecoverySelfTest.java | 7 +- .../tcp/GridTcpDiscoveryMultiThreadedTest.java | 5 +- .../file/GridFileSwapSpaceSpiSelfTest.java | 7 +- .../GridCacheStoreValueBytesTest.java | 7 +- .../index/GridStreamerIndexSelfTest.java | 8 +- .../window/GridStreamerWindowSelfTest.java | 4 +- .../ignite/testframework/GridTestUtils.java | 8 +- .../testframework/junits/GridAbstractTest.java | 8 +- .../cache/GridAbstractCacheStoreSelfTest.java | 3 +- .../junits/common/GridCommonAbstractTest.java | 4 +- ...dConcurrentLinkedDequeMultiThreadedTest.java | 6 +- ...rrentLinkedHashMapMultiThreadedSelfTest.java | 10 +- .../apache/ignite/util/GridIndexFillTest.java | 4 +- .../ignite/util/GridSnapshotLockSelfTest.java | 6 +- .../util/GridSpinReadWriteLockSelfTest.java | 4 +- .../processors/email/IgniteEmailProcessor.java | 5 +- .../GridHadoopClientProtocolProvider.java | 8 +- .../processors/hadoop/GridHadoopImpl.java | 6 +- .../hadoop/IgniteHadoopProcessor.java | 5 +- .../hadoop/jobtracker/GridHadoopJobTracker.java | 19 +- .../proto/GridHadoopProtocolJobStatusTask.java | 7 +- .../hadoop/shuffle/GridHadoopShuffle.java | 2 +- .../hadoop/shuffle/GridHadoopShuffleJob.java | 7 +- .../GridHadoopExternalTaskExecutor.java | 16 +- .../child/GridHadoopChildProcessRunner.java | 18 +- ...idHadoopDefaultMapReducePlannerSelfTest.java | 8 +- .../hadoop/GridHadoopJobTrackerSelfTest.java | 3 +- .../GridHadoopMapReduceEmbeddedSelfTest.java | 4 +- .../hadoop/GridHadoopMapReduceTest.java | 4 +- .../hadoop/GridHadoopTaskExecutionSelfTest.java | 12 +- .../GridHadoopExecutorServiceTest.java | 4 +- ...GridHadoopExternalTaskExecutionSelfTest.java | 6 +- .../ggfs/GridGgfsPerformanceBenchmark.java | 4 +- .../processors/query/h2/IgniteH2Indexing.java | 4 +- .../h2/twostep/GridReduceQueryExecutor.java | 2 +- .../cache/GridCacheOffHeapAndSwapSelfTest.java | 4 +- .../GridCacheQueryMultiThreadedSelfTest.java | 16 +- ...idCacheReduceQueryMultithreadedSelfTest.java | 6 +- .../near/GridCacheQueryNodeRestartSelfTest.java | 5 +- .../GridCacheReplicatedQuerySelfTest.java | 2 +- .../query/h2/GridH2IndexRebuildTest.java | 7 +- .../query/h2/GridH2IndexingGeoSelfTest.java | 6 +- .../tcp/GridOrderedMessageCancelSelfTest.java | 2 +- .../scalar/pimps/ScalarProjectionPimp.scala | 25 +- .../processors/schedule/ScheduleFutureImpl.java | 22 +- .../schedule/GridScheduleSelfTest.java | 13 +- .../GridTaskUriDeploymentDeadlockSelfTest.java | 2 +- .../internal/websession/WebSessionSelfTest.java | 4 +- 340 files changed, 2289 insertions(+), 2197 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/examples/src/main/java/org/apache/ignite/examples/compute/ComputeFibonacciContinuationExample.java ---------------------------------------------------------------------- diff --git a/examples/src/main/java/org/apache/ignite/examples/compute/ComputeFibonacciContinuationExample.java b/examples/src/main/java/org/apache/ignite/examples/compute/ComputeFibonacciContinuationExample.java index 7309f7e..9301686 100644 --- a/examples/src/main/java/org/apache/ignite/examples/compute/ComputeFibonacciContinuationExample.java +++ b/examples/src/main/java/org/apache/ignite/examples/compute/ComputeFibonacciContinuationExample.java @@ -21,6 +21,7 @@ import org.apache.ignite.*; import org.apache.ignite.cluster.*; import org.apache.ignite.compute.*; import org.apache.ignite.examples.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.resources.*; import org.jetbrains.annotations.*; @@ -86,10 +87,10 @@ public final class ComputeFibonacciContinuationExample { */ private static class FibonacciClosure implements IgniteClosure<Long, BigInteger> { /** Future for spawned task. */ - private IgniteFuture<BigInteger> fut1; + private IgniteInternalFuture<BigInteger> fut1; /** Future for spawned task. */ - private IgniteFuture<BigInteger> fut2; + private IgniteInternalFuture<BigInteger> fut2; /** Auto-inject job context. */ @IgniteJobContextResource @@ -123,7 +124,7 @@ public final class ComputeFibonacciContinuationExample { return n == 0 ? BigInteger.ZERO : BigInteger.ONE; // Node-local storage. - ClusterNodeLocalMap<Long, IgniteFuture<BigInteger>> locMap = g.cluster().nodeLocalMap(); + ClusterNodeLocalMap<Long, IgniteInternalFuture<BigInteger>> locMap = g.cluster().nodeLocalMap(); // Check if value is cached in node-local-map first. fut1 = locMap.get(n - 1); @@ -149,8 +150,8 @@ public final class ComputeFibonacciContinuationExample { // If futures are not done, then wait asynchronously for the result if (!fut1.isDone() || !fut2.isDone()) { - IgniteInClosure<IgniteFuture<BigInteger>> lsnr = new IgniteInClosure<IgniteFuture<BigInteger>>() { - @Override public void apply(IgniteFuture<BigInteger> f) { + IgniteInClosure<IgniteInternalFuture<BigInteger>> lsnr = new IgniteInClosure<IgniteInternalFuture<BigInteger>>() { + @Override public void apply(IgniteInternalFuture<BigInteger> f) { // If both futures are done, resume the continuation. if (fut1.isDone() && fut2.isDone()) // CONTINUATION: http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/examples/src/main/java/org/apache/ignite/examples/compute/ComputeRunnableExample.java ---------------------------------------------------------------------- diff --git a/examples/src/main/java/org/apache/ignite/examples/compute/ComputeRunnableExample.java b/examples/src/main/java/org/apache/ignite/examples/compute/ComputeRunnableExample.java index c70360f..a7dfad0 100644 --- a/examples/src/main/java/org/apache/ignite/examples/compute/ComputeRunnableExample.java +++ b/examples/src/main/java/org/apache/ignite/examples/compute/ComputeRunnableExample.java @@ -19,6 +19,7 @@ package org.apache.ignite.examples.compute; import org.apache.ignite.*; import org.apache.ignite.examples.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import java.util.*; @@ -44,7 +45,7 @@ public class ComputeRunnableExample { System.out.println(); System.out.println("Compute runnable example started."); - Collection<IgniteFuture> futs = new ArrayList<>(); + Collection<IgniteInternalFuture> futs = new ArrayList<>(); // Enable asynchronous mode. IgniteCompute compute = g.compute().withAsync(); @@ -63,7 +64,7 @@ public class ComputeRunnableExample { } // Wait for all futures to complete. - for (IgniteFuture<?> f : futs) + for (IgniteInternalFuture<?> f : futs) f.get(); System.out.println(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarContinuationExample.scala ---------------------------------------------------------------------- diff --git a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarContinuationExample.scala b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarContinuationExample.scala index 6ac2b91..7218490 100644 --- a/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarContinuationExample.scala +++ b/examples/src/main/scala/org/apache/ignite/scalar/examples/ScalarContinuationExample.scala @@ -18,7 +18,8 @@ package org.apache.ignite.scalar.examples import org.apache.ignite.compute.ComputeJobContext -import org.apache.ignite.lang.{IgniteClosure, IgniteFuture} +import org.apache.ignite.internal.IgniteInternalFuture +import org.apache.ignite.lang.IgniteClosure import org.apache.ignite.resources.IgniteJobContextResource import org.apache.ignite.scalar.scalar import org.apache.ignite.scalar.scalar._ @@ -81,7 +82,7 @@ class FibonacciClosure ( // However, these fields will be preserved locally while // this closure is being "held", i.e. while it is suspended // and is waiting to be continued. - @transient private var fut1, fut2: IgniteFuture[BigInteger] = null + @transient private var fut1, fut2: IgniteInternalFuture[BigInteger] = null // Auto-inject job context. @IgniteJobContextResource @@ -103,7 +104,7 @@ class FibonacciClosure ( BigInteger.ONE // Get properly typed node-local storage. - val store = g.cluster().nodeLocalMap[Long, IgniteFuture[BigInteger]]() + val store = g.cluster().nodeLocalMap[Long, IgniteInternalFuture[BigInteger]]() // Check if value is cached in node-local store first. fut1 = store.get(n - 1) @@ -133,7 +134,7 @@ class FibonacciClosure ( // If futures are not done, then wait asynchronously for the result if (!fut1.isDone || !fut2.isDone) { - val lsnr = (fut: IgniteFuture[BigInteger]) => { + val lsnr = (fut: IgniteInternalFuture[BigInteger]) => { // This method will be called twice, once for each future. // On the second call - we have to have both futures to be done // - therefore we can call the continuation. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java index 6d7d046..b5c5a85 100644 --- a/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java +++ b/modules/clients/src/test/java/org/apache/ignite/client/ClientAbstractMultiThreadedSelfTest.java @@ -305,7 +305,7 @@ public abstract class ClientAbstractMultiThreadedSelfTest extends GridCommonAbst final String val = "v" + i; - IgniteFuture<?> f = multithreadedAsync(new Callable<Object>() { + IgniteInternalFuture<?> f = multithreadedAsync(new Callable<Object>() { @Override public Object call() throws Exception { l.await(); @@ -333,7 +333,7 @@ public abstract class ClientAbstractMultiThreadedSelfTest extends GridCommonAbst final ConcurrentLinkedQueue<String> execQueue = new ConcurrentLinkedQueue<>(); - IgniteFuture<?> fut = multithreadedAsync(new Runnable() { + IgniteInternalFuture<?> fut = multithreadedAsync(new Runnable() { @Override public void run() { long processed; @@ -412,7 +412,7 @@ public abstract class ClientAbstractMultiThreadedSelfTest extends GridCommonAbst assertEquals(NODES_CNT, client.compute().refreshTopology(false, false).size()); - IgniteFuture<?> fut = multithreadedAsync(new Runnable() { + IgniteInternalFuture<?> fut = multithreadedAsync(new Runnable() { @SuppressWarnings("OverlyStrongTypeCast") @Override public void run() { try { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java index 871e592..efae923 100644 --- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java +++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/RestProcessorStartSelfTest.java @@ -18,6 +18,7 @@ package org.apache.ignite.internal.processors.rest; import org.apache.ignite.configuration.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.spi.*; import org.apache.ignite.client.*; @@ -119,7 +120,7 @@ public class RestProcessorStartSelfTest extends GridCommonAbstractTest { try { gridReady.await(); - IgniteFuture<GridClient> c = GridTestUtils.runAsync(new Callable<GridClient>() { + IgniteInternalFuture<GridClient> c = GridTestUtils.runAsync(new Callable<GridClient>() { @Override public GridClient call() throws Exception { return GridClientFactory.start(cfg); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/IgniteDataLoader.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteDataLoader.java b/modules/core/src/main/java/org/apache/ignite/IgniteDataLoader.java index a4b41dd..aa77747 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteDataLoader.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteDataLoader.java @@ -18,7 +18,7 @@ package org.apache.ignite; import org.apache.ignite.dataload.*; -import org.apache.ignite.lang.*; +import org.apache.ignite.internal.*; import org.jetbrains.annotations.*; import java.util.*; @@ -209,7 +209,7 @@ public interface IgniteDataLoader<K, V> extends AutoCloseable { * * @return Future for this loading process. */ - public IgniteFuture<?> future(); + public IgniteInternalFuture<?> future(); /** * Optional deploy class for peer deployment. All classes loaded by a data loader @@ -240,7 +240,7 @@ public interface IgniteDataLoader<K, V> extends AutoCloseable { * @throws IllegalStateException If grid has been concurrently stopped or * {@link #close(boolean)} has already been called on loader. */ - public IgniteFuture<?> removeData(K key) throws IgniteCheckedException, IgniteInterruptedException, IllegalStateException; + public IgniteInternalFuture<?> removeData(K key) throws IgniteCheckedException, IgniteInterruptedException, IllegalStateException; /** * Adds data for loading on remote node. This method can be called from multiple @@ -258,7 +258,7 @@ public interface IgniteDataLoader<K, V> extends AutoCloseable { * @throws IllegalStateException If grid has been concurrently stopped or * {@link #close(boolean)} has already been called on loader. */ - public IgniteFuture<?> addData(K key, @Nullable V val) throws IgniteCheckedException, IgniteInterruptedException, + public IgniteInternalFuture<?> addData(K key, @Nullable V val) throws IgniteCheckedException, IgniteInterruptedException, IllegalStateException; /** @@ -276,7 +276,7 @@ public interface IgniteDataLoader<K, V> extends AutoCloseable { * @throws IllegalStateException If grid has been concurrently stopped or * {@link #close(boolean)} has already been called on loader. */ - public IgniteFuture<?> addData(Map.Entry<K, V> entry) throws IgniteCheckedException, IgniteInterruptedException, + public IgniteInternalFuture<?> addData(Map.Entry<K, V> entry) throws IgniteCheckedException, IgniteInterruptedException, IllegalStateException; /** @@ -292,7 +292,7 @@ public interface IgniteDataLoader<K, V> extends AutoCloseable { * {@link #close(boolean)} has already been called on loader. * @return Future for this load operation. */ - public IgniteFuture<?> addData(Collection<? extends Map.Entry<K, V>> entries) throws IllegalStateException; + public IgniteInternalFuture<?> addData(Collection<? extends Map.Entry<K, V>> entries) throws IllegalStateException; /** * Adds data for loading on remote node. This method can be called from multiple @@ -307,7 +307,7 @@ public interface IgniteDataLoader<K, V> extends AutoCloseable { * {@link #close(boolean)} has already been called on loader. * @return Future for this load operation. */ - public IgniteFuture<?> addData(Map<K, V> entries) throws IllegalStateException; + public IgniteInternalFuture<?> addData(Map<K, V> entries) throws IllegalStateException; /** * Loads any remaining data, but doesn't close the loader. Data can be still added after http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/IgniteScheduler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteScheduler.java b/modules/core/src/main/java/org/apache/ignite/IgniteScheduler.java index 1f0a7c7..26fd0f3 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteScheduler.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteScheduler.java @@ -17,7 +17,7 @@ package org.apache.ignite; -import org.apache.ignite.lang.*; +import org.apache.ignite.internal.*; import org.apache.ignite.scheduler.*; import org.jetbrains.annotations.*; @@ -57,7 +57,7 @@ public interface IgniteScheduler { * @see #callLocal(Callable) * @see org.apache.ignite.lang.IgniteClosure */ - public IgniteFuture<?> runLocal(@Nullable Runnable r); + public IgniteInternalFuture<?> runLocal(@Nullable Runnable r); /** * Executes given callable on internal system thread pool asynchronously. @@ -71,7 +71,7 @@ public interface IgniteScheduler { * @see #runLocal(Runnable) * @see org.apache.ignite.lang.IgniteOutClosure */ - public <R> IgniteFuture<R> callLocal(@Nullable Callable<R> c); + public <R> IgniteInternalFuture<R> callLocal(@Nullable Callable<R> c); /** * Schedules job for execution using local <b>cron-based</b> scheduling. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java index d35f8f9..30db44c 100644 --- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java +++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java @@ -272,10 +272,10 @@ public final class IgniteSystemProperties { /** * Name of the system property or environment variable to activate synchronous * listener notification for future objects implemented in GridGain. I.e. - * closure passed into method {@link org.apache.ignite.lang.IgniteFuture#listenAsync(org.apache.ignite.lang.IgniteInClosure)} will + * closure passed into method {@link org.apache.ignite.internal.IgniteInternalFuture#listenAsync(org.apache.ignite.lang.IgniteInClosure)} will * be evaluated in the same thread that will end the future. * - * @see org.apache.ignite.lang.IgniteFuture#syncNotify() + * @see org.apache.ignite.internal.IgniteInternalFuture#syncNotify() */ public static final String GG_FUT_SYNC_NOTIFICATION = "GRIDGAIN_FUTURE_SYNC_NOTIFICATION"; @@ -285,7 +285,7 @@ public final class IgniteSystemProperties { * upon future completion every listener will be notified concurrently in a * separate thread. * - * @see org.apache.ignite.lang.IgniteFuture#concurrentNotify() + * @see org.apache.ignite.internal.IgniteInternalFuture#concurrentNotify() */ public static final String GG_FUT_CONCURRENT_NOTIFICATION = "GRIDGAIN_FUTURE_CONCURRENT_NOTIFICATION"; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java index 12ff0f4..4211b9b 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheEntry.java @@ -18,6 +18,7 @@ package org.apache.ignite.cache; import org.apache.ignite.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.transactions.*; import org.jetbrains.annotations.*; @@ -128,7 +129,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * * @return See {@link CacheProjection#reloadAsync(Object)}. */ - public IgniteFuture<V> reloadAsync(); + public IgniteInternalFuture<V> reloadAsync(); /** * This method has the same semantic as @@ -228,7 +229,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * * @return See {@link CacheProjection#getAsync(Object)}. */ - public IgniteFuture<V> getAsync(); + public IgniteInternalFuture<V> getAsync(); /** * This method has the same semantic as {@link #set(Object, org.apache.ignite.lang.IgnitePredicate[])} method, however it @@ -258,7 +259,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param filter See {@link CacheProjection#putAsync(Object, Object, org.apache.ignite.lang.IgnitePredicate[])}. * @return See {@link CacheProjection#putAsync(Object, Object, org.apache.ignite.lang.IgnitePredicate[])}. */ - public IgniteFuture<V> setAsync(V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<V> setAsync(V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** * This method has the same semantic as @@ -277,7 +278,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param val See {@link CacheProjection#putIfAbsentAsync(Object, Object)} * @return See {@link CacheProjection#putIfAbsentAsync(Object, Object)}. */ - public IgniteFuture<V> setIfAbsentAsync(V val); + public IgniteInternalFuture<V> setIfAbsentAsync(V val); /** * This method has the same semantic as @@ -299,7 +300,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param filter See {@link CacheProjection#putxAsync(Object, Object, org.apache.ignite.lang.IgnitePredicate[])}. * @return See {@link CacheProjection#putxAsync(Object, Object, org.apache.ignite.lang.IgnitePredicate[])}. */ - public IgniteFuture<Boolean> setxAsync(V val, + public IgniteInternalFuture<Boolean> setxAsync(V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** @@ -319,7 +320,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param val See {@link CacheProjection#putxIfAbsentAsync(Object, Object)} * @return See {@link CacheProjection#putxIfAbsentAsync(Object, Object)}. */ - public IgniteFuture<Boolean> setxIfAbsentAsync(V val); + public IgniteInternalFuture<Boolean> setxIfAbsentAsync(V val); /** * This method has the same semantic as @@ -338,7 +339,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param val See {@link CacheProjection#replaceAsync(Object, Object)} * @return See {@link CacheProjection#replaceAsync(Object, Object)}. */ - public IgniteFuture<V> replaceAsync(V val); + public IgniteInternalFuture<V> replaceAsync(V val); /** * This method has the same semantic as @@ -357,7 +358,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param val See {@link CacheProjection#replacexAsync(Object, Object)} * @return See {@link CacheProjection#replacexAsync(Object, Object)}. */ - public IgniteFuture<Boolean> replacexAsync(V val); + public IgniteInternalFuture<Boolean> replacexAsync(V val); /** * This method has the same semantic as @@ -378,7 +379,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param newVal See {@link CacheProjection#replaceAsync(Object, Object, Object)} * @return See {@link CacheProjection#replaceAsync(Object, Object)}. */ - public IgniteFuture<Boolean> replaceAsync(V oldVal, V newVal); + public IgniteInternalFuture<Boolean> replaceAsync(V oldVal, V newVal); /** * This method has the same semantic as @@ -397,7 +398,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param filter See {@link CacheProjection#removeAsync(Object, org.apache.ignite.lang.IgnitePredicate[])}. * @return See {@link CacheProjection#removeAsync(Object, org.apache.ignite.lang.IgnitePredicate[])}. */ - public IgniteFuture<V> removeAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<V> removeAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** * This method has the same semantic as @@ -416,7 +417,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param filter See {@link CacheProjection#removexAsync(Object, org.apache.ignite.lang.IgnitePredicate[])}. * @return See {@link CacheProjection#removexAsync(Object, org.apache.ignite.lang.IgnitePredicate[])}. */ - public IgniteFuture<Boolean> removexAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<Boolean> removexAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** * This method has the same semantic as @@ -435,7 +436,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * @param val See {@link CacheProjection#removeAsync(Object, Object)}. * @return See {@link CacheProjection#removeAsync(Object, Object)}. */ - public IgniteFuture<Boolean> removeAsync(V val); + public IgniteInternalFuture<Boolean> removeAsync(V val); /** * This method has the same semantic as @@ -507,7 +508,7 @@ public interface CacheEntry<K, V> extends Map.Entry<K, V>, javax.cache.Cache.Ent * {@code false} otherwise. * @throws org.apache.ignite.internal.processors.cache.CacheFlagException If flags validation failed. */ - public IgniteFuture<Boolean> lockAsync(long timeout, + public IgniteInternalFuture<Boolean> lockAsync(long timeout, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/cache/CacheProjection.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/CacheProjection.java b/modules/core/src/main/java/org/apache/ignite/cache/CacheProjection.java index 4d61d1d..2457fcd 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/CacheProjection.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/CacheProjection.java @@ -21,6 +21,7 @@ import org.apache.ignite.*; import org.apache.ignite.cache.query.*; import org.apache.ignite.cache.store.*; import org.apache.ignite.cluster.*; +import org.apache.ignite.internal.*; import org.apache.ignite.internal.processors.cache.*; import org.apache.ignite.lang.*; import org.apache.ignite.transactions.*; @@ -347,7 +348,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @param key Key. * @return Future. */ - public IgniteFuture<Boolean> containsKeyAsync(K key); + public IgniteInternalFuture<Boolean> containsKeyAsync(K key); /** * Returns {@code true} if this cache contains given value. @@ -407,7 +408,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @param key Key to reload. * @return Future to be completed whenever the entry is reloaded. */ - public IgniteFuture<V> reloadAsync(K key); + public IgniteInternalFuture<V> reloadAsync(K key); /** * Reloads all currently cached keys form persistent storage. @@ -428,7 +429,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * * @return Future which will complete whenever {@code reload} completes. */ - public IgniteFuture<?> reloadAllAsync(); + public IgniteInternalFuture<?> reloadAllAsync(); /** * Reloads specified entries from underlying persistent storage. @@ -451,7 +452,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @param keys Keys to reload. * @return Future which will complete whenever {@code reload} completes. */ - public IgniteFuture<?> reloadAllAsync(@Nullable Collection<? extends K> keys); + public IgniteInternalFuture<?> reloadAllAsync(@Nullable Collection<? extends K> keys); /** * Peeks at in-memory cached value using default {@link GridCachePeekMode#SMART} @@ -536,7 +537,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException if the key is {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<V> getAsync(K key); + public IgniteInternalFuture<V> getAsync(K key); /** * Retrieves values mapped to the specified keys from cache. Value will only be returned if @@ -583,7 +584,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @return Future for the get operation. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Map<K, V>> getAllAsync(@Nullable Collection<? extends K> keys); + public IgniteInternalFuture<Map<K, V>> getAllAsync(@Nullable Collection<? extends K> keys); /** * Stores given key-value pair in cache. If filters are provided, then entries will @@ -655,7 +656,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<V> putAsync(K key, V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<V> putAsync(K key, V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** * Stores given key-value pair in cache. If filters are provided, then entries will @@ -719,7 +720,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Boolean> putxAsync(K key, V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<Boolean> putxAsync(K key, V val, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** * Stores given key-value pair in cache only if cache had no previous mapping for it. If cache @@ -781,7 +782,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<V> putIfAbsentAsync(K key, V val); + public IgniteInternalFuture<V> putIfAbsentAsync(K key, V val); /** * Stores given key-value pair in cache only if cache had no previous mapping for it. @@ -832,7 +833,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Boolean> putxIfAbsentAsync(K key, V val); + public IgniteInternalFuture<Boolean> putxIfAbsentAsync(K key, V val); /** * Stores given key-value pair in cache only if there is a previous mapping for it. @@ -891,7 +892,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<V> replaceAsync(K key, V val); + public IgniteInternalFuture<V> replaceAsync(K key, V val); /** * Stores given key-value pair in cache only if only if there is a previous mapping for it. @@ -942,7 +943,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Boolean> replacexAsync(K key, V val); + public IgniteInternalFuture<Boolean> replacexAsync(K key, V val); /** * Stores given key-value pair in cache only if only if the previous value is equal to the @@ -991,7 +992,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException If either key or value are {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Boolean> replaceAsync(K key, V oldVal, V newVal); + public IgniteInternalFuture<Boolean> replaceAsync(K key, V oldVal, V newVal); /** * Stores given key-value pairs in cache. If filters are provided, then entries will @@ -1036,7 +1037,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @return Future for putAll operation. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<?> putAllAsync(@Nullable Map<? extends K, ? extends V> m, + public IgniteInternalFuture<?> putAllAsync(@Nullable Map<? extends K, ? extends V> m, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** @@ -1465,7 +1466,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException if the key is {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<V> removeAsync(K key, IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<V> removeAsync(K key, IgnitePredicate<CacheEntry<K, V>>... filter); /** * Removes given key mapping from cache. @@ -1518,7 +1519,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException if the key is {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Boolean> removexAsync(K key, + public IgniteInternalFuture<Boolean> removexAsync(K key, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** @@ -1565,7 +1566,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * @throws NullPointerException if the key or value is {@code null}. * @throws CacheFlagException If projection flags validation failed. */ - public IgniteFuture<Boolean> removeAsync(K key, V val); + public IgniteInternalFuture<Boolean> removeAsync(K key, V val); /** * Removes given key mappings from cache for entries for which the optionally passed in filters do @@ -1609,7 +1610,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * remove operation completes. * @throws CacheFlagException If flags validation failed. */ - public IgniteFuture<?> removeAllAsync(@Nullable Collection<? extends K> keys, + public IgniteInternalFuture<?> removeAllAsync(@Nullable Collection<? extends K> keys, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** @@ -1662,7 +1663,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * remove operation completes. * @throws CacheFlagException If flags validation failed. */ - public IgniteFuture<?> removeAllAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter); + public IgniteInternalFuture<?> removeAllAsync(@Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** * Synchronously acquires lock on a cached object with given @@ -1713,7 +1714,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * {@code false} otherwise. * @throws CacheFlagException If flags validation failed. */ - public IgniteFuture<Boolean> lockAsync(K key, long timeout, + public IgniteInternalFuture<Boolean> lockAsync(K key, long timeout, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** @@ -1765,7 +1766,7 @@ public interface CacheProjection<K, V> extends Iterable<CacheEntry<K, V>> { * timeout has expired, {@code false} otherwise. * @throws CacheFlagException If flags validation failed. */ - public IgniteFuture<Boolean> lockAllAsync(@Nullable Collection<? extends K> keys, long timeout, + public IgniteInternalFuture<Boolean> lockAllAsync(@Nullable Collection<? extends K> keys, long timeout, @Nullable IgnitePredicate<CacheEntry<K, V>>... filter); /** http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java b/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java index fdddd9f..640a70c 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/GridCache.java @@ -21,6 +21,7 @@ import org.apache.ignite.*; import org.apache.ignite.cache.affinity.*; import org.apache.ignite.cache.datastructures.*; import org.apache.ignite.cache.store.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.apache.ignite.mxbean.*; import org.apache.ignite.transactions.*; @@ -239,7 +240,7 @@ public interface GridCache<K, V> extends CacheProjection<K, V> { * {@link CacheStore#loadCache(org.apache.ignite.lang.IgniteBiInClosure,Object...)} method. * @return Future to be completed whenever loading completes. */ - public IgniteFuture<?> loadCacheAsync(@Nullable IgniteBiPredicate<K, V> p, long ttl, @Nullable Object... args); + public IgniteInternalFuture<?> loadCacheAsync(@Nullable IgniteBiPredicate<K, V> p, long ttl, @Nullable Object... args); /** * Gets a random entry out of cache. In the worst cache scenario this method @@ -277,5 +278,5 @@ public interface GridCache<K, V> extends CacheProjection<K, V> { * <p> * @return Future that will be completed when preloading is finished. */ - public IgniteFuture<?> forceRepartition(); + public IgniteInternalFuture<?> forceRepartition(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueries.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueries.java b/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueries.java index 1cc59bb..f14f869 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueries.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueries.java @@ -17,6 +17,7 @@ package org.apache.ignite.cache.query; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.jetbrains.annotations.*; @@ -111,7 +112,7 @@ public interface CacheQueries<K, V> { * * @return Future that will be completed when rebuilding of all indexes is finished. */ - public IgniteFuture<?> rebuildIndexes(Class<?> cls); + public IgniteInternalFuture<?> rebuildIndexes(Class<?> cls); /** * Forces this cache to rebuild all search indexes of given value type. Sometimes indexes @@ -124,7 +125,7 @@ public interface CacheQueries<K, V> { * * @return Future that will be completed when rebuilding of all indexes is finished. */ - public IgniteFuture<?> rebuildIndexes(String typeName); + public IgniteInternalFuture<?> rebuildIndexes(String typeName); /** * Forces this cache to rebuild search indexes of all types. Sometimes indexes @@ -135,7 +136,7 @@ public interface CacheQueries<K, V> { * * @return Future that will be completed when rebuilding of all indexes is finished. */ - public IgniteFuture<?> rebuildAllIndexes(); + public IgniteInternalFuture<?> rebuildAllIndexes(); /** * Accumulated metrics for all queries executed for this cache. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueryFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueryFuture.java b/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueryFuture.java index b0c930c..6f68f29 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueryFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/CacheQueryFuture.java @@ -18,7 +18,7 @@ package org.apache.ignite.cache.query; import org.apache.ignite.*; -import org.apache.ignite.lang.*; +import org.apache.ignite.internal.*; import org.jetbrains.annotations.*; import java.util.*; @@ -27,7 +27,7 @@ import java.util.*; * Cache query future returned by query execution. * Refer to {@link CacheQuery} documentation for more information. */ -public interface CacheQueryFuture<T> extends IgniteFuture<Collection<T>> { +public interface CacheQueryFuture<T> extends IgniteInternalFuture<Collection<T>> { /** * Returns number of elements that are already fetched and can * be returned from {@link #next()} method without blocking. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskFuture.java b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskFuture.java index 6bb2325..8476fc6 100644 --- a/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskFuture.java @@ -18,7 +18,7 @@ package org.apache.ignite.compute; import org.apache.ignite.*; -import org.apache.ignite.lang.*; +import org.apache.ignite.internal.*; import java.util.*; import java.util.concurrent.*; @@ -29,7 +29,7 @@ import java.util.concurrent.*; * hierarchy. * @param <R> Type of the task result returning from {@link ComputeTask#reduce(List)} method. */ -public interface ComputeTaskFuture<R> extends IgniteFuture<R> { +public interface ComputeTaskFuture<R> extends IgniteInternalFuture<R> { /** * {@inheritDoc} * http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSession.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSession.java b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSession.java index cae75a7..c17eee9 100644 --- a/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSession.java +++ b/modules/core/src/main/java/org/apache/ignite/compute/ComputeTaskSession.java @@ -18,6 +18,7 @@ package org.apache.ignite.compute; import org.apache.ignite.*; +import org.apache.ignite.internal.*; import org.apache.ignite.lang.*; import org.jetbrains.annotations.*; @@ -439,5 +440,5 @@ public interface ComputeTaskSession { * * @return Future that will be completed when task "<tt>map</tt>" step has completed. */ - public IgniteFuture<?> mapFuture(); + public IgniteInternalFuture<?> mapFuture(); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/hadoop/GridHadoop.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/hadoop/GridHadoop.java b/modules/core/src/main/java/org/apache/ignite/hadoop/GridHadoop.java index 64d2dec..bab5496 100644 --- a/modules/core/src/main/java/org/apache/ignite/hadoop/GridHadoop.java +++ b/modules/core/src/main/java/org/apache/ignite/hadoop/GridHadoop.java @@ -18,7 +18,7 @@ package org.apache.ignite.hadoop; import org.apache.ignite.*; -import org.apache.ignite.lang.*; +import org.apache.ignite.internal.*; import org.jetbrains.annotations.*; /** @@ -46,7 +46,7 @@ public interface GridHadoop { * @param jobInfo Job info to submit. * @return Execution future. */ - public IgniteFuture<?> submit(GridHadoopJobId jobId, GridHadoopJobInfo jobInfo); + public IgniteInternalFuture<?> submit(GridHadoopJobId jobId, GridHadoopJobInfo jobInfo); /** * Gets Hadoop job execution status. @@ -73,7 +73,7 @@ public interface GridHadoop { * @return Job finish future or {@code null} in case job with the given ID is not found. * @throws IgniteCheckedException If failed. */ - @Nullable public IgniteFuture<?> finishFuture(GridHadoopJobId jobId) throws IgniteCheckedException; + @Nullable public IgniteInternalFuture<?> finishFuture(GridHadoopJobId jobId) throws IgniteCheckedException; /** * Kills job. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/GridEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridEx.java b/modules/core/src/main/java/org/apache/ignite/internal/GridEx.java index 1eea09a..6e004fc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridEx.java @@ -124,7 +124,7 @@ public interface GridEx extends Ignite, ClusterGroupEx, IgniteCluster { /** * Schedule sending of given email to all configured admin emails. */ - IgniteFuture<Boolean> sendAdminEmailAsync(String subj, String body, boolean html); + IgniteInternalFuture<Boolean> sendAdminEmailAsync(String subj, String body, boolean html); /** * Get GGFS instance returning null if it doesn't exist. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/GridJobSessionImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridJobSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridJobSessionImpl.java index 3b261d0..abec4f4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridJobSessionImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridJobSessionImpl.java @@ -277,7 +277,7 @@ public class GridJobSessionImpl implements GridTaskSessionInternal { } /** {@inheritDoc} */ - @Override public IgniteFuture<?> mapFuture() { + @Override public IgniteInternalFuture<?> mapFuture() { return new GridFinishedFuture<>(ctx); } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java index 35484a8..8ffafac 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernal.java @@ -2534,7 +2534,7 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMXB * @see #isSmtpEnabled() * @see org.apache.ignite.configuration.IgniteConfiguration#getAdminEmails() */ - @Override public IgniteFuture<Boolean> sendAdminEmailAsync(String subj, String body, boolean html) { + @Override public IgniteInternalFuture<Boolean> sendAdminEmailAsync(String subj, String body, boolean html) { A.notNull(subj, "subj"); A.notNull(body, "body"); @@ -2626,7 +2626,7 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMXB * @throws IgniteCheckedException In case of error. * @see {@link org.apache.ignite.IgniteCluster#startNodes(java.io.File, boolean, int, int)}. */ - IgniteFuture<Collection<GridTuple3<String, Boolean, String>>> startNodesAsync(File file, boolean restart, int timeout, int maxConn) throws IgniteCheckedException { + IgniteInternalFuture<Collection<GridTuple3<String, Boolean, String>>> startNodesAsync(File file, boolean restart, int timeout, int maxConn) throws IgniteCheckedException { A.notNull(file, "file"); A.ensure(file.exists(), "file doesn't exist."); A.ensure(file.isFile(), "file is a directory."); @@ -2647,7 +2647,7 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMXB } /** {@inheritDoc} */ - @Override public <R> IgniteFuture<R> future() { + @Override public <R> IgniteInternalFuture<R> future() { throw new IllegalStateException("Asynchronous mode is not enabled."); } @@ -2668,7 +2668,7 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMXB * @throws IgniteCheckedException In case of error. * @see {@link org.apache.ignite.IgniteCluster#startNodes(java.util.Collection, java.util.Map, boolean, int, int)}. */ - IgniteFuture<Collection<GridTuple3<String, Boolean, String>>> startNodesAsync( + IgniteInternalFuture<Collection<GridTuple3<String, Boolean, String>>> startNodesAsync( Collection<Map<String, Object>> hosts, @Nullable Map<String, Object> dflts, boolean restart, int timeout, int maxConn) throws IgniteCheckedException { A.notNull(hosts, "hosts"); @@ -2809,15 +2809,15 @@ public class GridKernal extends ClusterGroupAdapter implements GridEx, IgniteMXB if (call == null) return false; - IgniteFuture<GridTuple3<String, Boolean, String>> fut = ctx.closure().callLocalSafe(call, true); + IgniteInternalFuture<GridTuple3<String, Boolean, String>> fut = ctx.closure().callLocalSafe(call, true); comp.add(fut); if (cnt.decrementAndGet() == 0) comp.markInitialized(); - fut.listenAsync(new CI1<IgniteFuture<GridTuple3<String, Boolean, String>>>() { - @Override public void apply(IgniteFuture<GridTuple3<String, Boolean, String>> f) { + fut.listenAsync(new CI1<IgniteInternalFuture<GridTuple3<String, Boolean, String>>>() { + @Override public void apply(IgniteInternalFuture<GridTuple3<String, Boolean, String>> f) { runNextNodeCallable(queue, comp, cnt); } }); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java index f5f0b33..e11c7d0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridTaskSessionImpl.java @@ -828,7 +828,7 @@ public class GridTaskSessionImpl implements GridTaskSessionInternal { } /** {@inheritDoc} */ - @Override public IgniteFuture<?> mapFuture() { + @Override public IgniteInternalFuture<?> mapFuture() { return mapFut; } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java new file mode 100644 index 0000000..cc376fb --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteInternalFuture.java @@ -0,0 +1,190 @@ +/* + * 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; + +import org.apache.ignite.*; +import org.apache.ignite.lang.*; +import org.jetbrains.annotations.*; + +import java.util.concurrent.*; + +/** + * Extension for standard {@link Future} interface. It adds simplified exception handling, + * functional programming support and ability to listen for future completion via functional + * callback. + * @param <R> Type of the result for the future. + */ +public interface IgniteInternalFuture<R> { + /** + * Synchronously waits for completion of the computation and + * returns computation result. + * + * @return Computation result. + * @throws IgniteInterruptedException Subclass of {@link IgniteCheckedException} thrown if the wait was interrupted. + * @throws IgniteFutureCancelledException Subclass of {@link IgniteCheckedException} throws if computation was cancelled. + * @throws IgniteCheckedException If computation failed. + */ + public R get() throws IgniteCheckedException; + + /** + * Synchronously waits for completion of the computation for + * up to the timeout specified and returns computation result. + * This method is equivalent to calling {@link #get(long, TimeUnit) get(long, TimeUnit.MILLISECONDS)}. + * + * @param timeout The maximum time to wait in milliseconds. + * @return Computation result. + * @throws IgniteInterruptedException Subclass of {@link IgniteCheckedException} thrown if the wait was interrupted. + * @throws org.apache.ignite.lang.IgniteFutureTimeoutException Subclass of {@link IgniteCheckedException} thrown if the wait was timed out. + * @throws IgniteFutureCancelledException Subclass of {@link IgniteCheckedException} throws if computation was cancelled. + * @throws IgniteCheckedException If computation failed. + */ + public R get(long timeout) throws IgniteCheckedException; + + /** + * Synchronously waits for completion of the computation for + * up to the timeout specified and returns computation result. + * + * @param timeout The maximum time to wait. + * @param unit The time unit of the {@code timeout} argument. + * @return Computation result. + * @throws IgniteInterruptedException Subclass of {@link IgniteCheckedException} thrown if the wait was interrupted. + * @throws org.apache.ignite.lang.IgniteFutureTimeoutException Subclass of {@link IgniteCheckedException} thrown if the wait was timed out. + * @throws IgniteFutureCancelledException Subclass of {@link IgniteCheckedException} throws if computation was cancelled. + * @throws IgniteCheckedException If computation failed. + */ + public R get(long timeout, TimeUnit unit) throws IgniteCheckedException; + + /** + * Cancels this future. + * + * @return {@code True} if future was canceled (i.e. was not finished prior to this call). + * @throws IgniteCheckedException If cancellation failed. + */ + public boolean cancel() throws IgniteCheckedException; + + /** + * Checks if computation is done. + * + * @return {@code True} if computation is done, {@code false} otherwise. + */ + public boolean isDone(); + + /** + * Returns {@code true} if this computation was cancelled before it completed normally. + * + * @return {@code True} if this computation was cancelled before it completed normally. + */ + public boolean isCancelled(); + + /** + * Gets start time for this future. + * + * @return Start time for this future. + */ + public long startTime(); + + /** + * Gets duration in milliseconds between start of the future and current time if future + * is not finished, or between start and finish of this future. + * + * @return Time in milliseconds this future has taken to execute. + */ + public long duration(); + + /** + * Flag to turn on or off synchronous listener notification. If this flag is {@code true}, then + * upon future completion the notification may happen in the same thread that created + * the future. This becomes especially important when adding listener to a future that + * is already {@code done} - if this flag is {@code true}, then listener will be + * immediately notified within the same thread. + * <p> + * Default value is {@code false}. To change the default, set + * {@link IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property to {@code true}. + * + * @param syncNotify Flag to turn on or off synchronous listener notification. + */ + public void syncNotify(boolean syncNotify); + + /** + * Gets value of synchronous listener notification flag. If this flag is {@code true}, then + * upon future completion the notification may happen in the same thread that created + * the future. This becomes especially important when adding listener to a future that + * is already {@code done} - if this flag is {@code true}, then listener will be + * immediately notified within the same thread. + * <p> + * Default value is {@code false}. To change the default, set + * {@link IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property to {@code true}. + * + * @return Synchronous listener notification flag. + */ + public boolean syncNotify(); + + /** + * Flag to turn on or off concurrent listener notification. This flag comes into play only + * when a future has more than one listener subscribed to it. If this flag is {@code true}, + * then all listeners will be notified concurrently by different threads; otherwise, + * listeners will be notified one after another within one thread (depending on + * {@link #syncNotify()} flag, these notifications may happen either in the same thread which + * started the future, or in a different thread). + * <p> + * Default value is {@code false}. To change the default, set + * {@link IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system property to {@code true}. + * + * @param concurNotify Flag to turn on or off concurrent listener notification. + */ + public void concurrentNotify(boolean concurNotify); + + /** + * Gets value concurrent listener notification flag. This flag comes into play only + * when a future has more than one listener subscribed to it. If this flag is {@code true}, + * then all listeners will be notified concurrently by different threads; otherwise, + * listeners will be notified one after another within one thread (depending on + * {@link #syncNotify()} flag, these notifications may happen either in the same thread which + * started the future, or in a different thread). + * <p> + * Default value is {@code false}. To change the default, set + * {@link IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system property to {@code true}. + * + * @return Concurrent listener notification flag + */ + public boolean concurrentNotify(); + + /** + * Registers listener closure to be asynchronously notified whenever future completes. + * + * @param lsnr Listener closure to register. If not provided - this method is no-op. + */ + public void listenAsync(@Nullable IgniteInClosure<? super IgniteInternalFuture<R>> lsnr); + + /** + * Removes given listeners from the future. If no listener is passed in, then all listeners + * will be removed. + * + * @param lsnr Listeners to remove. + */ + public void stopListenAsync(@Nullable IgniteInClosure<? super IgniteInternalFuture<R>>... lsnr); + + /** + * Make a chained future to convert result of this future (when complete) into a new format. + * It is guaranteed that done callback will be called only ONCE. + * + * @param doneCb Done callback that is applied to this future when it finishes to produce chained future result. + * @return Chained future that finishes after this future completes and done callback is called. + */ + public <T> IgniteInternalFuture<T> chain(IgniteClosure<? super IgniteInternalFuture<R>, T> doneCb); +} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/IgniteSchedulerImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteSchedulerImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteSchedulerImpl.java index 24a3be0..2a7e1c6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteSchedulerImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteSchedulerImpl.java @@ -18,8 +18,6 @@ package org.apache.ignite.internal; import org.apache.ignite.*; -import org.apache.ignite.internal.*; -import org.apache.ignite.lang.*; import org.apache.ignite.scheduler.*; import org.apache.ignite.internal.util.typedef.internal.*; @@ -51,7 +49,7 @@ public class IgniteSchedulerImpl implements IgniteScheduler, Externalizable { } /** {@inheritDoc} */ - @Override public IgniteFuture<?> runLocal(Runnable r) { + @Override public IgniteInternalFuture<?> runLocal(Runnable r) { A.notNull(r, "r"); guard(); @@ -65,7 +63,7 @@ public class IgniteSchedulerImpl implements IgniteScheduler, Externalizable { } /** {@inheritDoc} */ - @Override public <R> IgniteFuture<R> callLocal(Callable<R> c) { + @Override public <R> IgniteInternalFuture<R> callLocal(Callable<R> c) { A.notNull(c, "c"); guard(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/d5bef132/modules/core/src/main/java/org/apache/ignite/internal/executor/GridExecutorService.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/executor/GridExecutorService.java b/modules/core/src/main/java/org/apache/ignite/internal/executor/GridExecutorService.java index 0f2b6eb..019fd59 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/executor/GridExecutorService.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/executor/GridExecutorService.java @@ -87,7 +87,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { private boolean isBeingShutdown; /** List of executing or scheduled for execution tasks. */ - private List<IgniteFuture<?>> futs = new ArrayList<>(); + private List<IgniteInternalFuture<?>> futs = new ArrayList<>(); /** Rejected or completed tasks listener. */ private TaskTerminateListener lsnr = new TaskTerminateListener<>(); @@ -151,7 +151,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { /** {@inheritDoc} */ @Override public List<Runnable> shutdownNow() { - List<IgniteFuture<?>> cpFuts; + List<IgniteInternalFuture<?>> cpFuts; // Cancel all tasks. synchronized (mux) { @@ -160,7 +160,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { isBeingShutdown = true; } - for (IgniteFuture<?> task : cpFuts) { + for (IgniteInternalFuture<?> task : cpFuts) { try { task.cancel(); } @@ -198,17 +198,17 @@ public class GridExecutorService implements ExecutorService, Externalizable { if (end < 0) end = Long.MAX_VALUE; - List<IgniteFuture<?>> locTasks; + List<IgniteInternalFuture<?>> locTasks; // Cancel all tasks. synchronized (mux) { locTasks = new ArrayList<>(futs); } - Iterator<IgniteFuture<?>> iter = locTasks.iterator(); + Iterator<IgniteInternalFuture<?>> iter = locTasks.iterator(); while (iter.hasNext() && now < end) { - IgniteFuture<?> fut = iter.next(); + IgniteInternalFuture<?> fut = iter.next(); try { fut.get(end - now); @@ -261,8 +261,8 @@ public class GridExecutorService implements ExecutorService, Externalizable { try { comp.run(task); - IgniteFuture<T> fut = comp.future().chain(new CX1<IgniteFuture<?>, T>() { - @Override public T applyx(IgniteFuture<?> fut) throws IgniteCheckedException { + IgniteInternalFuture<T> fut = comp.future().chain(new CX1<IgniteInternalFuture<?>, T>() { + @Override public T applyx(IgniteInternalFuture<?> fut) throws IgniteCheckedException { fut.get(); return res; @@ -345,14 +345,14 @@ public class GridExecutorService implements ExecutorService, Externalizable { checkShutdown(); - Collection<IgniteFuture<T>> taskFuts = new ArrayList<>(); + Collection<IgniteInternalFuture<T>> taskFuts = new ArrayList<>(); assert comp.isAsync(); for (Callable<T> task : tasks) { // Execute task without predefined timeout. // GridFuture.cancel() will be called if timeout elapsed. - IgniteFuture<T> fut; + IgniteInternalFuture<T> fut; try { comp.call(task); @@ -371,7 +371,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { boolean isInterrupted = false; - for (IgniteFuture<T> fut : taskFuts) { + for (IgniteInternalFuture<T> fut : taskFuts) { if (!isInterrupted && now < end) { try { fut.get(end - now); @@ -403,7 +403,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { List<Future<T>> futs = new ArrayList<>(taskFuts.size()); // Convert futures. - for (IgniteFuture<T> fut : taskFuts) { + for (IgniteInternalFuture<T> fut : taskFuts) { // Per executor service contract any task that was not completed // should be cancelled upon return. if (!fut.isDone()) @@ -420,7 +420,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { * * @param fut Future to cancel. */ - private void cancelFuture(IgniteFuture<?> fut) { + private void cancelFuture(IgniteInternalFuture<?> fut) { try { fut.cancel(); } @@ -485,13 +485,13 @@ public class GridExecutorService implements ExecutorService, Externalizable { checkShutdown(); - Collection<IgniteFuture<T>> taskFuts = new ArrayList<>(); + Collection<IgniteInternalFuture<T>> taskFuts = new ArrayList<>(); assert comp.isAsync(); for (Callable<T> cmd : tasks) { // Execute task with predefined timeout. - IgniteFuture<T> fut; + IgniteInternalFuture<T> fut; try { @@ -514,7 +514,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { int errCnt = 0; - for (IgniteFuture<T> fut : taskFuts) { + for (IgniteInternalFuture<T> fut : taskFuts) { now = U.currentTimeMillis(); boolean cancel = false; @@ -601,7 +601,7 @@ public class GridExecutorService implements ExecutorService, Externalizable { * @return Future for command. */ @SuppressWarnings("unchecked") - private <T> Future<T> addFuture(IgniteFuture<T> fut) { + private <T> Future<T> addFuture(IgniteInternalFuture<T> fut) { synchronized (mux) { if (!fut.isDone()) { fut.listenAsync(lsnr); @@ -616,12 +616,12 @@ public class GridExecutorService implements ExecutorService, Externalizable { /** * Listener to track tasks. */ - private class TaskTerminateListener<T> implements IgniteInClosure<IgniteFuture<T>> { + private class TaskTerminateListener<T> implements IgniteInClosure<IgniteInternalFuture<T>> { /** */ private static final long serialVersionUID = 0L; /** {@inheritDoc} */ - @Override public void apply(IgniteFuture<T> taskFut) { + @Override public void apply(IgniteInternalFuture<T> taskFut) { synchronized (mux) { futs.remove(taskFut); } @@ -629,20 +629,20 @@ public class GridExecutorService implements ExecutorService, Externalizable { } /** - * Wrapper for {@link org.apache.ignite.lang.IgniteFuture}. + * Wrapper for {@link org.apache.ignite.internal.IgniteInternalFuture}. * Used for compatibility {@link Future} interface. * @param <T> The result type of the {@link Future} argument. */ private class TaskFutureWrapper<T> implements Future<T> { /** */ - private final IgniteFuture<T> fut; + private final IgniteInternalFuture<T> fut; /** * Creates wrapper. * * @param fut Grid future. */ - TaskFutureWrapper(IgniteFuture<T> fut) { + TaskFutureWrapper(IgniteInternalFuture<T> fut) { assert fut != null; this.fut = fut;