Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 160DD182CB for ; Tue, 23 Jun 2015 12:01:00 +0000 (UTC) Received: (qmail 75716 invoked by uid 500); 23 Jun 2015 12:01:00 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 75686 invoked by uid 500); 23 Jun 2015 12:01:00 -0000 Mailing-List: contact commits-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.incubator.apache.org Delivered-To: mailing list commits@ignite.incubator.apache.org Received: (qmail 75677 invoked by uid 99); 23 Jun 2015 12:00:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Jun 2015 12:00:59 +0000 X-ASF-Spam-Status: No, hits=-2001.4 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 23 Jun 2015 11:58:48 +0000 Received: (qmail 74310 invoked by uid 99); 23 Jun 2015 12:00:35 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Jun 2015 12:00:35 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 63C09E0016; Tue, 23 Jun 2015 12:00:35 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.incubator.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: incubator-ignite git commit: # save. Date: Tue, 23 Jun 2015 12:00:35 +0000 (UTC) X-Virus-Checked: Checked by ClamAV on apache.org 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 Authored: Tue Jun 23 15:00:14 2015 +0300 Committer: iveselovskiy 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)); + } }