You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/06/23 14:00:35 UTC

incubator-ignite git commit: # save.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-1044 [created] 28cf57854


# save.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/28cf5785
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/28cf5785
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/28cf5785

Branch: refs/heads/ignite-1044
Commit: 28cf578548d75c36269e02e010dee67bc8863ef1
Parents: 3b49184
Author: iveselovskiy <iv...@gridgain.com>
Authored: Tue Jun 23 15:00:14 2015 +0300
Committer: iveselovskiy <iv...@gridgain.com>
Committed: Tue Jun 23 15:00:14 2015 +0300

----------------------------------------------------------------------
 .../internal/processors/hadoop/v2/HadoopV2Job.java   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/28cf5785/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2Job.java
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2Job.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2Job.java
index 33a218d..385747c 100644
--- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2Job.java
+++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2Job.java
@@ -40,6 +40,7 @@ import java.net.*;
 import java.util.*;
 import java.util.Queue;
 import java.util.concurrent.*;
+import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.internal.processors.hadoop.HadoopUtils.*;
 import static org.apache.ignite.internal.processors.hadoop.fs.HadoopFileSystemCacheUtils.*;
@@ -85,6 +86,8 @@ public class HadoopV2Job implements HadoopJob {
     /** Serialized JobConf. */
     private volatile byte[] jobConfData;
 
+    private final AtomicBoolean disposed = new AtomicBoolean();
+
     /**
      * @param jobId Job ID.
      * @param jobInfo Job info.
@@ -271,6 +274,11 @@ public class HadoopV2Job implements HadoopJob {
     /** {@inheritDoc} */
     @SuppressWarnings("ThrowFromFinallyBlock")
     @Override public void dispose(boolean external) throws IgniteCheckedException {
+        boolean dsp = disposed.compareAndSet(false, true);
+
+        if (!dsp)
+            throw new AssertionError("Attempt to dispose Job 2nd time: " + S.toString(HadoopV2Job.class, this));
+
         try {
             if (rsrcMgr != null && !external) {
                 File jobLocDir = jobLocalDir(locNodeId, jobId);
@@ -399,4 +407,11 @@ public class HadoopV2Job implements HadoopJob {
     public FileSystem fileSystem(@Nullable URI uri, Configuration cfg) throws IOException {
         return fileSystemForMrUserWithCaching(uri, cfg, fsMap);
     }
+
+    @Override protected void finalize() throws Throwable {
+        super.finalize();
+
+        if (!disposed.get())
+            throw new AssertionError("Job was not disposed: " + S.toString(HadoopV2Job.class, this));
+    }
 }