You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/02/02 11:29:09 UTC

[33/50] [abbrv] incubator-ignite git commit: # sprint-1 moved existing IgniteFuture to internal package

# 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/ignite-16
Commit: d5bef132a43b2ef60afed3e454f46a54a088feb0
Parents: 87d1de1
Author: sboikov <sb...@gridgain.com>
Authored: Thu Jan 29 10:19:50 2015 +0300
Committer: sboikov <sb...@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;