http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java 
b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
index f478377..f2993e5 100644
--- a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFuture.java
@@ -27,11 +27,11 @@ public interface IgniteFuture<R> {
      * returns computation result.
      *
      * @return Computation result.
-     * @throws org.gridgain.grid.GridInterruptedException 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.
+     * @throws IgniteInterruptedException Subclass of {@link IgniteException} 
thrown if the wait was interrupted.
+     * @throws IgniteFutureCancelledException Subclass of {@link 
IgniteException} throws if computation was cancelled.
+     * @throws IgniteException If computation failed.
      */
-    public R get() throws IgniteCheckedException;
+    public R get() throws IgniteException;
 
     /**
      * Synchronously waits for completion of the computation for
@@ -40,12 +40,12 @@ public interface IgniteFuture<R> {
      *
      * @param timeout The maximum time to wait in milliseconds.
      * @return Computation result.
-     * @throws GridInterruptedException Subclass of {@link 
IgniteCheckedException} thrown if the wait was interrupted.
-     * @throws 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.
+     * @throws IgniteInterruptedException Subclass of {@link IgniteException} 
thrown if the wait was interrupted.
+     * @throws IgniteFutureTimeoutException Subclass of {@link 
IgniteException} thrown if the wait was timed out.
+     * @throws IgniteFutureCancelledException Subclass of {@link 
IgniteException} throws if computation was cancelled.
+     * @throws IgniteException If computation failed.
      */
-    public R get(long timeout) throws IgniteCheckedException;
+    public R get(long timeout) throws IgniteException;
 
     /**
      * Synchronously waits for completion of the computation for
@@ -54,20 +54,20 @@ public interface IgniteFuture<R> {
      * @param timeout The maximum time to wait.
      * @param unit The time unit of the {@code timeout} argument.
      * @return Computation result.
-     * @throws GridInterruptedException Subclass of {@link 
IgniteCheckedException} thrown if the wait was interrupted.
-     * @throws 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.
+     * @throws IgniteInterruptedException Subclass of {@link IgniteException} 
thrown if the wait was interrupted.
+     * @throws IgniteFutureTimeoutException Subclass of {@link 
IgniteException} thrown if the wait was timed out.
+     * @throws IgniteFutureCancelledException Subclass of {@link 
IgniteException} throws if computation was cancelled.
+     * @throws IgniteException If computation failed.
      */
-    public R get(long timeout, TimeUnit unit) throws IgniteCheckedException;
+    public R get(long timeout, TimeUnit unit) throws IgniteException;
 
     /**
      * Cancels this future.
      *
      * @return {@code True} if future was canceled (i.e. was not finished 
prior to this call).
-     * @throws IgniteCheckedException If cancellation failed.
+     * @throws IgniteException If cancellation failed.
      */
-    public boolean cancel() throws IgniteCheckedException;
+    public boolean cancel() throws IgniteException;
 
     /**
      * Checks if computation is done.
@@ -106,7 +106,7 @@ public interface IgniteFuture<R> {
      * immediately notified within the same thread.
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link 
org.apache.ignite.IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system 
property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property 
to {@code true}.
      *
      * @param syncNotify Flag to turn on or off synchronous listener 
notification.
      */
@@ -120,7 +120,7 @@ public interface IgniteFuture<R> {
      * immediately notified within the same thread.
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link 
org.apache.ignite.IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system 
property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_SYNC_NOTIFICATION} system property 
to {@code true}.
      *
      * @return Synchronous listener notification flag.
      */
@@ -135,7 +135,7 @@ public interface IgniteFuture<R> {
      * started the future, or in a different thread).
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link 
org.apache.ignite.IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system 
property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system 
property to {@code true}.
      *
      * @param concurNotify Flag to turn on or off concurrent listener 
notification.
      */
@@ -150,7 +150,7 @@ public interface IgniteFuture<R> {
      * started the future, or in a different thread).
      * <p>
      * Default value is {@code false}. To change the default, set
-     * {@link 
org.apache.ignite.IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system 
property to {@code true}.
+     * {@link IgniteSystemProperties#GG_FUT_CONCURRENT_NOTIFICATION} system 
property to {@code true}.
      *
      * @return Concurrent listener notification flag
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/lang/IgniteFutureCancelledException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFutureCancelledException.java
 
b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFutureCancelledException.java
index 692c725..86bdc72 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/lang/IgniteFutureCancelledException.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/lang/IgniteFutureCancelledException.java
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.*;
 /**
  * Future computation cannot be retrieved because it was cancelled.
  */
-public class IgniteFutureCancelledException extends IgniteCheckedException {
+public class IgniteFutureCancelledException extends IgniteException {
     /** */
     private static final long serialVersionUID = 0L;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/lang/InternalFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/lang/InternalFuture.java 
b/modules/core/src/main/java/org/apache/ignite/lang/InternalFuture.java
new file mode 100644
index 0000000..643b1d9
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/lang/InternalFuture.java
@@ -0,0 +1,182 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.lang;
+
+import org.apache.ignite.*;
+import org.gridgain.grid.*;
+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 InternalFuture<R> {
+    /**
+     * Synchronously waits for completion of the computation and
+     * returns computation result.
+     *
+     * @return Computation result.
+     * @throws InternalInterruptedException Subclass of {@link 
IgniteCheckedException} thrown if the wait was interrupted.
+     * @throws InternalFutureCancelledException 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 InternalInterruptedException Subclass of {@link 
IgniteCheckedException} thrown if the wait was interrupted.
+     * @throws InternalFutureTimeoutException Subclass of {@link 
IgniteCheckedException} thrown if the wait was timed out.
+     * @throws InternalFutureCancelledException 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 InternalInterruptedException Subclass of {@link 
IgniteCheckedException} thrown if the wait was interrupted.
+     * @throws InternalFutureTimeoutException Subclass of {@link 
IgniteCheckedException} thrown if the wait was timed out.
+     * @throws InternalFutureCancelledException 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 
org.apache.ignite.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 
org.apache.ignite.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 
org.apache.ignite.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 
org.apache.ignite.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 
InternalFuture<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 
InternalFuture<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> InternalFuture<T> chain(IgniteClosure<? super 
InternalFuture<R>, T> doneCb);
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureCancelledException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureCancelledException.java
 
b/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureCancelledException.java
new file mode 100644
index 0000000..b3c8e3d
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureCancelledException.java
@@ -0,0 +1,50 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.lang;
+
+import org.apache.ignite.*;
+import org.jetbrains.annotations.*;
+
+/**
+ * Future computation cannot be retrieved because it was cancelled.
+ */
+public class InternalFutureCancelledException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public InternalFutureCancelledException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new exception with given throwable as a nested cause and
+     * source of error message.
+     *
+     * @param cause Non-null throwable cause.
+     */
+    public InternalFutureCancelledException(Throwable cause) {
+        this(cause.getMessage(), cause);
+    }
+
+    /**
+     * Creates a new exception with given error message and optional nested 
cause exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be {@code null}).
+     */
+    public InternalFutureCancelledException(String msg, @Nullable Throwable 
cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureTimeoutException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureTimeoutException.java
 
b/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureTimeoutException.java
new file mode 100644
index 0000000..057b2c8
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/lang/InternalFutureTimeoutException.java
@@ -0,0 +1,50 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.apache.ignite.lang;
+
+import org.apache.ignite.*;
+import org.jetbrains.annotations.*;
+
+/**
+ * Future computation completion is timed out.
+ */
+public class InternalFutureTimeoutException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new exception with given error message.
+     *
+     * @param msg Error message.
+     */
+    public InternalFutureTimeoutException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates new exception with given throwable as a nested cause and
+     * source of error message.
+     *
+     * @param cause Non-null throwable cause.
+     */
+    public InternalFutureTimeoutException(Throwable cause) {
+        this(cause.getMessage(), cause);
+    }
+
+    /**
+     * Creates a new exception with given error message and optional nested 
cause exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be {@code null}).
+     */
+    public InternalFutureTimeoutException(String msg, @Nullable Throwable 
cause) {
+        super(msg, cause);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedObjectStreamRegistry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedObjectStreamRegistry.java
 
b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedObjectStreamRegistry.java
index 28cbcad..c375b77 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedObjectStreamRegistry.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/marshaller/optimized/IgniteOptimizedObjectStreamRegistry.java
@@ -57,9 +57,9 @@ class IgniteOptimizedObjectStreamRegistry {
      * Gets output stream.
      *
      * @return Object output stream.
-     * @throws GridInterruptedException If thread is interrupted while trying 
to take holder from pool.
+     * @throws InternalInterruptedException If thread is interrupted while 
trying to take holder from pool.
      */
-    static IgniteOptimizedObjectOutputStream out() throws 
GridInterruptedException {
+    static IgniteOptimizedObjectOutputStream out() throws 
InternalInterruptedException {
         return holder().acquireOut();
     }
 
@@ -67,9 +67,9 @@ class IgniteOptimizedObjectStreamRegistry {
      * Gets input stream.
      *
      * @return Object input stream.
-     * @throws GridInterruptedException If thread is interrupted while trying 
to take holder from pool.
+     * @throws InternalInterruptedException If thread is interrupted while 
trying to take holder from pool.
      */
-    static IgniteOptimizedObjectInputStream in() throws 
GridInterruptedException {
+    static IgniteOptimizedObjectInputStream in() throws 
InternalInterruptedException {
         return holder().acquireIn();
     }
 
@@ -120,9 +120,9 @@ class IgniteOptimizedObjectStreamRegistry {
      * Gets holder from pool or thread local.
      *
      * @return Stream holder.
-     * @throws GridInterruptedException If thread is interrupted while trying 
to take holder from pool.
+     * @throws InternalInterruptedException If thread is interrupted while 
trying to take holder from pool.
      */
-    private static StreamHolder holder() throws GridInterruptedException {
+    private static StreamHolder holder() throws InternalInterruptedException {
         StreamHolder holder = holders.get();
 
         if (holder == null) {
@@ -130,7 +130,7 @@ class IgniteOptimizedObjectStreamRegistry {
                 holders.set(holder = pool != null ? pool.take() : new 
StreamHolder());
             }
             catch (InterruptedException e) {
-                throw new GridInterruptedException("Failed to take object 
stream from pool (thread interrupted).", e);
+                throw new InternalInterruptedException("Failed to take object 
stream from pool (thread interrupted).", e);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/scheduler/SchedulerFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/scheduler/SchedulerFuture.java 
b/modules/core/src/main/java/org/apache/ignite/scheduler/SchedulerFuture.java
index f9756b2..3661e70 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/scheduler/SchedulerFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/scheduler/SchedulerFuture.java
@@ -20,7 +20,7 @@ import java.util.concurrent.*;
  * when calling {@link 
org.apache.ignite.IgniteScheduler#scheduleLocal(Callable, String)} or
  * {@link org.apache.ignite.IgniteScheduler#scheduleLocal(Runnable, String)} 
methods.
  */
-public interface SchedulerFuture<R> extends IgniteFuture<R> {
+public interface SchedulerFuture<R> extends InternalFuture<R> {
     /**
      * Gets scheduled task ID.
      *
@@ -126,7 +126,7 @@ public interface SchedulerFuture<R> extends IgniteFuture<R> 
{
      *
      * @return Result of the next execution.
      * @throws CancellationException {@inheritDoc}
-     * @throws GridInterruptedException {@inheritDoc}
+     * @throws InternalInterruptedException {@inheritDoc}
      * @throws IgniteCheckedException {@inheritDoc}
      */
     @Override public R get() throws IgniteCheckedException;
@@ -139,8 +139,8 @@ public interface SchedulerFuture<R> extends IgniteFuture<R> 
{
      * @param timeout {@inheritDoc}
      * @return The computed result of the next execution.
      * @throws CancellationException {@inheritDoc}
-     * @throws GridInterruptedException {@inheritDoc}
-     * @throws org.apache.ignite.lang.IgniteFutureTimeoutException 
{@inheritDoc}
+     * @throws InternalInterruptedException {@inheritDoc}
+     * @throws InternalFutureTimeoutException {@inheritDoc}
      * @throws IgniteCheckedException {@inheritDoc}
      */
     @Override public R get(long timeout) throws IgniteCheckedException;
@@ -153,8 +153,8 @@ public interface SchedulerFuture<R> extends IgniteFuture<R> 
{
      * @param unit {@inheritDoc}
      * @return The computed result of the next execution.
      * @throws CancellationException {@inheritDoc}
-     * @throws GridInterruptedException {@inheritDoc}
-     * @throws org.apache.ignite.lang.IgniteFutureTimeoutException 
{@inheritDoc}
+     * @throws InternalInterruptedException {@inheritDoc}
+     * @throws InternalFutureTimeoutException {@inheritDoc}
      * @throws IgniteCheckedException {@inheritDoc}
      */
     @Override public R get(long timeout, TimeUnit unit) throws 
IgniteCheckedException;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index 9ba7c45..01da206 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -1525,7 +1525,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter
                 if (log.isDebugEnabled())
                     log.debug("Context has been initialized.");
             }
-            catch (GridInterruptedException e) {
+            catch (InternalInterruptedException e) {
                 U.warn(log, "Thread has been interrupted while waiting for SPI 
context initialization.", e);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index bf1b783..7509bd3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -487,7 +487,7 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
                                 U.closeQuiet(sock);
                         }
                     }
-                    catch (GridInterruptedException ignored) {
+                    catch (InternalInterruptedException ignored) {
                         if (log.isDebugEnabled())
                             log.debug("Joining thread was interrupted.");
 
@@ -510,7 +510,7 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
                     U.sleep(2000);
                 }
             }
-            catch (GridInterruptedException ignored) {
+            catch (InternalInterruptedException ignored) {
                 if (log.isDebugEnabled())
                     log.debug("Joining thread was interrupted.");
             }
@@ -609,7 +609,7 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
                         }
                     }
                 }
-                catch (GridInterruptedException ignored) {
+                catch (InternalInterruptedException ignored) {
                     if (log.isDebugEnabled())
                         log.debug("Disconnect handler was interrupted.");
 
@@ -654,7 +654,7 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
                     sockRdr.addMessage(msg);
                 }
             }
-            catch (GridInterruptedException ignored) {
+            catch (InternalInterruptedException ignored) {
                 if (log.isDebugEnabled())
                     log.debug("Heartbeat sender was interrupted.");
             }
@@ -776,7 +776,7 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
                 try {
                     U.join(msgWrk);
                 }
-                catch (GridInterruptedException ignored) {
+                catch (InternalInterruptedException ignored) {
                     // No-op.
                 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 35aec0e..e58f60b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -266,7 +266,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter 
implements TcpDiscov
     private final Object mux = new Object();
 
     /** Map with proceeding ping requests. */
-    private final ConcurrentMap<InetSocketAddress, 
IgniteFuture<IgniteBiTuple<UUID, Boolean>>> pingMap =
+    private final ConcurrentMap<InetSocketAddress, 
InternalFuture<IgniteBiTuple<UUID, Boolean>>> pingMap =
         new ConcurrentHashMap8<>();
 
     /** Debug mode. */
@@ -789,7 +789,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter 
implements TcpDiscov
             try {
                 U.sleep(2000);
             }
-            catch (GridInterruptedException e) {
+            catch (InternalInterruptedException e) {
                 throw new IgniteSpiException("Thread has been interrupted.", 
e);
             }
         }
@@ -880,7 +880,7 @@ public class TcpDiscoverySpi extends TcpDiscoverySpiAdapter 
implements TcpDiscov
                 if (log.isDebugEnabled())
                     log.debug("Context has been initialized.");
             }
-            catch (GridInterruptedException e) {
+            catch (InternalInterruptedException e) {
                 U.warn(log, "Thread has been interrupted while waiting for SPI 
context initialization.", e);
             }
         }
@@ -1156,7 +1156,7 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
 
         GridFutureAdapterEx<IgniteBiTuple<UUID, Boolean>> fut = new 
GridFutureAdapterEx<>();
 
-        IgniteFuture<IgniteBiTuple<UUID, Boolean>> oldFut = 
pingMap.putIfAbsent(addr, fut);
+        InternalFuture<IgniteBiTuple<UUID, Boolean>> oldFut = 
pingMap.putIfAbsent(addr, fut);
 
         if (oldFut != null)
             return oldFut.get();
@@ -1473,7 +1473,7 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
                 try {
                     U.sleep(2000);
                 }
-                catch (GridInterruptedException e) {
+                catch (InternalInterruptedException e) {
                     throw new IgniteSpiException("Thread has been 
interrupted.", e);
                 }
             }
@@ -1497,7 +1497,7 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
                 try {
                     U.sleep(2000);
                 }
-                catch (GridInterruptedException e) {
+                catch (InternalInterruptedException e) {
                     throw new IgniteSpiException("Thread has been 
interrupted.", e);
                 }
             }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
index fa45f64..af6dce6 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
@@ -626,7 +626,7 @@ abstract class TcpDiscoverySpiAdapter extends 
IgniteSpiAdapter implements Discov
             try {
                 U.sleep(2000);
             }
-            catch (GridInterruptedException e) {
+            catch (InternalInterruptedException e) {
                 throw new IgniteSpiException("Thread has been interrupted.", 
e);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
index 7514d2a..b3e8d73 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.java
@@ -327,7 +327,7 @@ public class TcpDiscoveryJdbcIpFinder extends 
TcpDiscoveryIpFinderAdapter {
         try {
             U.await(initLatch);
         }
-        catch (GridInterruptedException e) {
+        catch (InternalInterruptedException e) {
             throw new IgniteSpiException("Thread has been interrupted.", e);
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
index b3e1327..8c91232 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.java
@@ -476,7 +476,7 @@ public class TcpDiscoveryMulticastIpFinder extends 
TcpDiscoveryVmIpFinder {
 
             return rmtAddrs;
         }
-        catch (GridInterruptedException ignored) {
+        catch (InternalInterruptedException ignored) {
             U.warn(log, "Got interrupted while sending address request.");
 
             Thread.currentThread().interrupt();

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
index 110a3bd..91f4121 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.java
@@ -153,7 +153,7 @@ public class TcpDiscoverySharedFsIpFinder extends 
TcpDiscoveryIpFinderAdapter {
             try {
                 U.await(initLatch);
             }
-            catch (GridInterruptedException e) {
+            catch (InternalInterruptedException e) {
                 throw new IgniteSpiException("Thread has been interrupted.", 
e);
             }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
index 45406dc..f0368c3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.java
@@ -285,7 +285,7 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter 
implements SwapSpaceSpi,
             try {
                 space.stop();
             }
-            catch (GridInterruptedException e) {
+            catch (InternalInterruptedException e) {
                 U.error(log, "Interrupted.", e);
             }
         }
@@ -1546,9 +1546,9 @@ public class FileSwapSpaceSpi extends IgniteSpiAdapter 
implements SwapSpaceSpi,
         /**
          * Stops space.
          *
-         * @throws GridInterruptedException If interrupted.
+         * @throws InternalInterruptedException If interrupted.
          */
-        public void stop() throws GridInterruptedException {
+        public void stop() throws InternalInterruptedException {
             U.interrupt(writer);
             U.interrupt(compactor);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedSizeBatchWindow.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedSizeBatchWindow.java
 
b/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedSizeBatchWindow.java
index 76f5d8b..b72f855 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedSizeBatchWindow.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedSizeBatchWindow.java
@@ -232,7 +232,7 @@ public class StreamerBoundedSizeBatchWindow<E> extends 
StreamerWindowAdapter<E>
         try {
             return enqueueInternal(evt);
         }
-        catch (GridInterruptedException ignored) {
+        catch (InternalInterruptedException ignored) {
             return false;
         }
     }
@@ -243,10 +243,10 @@ public class StreamerBoundedSizeBatchWindow<E> extends 
StreamerWindowAdapter<E>
      * @param evt Event to add.
      * @return {@code True} if event was added.
      *
-     * @throws GridInterruptedException If thread was interrupted.
+     * @throws InternalInterruptedException If thread was interrupted.
      */
     @SuppressWarnings("LockAcquiredButNotSafelyReleased")
-    private boolean enqueueInternal(E evt) throws GridInterruptedException {
+    private boolean enqueueInternal(E evt) throws InternalInterruptedException 
{
         QueueHolder tup = holder;
 
         ConcurrentLinkedDeque8<Batch> evts = tup.batchQueue();
@@ -617,9 +617,9 @@ public class StreamerBoundedSizeBatchWindow<E> extends 
StreamerWindowAdapter<E>
         /**
          * Waits for latch count down after last event was added.
          *
-         * @throws GridInterruptedException If wait was interrupted.
+         * @throws InternalInterruptedException If wait was interrupted.
          */
-        public void finish() throws GridInterruptedException {
+        public void finish() throws InternalInterruptedException {
             writeLock().lock();
 
             try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedTimeBatchWindow.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedTimeBatchWindow.java
 
b/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedTimeBatchWindow.java
index 829e6fa..f54c670 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedTimeBatchWindow.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/streamer/window/StreamerBoundedTimeBatchWindow.java
@@ -266,7 +266,7 @@ public class StreamerBoundedTimeBatchWindow<E> extends 
StreamerWindowAdapter<E>
         try {
             return enqueue0(evt, U.currentTimeMillis());
         }
-        catch (GridInterruptedException ignored) {
+        catch (InternalInterruptedException ignored) {
             return false;
         }
     }
@@ -278,9 +278,9 @@ public class StreamerBoundedTimeBatchWindow<E> extends 
StreamerWindowAdapter<E>
      * @param ts Event timestamp.
      * @return {@code True} if event was added.
      *
-     * @throws GridInterruptedException If thread was interrupted.
+     * @throws InternalInterruptedException If thread was interrupted.
      */
-    private boolean enqueue0(E evt, long ts) throws GridInterruptedException {
+    private boolean enqueue0(E evt, long ts) throws 
InternalInterruptedException {
         WindowHolder tup = ref.get();
 
         ConcurrentLinkedDeque8<Batch> evts = tup.batchQueue();
@@ -697,9 +697,9 @@ public class StreamerBoundedTimeBatchWindow<E> extends 
StreamerWindowAdapter<E>
         /**
          * Waits for latch count down after last event was added.
          *
-         * @throws GridInterruptedException If wait was interrupted.
+         * @throws InternalInterruptedException If wait was interrupted.
          */
-        public void finish() throws GridInterruptedException {
+        public void finish() throws InternalInterruptedException {
             writeLock().lock();
 
             try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/client/impl/GridClientAbstractProjection.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/client/impl/GridClientAbstractProjection.java
 
b/modules/core/src/main/java/org/gridgain/client/impl/GridClientAbstractProjection.java
index 2c73b1f..29b633e 100644
--- 
a/modules/core/src/main/java/org/gridgain/client/impl/GridClientAbstractProjection.java
+++ 
b/modules/core/src/main/java/org/gridgain/client/impl/GridClientAbstractProjection.java
@@ -134,7 +134,7 @@ abstract class GridClientAbstractProjection<T extends 
GridClientAbstractProjecti
         catch (GridClientException e) {
             return new GridClientFutureAdapter<>(e);
         }
-        catch (GridInterruptedException | InterruptedException e) {
+        catch (InternalInterruptedException | InterruptedException e) {
             Thread.currentThread().interrupt();
 
             return new GridClientFutureAdapter<>(
@@ -206,7 +206,7 @@ abstract class GridClientAbstractProjection<T extends 
GridClientAbstractProjecti
         catch (GridClientException e) {
             return new GridClientFutureAdapter<>(e);
         }
-        catch (GridInterruptedException | InterruptedException e) {
+        catch (InternalInterruptedException | InterruptedException e) {
             Thread.currentThread().interrupt();
 
             return new GridClientFutureAdapter<>(new 
GridClientException("Interrupted when (re)trying to perform " +

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/GridDeploymentException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/GridDeploymentException.java 
b/modules/core/src/main/java/org/gridgain/grid/GridDeploymentException.java
index 3ae1a50..f0bed92 100644
--- a/modules/core/src/main/java/org/gridgain/grid/GridDeploymentException.java
+++ b/modules/core/src/main/java/org/gridgain/grid/GridDeploymentException.java
@@ -15,7 +15,7 @@ import org.jetbrains.annotations.*;
 /**
  * Deployment or re-deployment failed.
  */
-public class GridDeploymentException extends IgniteCheckedException {
+public class GridDeploymentException extends IgniteException {
     /** */
     private static final long serialVersionUID = 0L;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/GridInterruptedException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/GridInterruptedException.java 
b/modules/core/src/main/java/org/gridgain/grid/GridInterruptedException.java
deleted file mode 100644
index 8c6230d..0000000
--- a/modules/core/src/main/java/org/gridgain/grid/GridInterruptedException.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/* @java.file.header */
-
-/*  _________        _____ __________________        _____
- *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
- *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
- *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
- *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
- */
-
-package org.gridgain.grid;
-
-import org.apache.ignite.*;
-
-/**
- * This exception is used to wrap standard {@link InterruptedException} into 
{@link IgniteCheckedException}.
- */
-@SuppressWarnings({"TypeMayBeWeakened"})
-public class GridInterruptedException extends IgniteCheckedException {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /**
-     * Creates new exception with given throwable as a nested cause and
-     * source of error message.
-     *
-     * @param cause Non-null throwable cause.
-     */
-    public GridInterruptedException(InterruptedException cause) {
-        this(cause.getMessage(), cause);
-    }
-
-    /**
-     * Creates a new exception with given error message and optional nested 
cause exception.
-     *
-     * @param msg Error message.
-     */
-    public GridInterruptedException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Creates a new exception with given error message and optional nested 
cause exception.
-     *
-     * @param msg Error message.
-     * @param cause Optional nested exception (can be {@code null}).
-     */
-    public GridInterruptedException(String msg, InterruptedException cause) {
-        super(msg, cause);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/IgniteInterruptedException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/IgniteInterruptedException.java 
b/modules/core/src/main/java/org/gridgain/grid/IgniteInterruptedException.java
new file mode 100644
index 0000000..6e2920e
--- /dev/null
+++ 
b/modules/core/src/main/java/org/gridgain/grid/IgniteInterruptedException.java
@@ -0,0 +1,50 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid;
+
+import org.apache.ignite.*;
+
+/**
+ * This exception is used to wrap standard {@link InterruptedException} into 
{@link IgniteException}.
+ */
+@SuppressWarnings({"TypeMayBeWeakened"})
+public class IgniteInterruptedException extends IgniteException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new exception with given throwable as a nested cause and
+     * source of error message.
+     *
+     * @param cause Non-null throwable cause.
+     */
+    public IgniteInterruptedException(InterruptedException cause) {
+        this(cause.getMessage(), cause);
+    }
+
+    /**
+     * Creates a new exception with given error message and optional nested 
cause exception.
+     *
+     * @param msg Error message.
+     */
+    public IgniteInterruptedException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates a new exception with given error message and optional nested 
cause exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be {@code null}).
+     */
+    public IgniteInterruptedException(String msg, InterruptedException cause) {
+        super(msg, cause);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/InternalInterruptedException.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/InternalInterruptedException.java
 
b/modules/core/src/main/java/org/gridgain/grid/InternalInterruptedException.java
new file mode 100644
index 0000000..45f020d
--- /dev/null
+++ 
b/modules/core/src/main/java/org/gridgain/grid/InternalInterruptedException.java
@@ -0,0 +1,50 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid;
+
+import org.apache.ignite.*;
+
+/**
+ * This exception is used to wrap standard {@link InterruptedException} into 
{@link IgniteCheckedException}.
+ */
+@SuppressWarnings({"TypeMayBeWeakened"})
+public class InternalInterruptedException extends IgniteCheckedException {
+    /** */
+    private static final long serialVersionUID = 0L;
+
+    /**
+     * Creates new exception with given throwable as a nested cause and
+     * source of error message.
+     *
+     * @param cause Non-null throwable cause.
+     */
+    public InternalInterruptedException(InterruptedException cause) {
+        this(cause.getMessage(), cause);
+    }
+
+    /**
+     * Creates a new exception with given error message and optional nested 
cause exception.
+     *
+     * @param msg Error message.
+     */
+    public InternalInterruptedException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Creates a new exception with given error message and optional nested 
cause exception.
+     *
+     * @param msg Error message.
+     * @param cause Optional nested exception (can be {@code null}).
+     */
+    public InternalInterruptedException(String msg, InterruptedException 
cause) {
+        super(msg, cause);
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
index 3af8e94..21d3850 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCache.java
@@ -223,7 +223,7 @@ public interface GridCache<K, V> extends 
GridCacheProjection<K, V> {
      *      {@link 
GridCacheStore#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 InternalFuture<?> 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
@@ -261,7 +261,7 @@ public interface GridCache<K, V> extends 
GridCacheProjection<K, V> {
      * <p>
      * @return Future that will be completed when preloading is finished.
      */
-    public IgniteFuture<?> forceRepartition();
+    public InternalFuture<?> forceRepartition();
 
     /**
      * Resets metrics for current cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
index 725f377..c038dd1 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheEntry.java
@@ -119,7 +119,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      *
      * @return See {@link GridCacheProjection#reloadAsync(Object)}.
      */
-    public IgniteFuture<V> reloadAsync();
+    public InternalFuture<V> reloadAsync();
 
     /**
      * This method has the same semantic as
@@ -219,7 +219,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      *
      * @return See {@link GridCacheProjection#getAsync(Object)}.
      */
-    public IgniteFuture<V> getAsync();
+    public InternalFuture<V> getAsync();
 
     /**
      * This method has the same semantic as {@link #set(Object, 
org.apache.ignite.lang.IgnitePredicate[])} method, however it
@@ -249,7 +249,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param filter See {@link GridCacheProjection#putAsync(Object, Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      * @return See {@link GridCacheProjection#putAsync(Object, Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      */
-    public IgniteFuture<V> setAsync(V val, @Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<V> setAsync(V val, @Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * This method has the same semantic as
@@ -268,7 +268,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param val See {@link GridCacheProjection#putIfAbsentAsync(Object, 
Object)}
      * @return See {@link GridCacheProjection#putIfAbsentAsync(Object, 
Object)}.
      */
-    public IgniteFuture<V> setIfAbsentAsync(V val);
+    public InternalFuture<V> setIfAbsentAsync(V val);
 
     /**
      * This method has the same semantic as
@@ -290,7 +290,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param filter See {@link GridCacheProjection#putxAsync(Object, Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      * @return See {@link GridCacheProjection#putxAsync(Object, Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      */
-    public IgniteFuture<Boolean> setxAsync(V val,
+    public InternalFuture<Boolean> setxAsync(V val,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
@@ -310,7 +310,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param val See {@link GridCacheProjection#putxIfAbsentAsync(Object, 
Object)}
      * @return See {@link GridCacheProjection#putxIfAbsentAsync(Object, 
Object)}.
      */
-    public IgniteFuture<Boolean> setxIfAbsentAsync(V val);
+    public InternalFuture<Boolean> setxIfAbsentAsync(V val);
 
     /**
      * This method has the same semantic as
@@ -331,7 +331,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      *      {@code null}, the associated value will be removed from cache.
      * @return Transform operation future.
      */
-    public IgniteFuture<?> transformAsync(IgniteClosure<V, V> transformer);
+    public InternalFuture<?> transformAsync(IgniteClosure<V, V> transformer);
 
     /**
      * This method has the same semantic as
@@ -350,7 +350,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param val See {@link GridCacheProjection#replaceAsync(Object, Object)}
      * @return See {@link GridCacheProjection#replaceAsync(Object, Object)}.
      */
-    public IgniteFuture<V> replaceAsync(V val);
+    public InternalFuture<V> replaceAsync(V val);
 
     /**
      * This method has the same semantic as
@@ -369,7 +369,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param val See {@link GridCacheProjection#replacexAsync(Object, Object)}
      * @return See {@link GridCacheProjection#replacexAsync(Object, Object)}.
      */
-    public IgniteFuture<Boolean> replacexAsync(V val);
+    public InternalFuture<Boolean> replacexAsync(V val);
 
     /**
      * This method has the same semantic as
@@ -390,7 +390,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param newVal See {@link GridCacheProjection#replaceAsync(Object, 
Object, Object)}
      * @return See {@link GridCacheProjection#replaceAsync(Object, Object)}.
      */
-    public IgniteFuture<Boolean> replaceAsync(V oldVal, V newVal);
+    public InternalFuture<Boolean> replaceAsync(V oldVal, V newVal);
 
     /**
      * This method has the same semantic as
@@ -409,7 +409,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param filter See {@link GridCacheProjection#removeAsync(Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      * @return See {@link GridCacheProjection#removeAsync(Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      */
-    public IgniteFuture<V> removeAsync(@Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<V> removeAsync(@Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * This method has the same semantic as
@@ -428,7 +428,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param filter See {@link GridCacheProjection#removexAsync(Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      * @return See {@link GridCacheProjection#removexAsync(Object, 
org.apache.ignite.lang.IgnitePredicate[])}.
      */
-    public IgniteFuture<Boolean> removexAsync(@Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<Boolean> removexAsync(@Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * This method has the same semantic as
@@ -447,7 +447,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      * @param val See {@link GridCacheProjection#removeAsync(Object, Object)}.
      * @return See {@link GridCacheProjection#removeAsync(Object, Object)}.
      */
-    public IgniteFuture<Boolean> removeAsync(V val);
+    public InternalFuture<Boolean> removeAsync(V val);
 
     /**
      * This method has the same semantic as
@@ -519,7 +519,7 @@ public interface GridCacheEntry<K, V> extends Map.Entry<K, 
V>, GridMetadataAware
      *      {@code false} otherwise.
      * @throws GridCacheFlagException If flags validation failed.
      */
-    public IgniteFuture<Boolean> lockAsync(long timeout,
+    public InternalFuture<Boolean> lockAsync(long timeout,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
index 92d7c99..8ee0da1 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheProjection.java
@@ -392,7 +392,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @param key Key to reload.
      * @return Future to be completed whenever the entry is reloaded.
      */
-    public IgniteFuture<V> reloadAsync(K key);
+    public InternalFuture<V> reloadAsync(K key);
 
     /**
      * Reloads all currently cached keys form persistent storage.
@@ -413,7 +413,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      *
      * @return Future which will complete whenever {@code reload} completes.
      */
-    public IgniteFuture<?> reloadAllAsync();
+    public InternalFuture<?> reloadAllAsync();
 
     /**
      * Reloads specified entries from underlying persistent storage.
@@ -436,7 +436,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<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 InternalFuture<?> reloadAllAsync(@Nullable Collection<? extends K> 
keys);
 
     /**
      * Peeks at in-memory cached value using default {@link 
GridCachePeekMode#SMART}
@@ -521,7 +521,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException if the key is {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<V> getAsync(K key);
+    public InternalFuture<V> getAsync(K key);
 
     /**
      * Retrieves values mapped to the specified keys from cache. Value will 
only be returned if
@@ -568,7 +568,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @return Future for the get operation.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Map<K, V>> getAllAsync(@Nullable Collection<? extends 
K> keys);
+    public InternalFuture<Map<K, V>> getAllAsync(@Nullable Collection<? 
extends K> keys);
 
     /**
      * Stores given key-value pair in cache. If filters are provided, then 
entries will
@@ -640,7 +640,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<V> putAsync(K key, V val, @Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<V> putAsync(K key, V val, @Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * Stores given key-value pair in cache. If filters are provided, then 
entries will
@@ -704,7 +704,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Boolean> putxAsync(K key, V val, @Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<Boolean> putxAsync(K key, V val, @Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * Stores result of applying {@code valTransform} closure to the previous 
value associated with
@@ -780,7 +780,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @return Future for the transform operation.
      * @throws NullPointerException If either key or transform closure is 
{@code null}.
      */
-    public IgniteFuture<?> transformAsync(K key, IgniteClosure<V, V> 
transformer);
+    public InternalFuture<?> transformAsync(K key, IgniteClosure<V, V> 
transformer);
 
     /**
      * Stores given key-value pair in cache only if cache had no previous 
mapping for it. If cache
@@ -842,7 +842,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<V> putIfAbsentAsync(K key, V val);
+    public InternalFuture<V> putIfAbsentAsync(K key, V val);
 
     /**
      * Stores given key-value pair in cache only if cache had no previous 
mapping for it.
@@ -893,7 +893,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Boolean> putxIfAbsentAsync(K key, V val);
+    public InternalFuture<Boolean> putxIfAbsentAsync(K key, V val);
 
     /**
      * Stores given key-value pair in cache only if there is a previous 
mapping for it.
@@ -952,7 +952,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<V> replaceAsync(K key, V val);
+    public InternalFuture<V> replaceAsync(K key, V val);
 
     /**
      * Stores given key-value pair in cache only if only if there is a 
previous mapping for it.
@@ -1003,7 +1003,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Boolean> replacexAsync(K key, V val);
+    public InternalFuture<Boolean> replacexAsync(K key, V val);
 
     /**
      * Stores given key-value pair in cache only if only if the previous value 
is equal to the
@@ -1052,7 +1052,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException If either key or value are {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Boolean> replaceAsync(K key, V oldVal, V newVal);
+    public InternalFuture<Boolean> replaceAsync(K key, V oldVal, V newVal);
 
     /**
      * Stores given key-value pairs in cache. If filters are provided, then 
entries will
@@ -1151,7 +1151,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @return Future for putAll operation.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<?> putAllAsync(@Nullable Map<? extends K, ? extends V> 
m,
+    public InternalFuture<?> putAllAsync(@Nullable Map<? extends K, ? extends 
V> m,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
@@ -1178,7 +1178,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @param m Map containing keys and closures to be applied to values.
      * @return Future for operation.
      */
-    public IgniteFuture<?> transformAllAsync(@Nullable Map<? extends K, ? 
extends IgniteClosure<V, V>> m);
+    public InternalFuture<?> transformAllAsync(@Nullable Map<? extends K, ? 
extends IgniteClosure<V, V>> m);
 
     /**
      * Stores result of applying the specified transform closure to previous 
values associated
@@ -1207,7 +1207,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @return Future for operation.
      * @throws IgniteCheckedException On any error occurred while storing 
value in cache.
      */
-    public IgniteFuture<?> transformAllAsync(@Nullable Set<? extends K> keys, 
IgniteClosure<V, V> transformer)
+    public InternalFuture<?> transformAllAsync(@Nullable Set<? extends K> 
keys, IgniteClosure<V, V> transformer)
         throws IgniteCheckedException;
 
     /**
@@ -1636,7 +1636,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException if the key is {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<V> removeAsync(K key, 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<V> removeAsync(K key, 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * Removes given key mapping from cache.
@@ -1689,7 +1689,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException if the key is {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Boolean> removexAsync(K key,
+    public InternalFuture<Boolean> removexAsync(K key,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
@@ -1736,7 +1736,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      * @throws NullPointerException if the key or value is {@code null}.
      * @throws GridCacheFlagException If projection flags validation failed.
      */
-    public IgniteFuture<Boolean> removeAsync(K key, V val);
+    public InternalFuture<Boolean> removeAsync(K key, V val);
 
     /**
      * Removes given key mappings from cache for entries for which the 
optionally passed in filters do
@@ -1780,7 +1780,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      *      remove operation completes.
      * @throws GridCacheFlagException If flags validation failed.
      */
-    public IgniteFuture<?> removeAllAsync(@Nullable Collection<? extends K> 
keys,
+    public InternalFuture<?> removeAllAsync(@Nullable Collection<? extends K> 
keys,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
@@ -1833,7 +1833,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      *      remove operation completes.
      * @throws GridCacheFlagException If flags validation failed.
      */
-    public IgniteFuture<?> removeAllAsync(@Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
+    public InternalFuture<?> removeAllAsync(@Nullable 
IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
      * Synchronously acquires lock on a cached object with given
@@ -1884,7 +1884,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      *      {@code false} otherwise.
      * @throws GridCacheFlagException If flags validation failed.
      */
-    public IgniteFuture<Boolean> lockAsync(K key, long timeout,
+    public InternalFuture<Boolean> lockAsync(K key, long timeout,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**
@@ -1936,7 +1936,7 @@ public interface GridCacheProjection<K, V> extends 
Iterable<GridCacheEntry<K, V>
      *      timeout has expired, {@code false} otherwise.
      * @throws GridCacheFlagException If flags validation failed.
      */
-    public IgniteFuture<Boolean> lockAllAsync(@Nullable Collection<? extends 
K> keys, long timeout,
+    public InternalFuture<Boolean> lockAllAsync(@Nullable Collection<? extends 
K> keys, long timeout,
         @Nullable IgnitePredicate<GridCacheEntry<K, V>>... filter);
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java 
b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
index 6e8c5bd..79ce938 100644
--- a/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/cache/GridCacheTx.java
@@ -232,7 +232,7 @@ public interface GridCacheTx extends GridMetadataAware, 
AutoCloseable {
      *
      * @return Future for commit operation.
      */
-    public IgniteFuture<GridCacheTx> commitAsync();
+    public InternalFuture<GridCacheTx> commitAsync();
 
     /**
      * Rolls back this transaction.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
index e026e50..a03c4de 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/affinity/consistenthash/GridCacheConsistentHashAffinityFunction.java
@@ -582,7 +582,7 @@ public class GridCacheConsistentHashAffinityFunction 
implements GridCacheAffinit
                 try {
                     U.await(initLatch);
                 }
-                catch (GridInterruptedException ignored) {
+                catch (InternalInterruptedException ignored) {
                     // Recover interrupted state flag.
                     Thread.currentThread().interrupt();
                 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/datastructures/GridCacheCountDownLatch.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/datastructures/GridCacheCountDownLatch.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/datastructures/GridCacheCountDownLatch.java
index 80e1efa..0186b1a 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/datastructures/GridCacheCountDownLatch.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/datastructures/GridCacheCountDownLatch.java
@@ -77,11 +77,11 @@ public interface GridCacheCountDownLatch {
      *      <li>has its interrupted status set on entry to this method; or
      *      <li>is interrupted while waiting,
      * </ul>
-     * then {@link GridInterruptedException} is thrown and the current thread's
+     * then {@link InternalInterruptedException} is thrown and the current 
thread's
      * interrupted status is cleared.
      *
      * @throws IgniteCheckedException If operation failed.
-     * @throws GridInterruptedException if the current thread is interrupted
+     * @throws InternalInterruptedException if the current thread is 
interrupted
      *      while waiting
      */
     public void await() throws IgniteCheckedException;
@@ -111,7 +111,7 @@ public interface GridCacheCountDownLatch {
      *      <li>has its interrupted status set on entry to this method; or
      *      <li>is interrupted while waiting,
      * </ul>
-     * then {@link GridInterruptedException} is thrown and the current thread's
+     * then {@link InternalInterruptedException} is thrown and the current 
thread's
      * interrupted status is cleared.
      * <p>
      * If the specified waiting time elapses then the value {@code false}
@@ -121,7 +121,7 @@ public interface GridCacheCountDownLatch {
      * @param timeout The maximum time to wait in milliseconds.
      * @return {@code True} if the count reached zero and {@code false}
      *      if the waiting time elapsed before the count reached zero.
-     * @throws GridInterruptedException If the current thread is interrupted
+     * @throws InternalInterruptedException If the current thread is 
interrupted
      *      while waiting.
      * @throws IgniteCheckedException If operation failed.
      */
@@ -152,7 +152,7 @@ public interface GridCacheCountDownLatch {
      *      <li>has its interrupted status set on entry to this method; or
      *      <li>is interrupted while waiting,
      * </ul>
-     * then {@link GridInterruptedException} is thrown and the current thread's
+     * then {@link InternalInterruptedException} is thrown and the current 
thread's
      * interrupted status is cleared.
      * <p>
      * If the specified waiting time elapses then the value {@code false}
@@ -164,7 +164,7 @@ public interface GridCacheCountDownLatch {
      * @param unit The time unit of the {@code timeout} argument.
      * @return {@code True} if the count reached zero and {@code false}
      *      if the waiting time elapsed before the count reached zero.
-     * @throws GridInterruptedException If the current thread is interrupted
+     * @throws InternalInterruptedException If the current thread is 
interrupted
      *      while waiting.
      * @throws IgniteCheckedException If operation failed.
      */

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
index 2e1180d..091a433 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueries.java
@@ -103,7 +103,7 @@ public interface GridCacheQueries<K, V> {
      *
      * @return Future that will be completed when rebuilding of all indexes is 
finished.
      */
-    public IgniteFuture<?> rebuildIndexes(Class<?> cls);
+    public InternalFuture<?> rebuildIndexes(Class<?> cls);
 
     /**
      * Forces this cache to rebuild all search indexes of given value type. 
Sometimes indexes
@@ -116,7 +116,7 @@ public interface GridCacheQueries<K, V> {
      *
      * @return Future that will be completed when rebuilding of all indexes is 
finished.
      */
-    public IgniteFuture<?> rebuildIndexes(String typeName);
+    public InternalFuture<?> rebuildIndexes(String typeName);
 
     /**
      * Forces this cache to rebuild search indexes of all types. Sometimes 
indexes
@@ -127,7 +127,7 @@ public interface GridCacheQueries<K, V> {
      *
      * @return Future that will be completed when rebuilding of all indexes is 
finished.
      */
-    public IgniteFuture<?> rebuildAllIndexes();
+    public InternalFuture<?> rebuildAllIndexes();
 
     /**
      * Accumulated metrics for all queries executed for this cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
index 9d3b045..8ba717c 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/cache/query/GridCacheQueryFuture.java
@@ -19,7 +19,7 @@ import java.util.*;
  * Cache query future returned by query execution.
  * Refer to {@link GridCacheQuery} documentation for more information.
  */
-public interface GridCacheQueryFuture<T> extends IgniteFuture<Collection<T>> {
+public interface GridCacheQueryFuture<T> extends InternalFuture<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/90948e67/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoop.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoop.java 
b/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoop.java
index 75e637b..91d0888 100644
--- a/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoop.java
+++ b/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoop.java
@@ -38,7 +38,7 @@ public interface GridHadoop {
      * @param jobInfo Job info to submit.
      * @return Execution future.
      */
-    public IgniteFuture<?> submit(GridHadoopJobId jobId, GridHadoopJobInfo 
jobInfo);
+    public InternalFuture<?> submit(GridHadoopJobId jobId, GridHadoopJobInfo 
jobInfo);
 
     /**
      * Gets Hadoop job execution status.
@@ -65,7 +65,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 InternalFuture<?> finishFuture(GridHadoopJobId jobId) 
throws IgniteCheckedException;
 
     /**
      * Kills job.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoopTask.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoopTask.java 
b/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoopTask.java
index f4d4e1c..7becdc4 100644
--- a/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoopTask.java
+++ b/modules/core/src/main/java/org/gridgain/grid/hadoop/GridHadoopTask.java
@@ -53,7 +53,7 @@ public abstract class GridHadoopTask {
      * Runs task.
      *
      * @param taskCtx Context.
-     * @throws GridInterruptedException If interrupted.
+     * @throws InternalInterruptedException If interrupted.
      * @throws IgniteCheckedException If failed.
      */
     public abstract void run(GridHadoopTaskContext taskCtx) throws 
IgniteCheckedException;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/kernal/ComputeTaskFutureAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/ComputeTaskFutureAdapter.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/ComputeTaskFutureAdapter.java
new file mode 100644
index 0000000..200d600
--- /dev/null
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/ComputeTaskFutureAdapter.java
@@ -0,0 +1,29 @@
+/* @java.file.header */
+
+/*  _________        _____ __________________        _____
+ *  __  ____/___________(_)______  /__  ____/______ ____(_)_______
+ *  _  / __  __  ___/__  / _  __  / _  / __  _  __ `/__  / __  __ \
+ *  / /_/ /  _  /    _  /  / /_/ /  / /_/ /  / /_/ / _  /  _  / / /
+ *  \____/   /_/     /_/   \_,__/   \____/   \__,_/  /_/   /_/ /_/
+ */
+
+package org.gridgain.grid.kernal;
+
+import org.apache.ignite.compute.*;
+
+/**
+ *
+ */
+public class ComputeTaskFutureAdapter<R> extends IgniteFutureAdapter<R> 
implements ComputeTaskFuture<R> {
+    /**
+     * @param delegate Delegate.
+     */
+    public ComputeTaskFutureAdapter(InternalComputeTaskFuture<R> delegate) {
+        super(delegate);
+    }
+
+    /** {@inheritDoc} */
+    @Override public ComputeTaskSession getTaskSession() {
+        return ((InternalComputeTaskFuture<R>)delegate).getTaskSession();
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/90948e67/modules/core/src/main/java/org/gridgain/grid/kernal/GridEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/GridEx.java 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridEx.java
index d1f8ce4..c8feb0b 100644
--- a/modules/core/src/main/java/org/gridgain/grid/kernal/GridEx.java
+++ b/modules/core/src/main/java/org/gridgain/grid/kernal/GridEx.java
@@ -116,7 +116,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);
+    InternalFuture<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/90948e67/modules/core/src/main/java/org/gridgain/grid/kernal/GridJobSessionImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/GridJobSessionImpl.java 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridJobSessionImpl.java
index 429ad54..e369e5b 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/GridJobSessionImpl.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/GridJobSessionImpl.java
@@ -130,7 +130,7 @@ public class GridJobSessionImpl implements 
GridTaskSessionInternal {
 
         if (!ses.isFullSupport()) {
             // Need to fetch task session from task worker.
-            ComputeTaskFuture<Object> fut = ctx.task().taskFuture(ses.getId());
+            InternalComputeTaskFuture<Object> fut = 
ctx.task().taskFuture(ses.getId());
 
             return fut.getTaskSession().getJobSiblings();
         }
@@ -147,7 +147,7 @@ public class GridJobSessionImpl implements 
GridTaskSessionInternal {
                 assert !ses.isFullSupport();
 
                 // Need to fetch task session from task worker.
-                ComputeTaskFuture<Object> fut = 
ctx.task().taskFuture(ses.getId());
+                InternalComputeTaskFuture<Object> fut = 
ctx.task().taskFuture(ses.getId());
 
                 return fut.getTaskSession().getJobSiblings();
             }
@@ -269,7 +269,7 @@ public class GridJobSessionImpl implements 
GridTaskSessionInternal {
     }
 
     /** {@inheritDoc} */
-    @Override public IgniteFuture<?> mapFuture() {
+    @Override public InternalFuture<?> mapFuture() {
         return new GridFinishedFuture<>(ctx);
     }
 

Reply via email to