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 EFD3E1071C for ; Tue, 3 Mar 2015 08:35:33 +0000 (UTC) Received: (qmail 55840 invoked by uid 500); 3 Mar 2015 08:35:33 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 55776 invoked by uid 500); 3 Mar 2015 08:35:33 -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 55728 invoked by uid 99); 3 Mar 2015 08:35:33 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Mar 2015 08:35:33 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_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, 03 Mar 2015 08:35:32 +0000 Received: (qmail 52779 invoked by uid 99); 3 Mar 2015 08:35:07 -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, 03 Mar 2015 08:35:07 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5F4FFE1026; Tue, 3 Mar 2015 08:35:07 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: akuznetsov@apache.org To: commits@ignite.incubator.apache.org Date: Tue, 03 Mar 2015 08:35:42 -0000 Message-Id: <87f81058204347179006d427af0c9907@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [37/50] incubator-ignite git commit: sprint-2 fix for ignite-321 X-Virus-Checked: Checked by ClamAV on apache.org sprint-2 fix for ignite-321 Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/11efb918 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/11efb918 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/11efb918 Branch: refs/heads/ignite-344 Commit: 11efb91874a547c408dcac58f0651725ad518abe Parents: 3be22ab Author: Yakov Zhdanov Authored: Mon Mar 2 16:36:02 2015 +0300 Committer: Yakov Zhdanov Committed: Mon Mar 2 16:36:02 2015 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheStoreManager.java | 12 ++++---- .../GridDistributedCacheAdapter.java | 2 ++ .../dataload/IgniteDataLoaderImpl.java | 29 +++++++++++++++----- 3 files changed, 30 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/11efb918/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java index 9262a8f..c768f54 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheStoreManager.java @@ -616,6 +616,9 @@ public class GridCacheStoreManager extends GridCacheManagerAdapter { handleClassCastException(e); } catch (Exception e) { + if (!(e instanceof CacheWriterException)) + e = new CacheWriterException(e); + if (!entries.isEmpty()) { List keys = new ArrayList<>(entries.size()); @@ -625,9 +628,6 @@ public class GridCacheStoreManager extends GridCacheManagerAdapter { throw new CacheStorePartialUpdateException(keys, e); } - if (!(e instanceof CacheWriterException)) - e = new CacheWriterException(e); - throw new IgniteCheckedException(e); } finally { @@ -725,12 +725,12 @@ public class GridCacheStoreManager extends GridCacheManagerAdapter { handleClassCastException(e); } catch (Exception e) { - if (!keys0.isEmpty()) - throw new CacheStorePartialUpdateException(keys0, e); - if (!(e instanceof CacheWriterException)) e = new CacheWriterException(e); + if (!keys0.isEmpty()) + throw new CacheStorePartialUpdateException(keys0, e); + throw new IgniteCheckedException(e); } finally { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/11efb918/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java index dc82e83..00190d9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java @@ -277,6 +277,8 @@ public abstract class GridDistributedCacheAdapter extends GridCacheAdapter dht = (GridDhtCacheAdapter)cacheAdapter; try (IgniteDataLoader dataLdr = ignite.dataLoader(cacheName)) { + ((IgniteDataLoaderImpl)dataLdr).maxRemapCount(0); + dataLdr.updater(GridDataLoadCacheUpdaters.batched()); for (GridDhtLocalPartition locPart : dht.topology().currentLocalPartitions()) { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/11efb918/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java index ced8d1d..ed3bbcb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/dataload/IgniteDataLoaderImpl.java @@ -66,7 +66,7 @@ public class IgniteDataLoaderImpl implements IgniteDataLoader, Delay private byte[] updaterBytes; /** Max remap count before issuing an error. */ - private static final int MAX_REMAP_CNT = 32; + private static final int DFLT_MAX_REMAP_CNT = 32; /** Log reference. */ private static final AtomicReference logRef = new AtomicReference<>(); @@ -156,6 +156,9 @@ public class IgniteDataLoaderImpl implements IgniteDataLoader, Delay /** */ private boolean skipStore; + /** */ + private int maxRemapCnt = DFLT_MAX_REMAP_CNT; + /** * @param ctx Grid kernal context. * @param cacheName Cache name. @@ -434,12 +437,6 @@ public class IgniteDataLoaderImpl implements IgniteDataLoader, Delay ) { assert entries != null; - if (remaps >= MAX_REMAP_CNT) { - resFut.onDone(new IgniteCheckedException("Failed to finish operation (too many remaps): " + remaps)); - - return; - } - Map>> mappings = new HashMap<>(); boolean initPda = ctx.deploy().enabled() && jobPda == null; @@ -526,6 +523,10 @@ public class IgniteDataLoaderImpl implements IgniteDataLoader, Delay resFut.onDone(new IgniteCheckedException("Data loader has been cancelled: " + IgniteDataLoaderImpl.this, e1)); } + else if (remaps + 1 > maxRemapCnt) { + resFut.onDone(new IgniteCheckedException("Failed to finish operation (too many remaps): " + + remaps), e1); + } else load0(entriesForNode, resFut, activeKeys, remaps + 1); } @@ -760,6 +761,20 @@ public class IgniteDataLoaderImpl implements IgniteDataLoader, Delay close(false); } + /** + * @return Max remap count. + */ + public int maxRemapCount() { + return maxRemapCnt; + } + + /** + * @param maxRemapCnt New max remap count. + */ + public void maxRemapCount(int maxRemapCnt) { + this.maxRemapCnt = maxRemapCnt; + } + /** {@inheritDoc} */ @Override public String toString() { return S.toString(IgniteDataLoaderImpl.class, this);