Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A82072004A0 for ; Wed, 16 Aug 2017 17:41:28 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 7F3291617A0; Wed, 16 Aug 2017 15:41:28 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id D7FEC161A96 for ; Wed, 16 Aug 2017 17:41:27 +0200 (CEST) Received: (qmail 33830 invoked by uid 500); 16 Aug 2017 15:41:27 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 33540 invoked by uid 99); 16 Aug 2017 15:41:25 -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; Wed, 16 Aug 2017 15:41:25 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id DD122F32F4; Wed, 16 Aug 2017 15:41:24 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: agoncharuk@apache.org To: commits@ignite.apache.org Date: Wed, 16 Aug 2017 15:41:28 -0000 Message-Id: <771c0bb3c45b4e62ad93d9cc409cd6bf@git.apache.org> In-Reply-To: <8731fd6bc1fc48b39c1fe05c470cc4f8@git.apache.org> References: <8731fd6bc1fc48b39c1fe05c470cc4f8@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [05/25] ignite git commit: IGNITE-5902 Implemented stop caches at once. archived-at: Wed, 16 Aug 2017 15:41:28 -0000 IGNITE-5902 Implemented stop caches at once. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ebb8765a Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ebb8765a Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ebb8765a Branch: refs/heads/ignite-5901 Commit: ebb8765ab6735289cc2ceb4ccba2f6fd1e9816a8 Parents: 1c62fda Author: Alexey Kuznetsov Authored: Fri Aug 11 10:25:36 2017 +0700 Committer: Alexey Kuznetsov Committed: Fri Aug 11 10:25:36 2017 +0700 ---------------------------------------------------------------------- .../visor/cache/VisorCacheStopTask.java | 22 ++++++++-------- .../visor/cache/VisorCacheStopTaskArg.java | 27 ++++++++++++++++++++ 2 files changed, 39 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/ebb8765a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java index 9f7c018..df95c5e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java @@ -17,8 +17,10 @@ package org.apache.ignite.internal.visor.cache; -import org.apache.ignite.IgniteCache; +import java.util.Collection; +import java.util.HashSet; import org.apache.ignite.internal.processors.task.GridInternal; +import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -46,23 +48,23 @@ public class VisorCacheStopTask extends VisorOneNodeTask cacheNames = F.isEmpty(arg.getCacheNames()) + ? F.asList(arg.getCacheName()) + : new HashSet<>(arg.getCacheNames()); - IgniteCache cache = ignite.cache(cacheName); + if (F.isEmpty(cacheNames)) + throw new IllegalStateException("Cache names was not specified."); - if (cache == null) - throw new IllegalStateException("Failed to find cache for name: " + cacheName); - - cache.destroy(); + ignite.destroyCaches(cacheNames); return null; } http://git-wip-us.apache.org/repos/asf/ignite/blob/ebb8765a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java index 4976036..77156ab 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java @@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.cache; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; +import java.util.List; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.internal.visor.VisorDataTransferObject; @@ -34,6 +35,9 @@ public class VisorCacheStopTaskArg extends VisorDataTransferObject { /** Cache name. */ private String cacheName; + /** Cache names. */ + private List cacheNames; + /** * Default constructor. */ @@ -49,20 +53,43 @@ public class VisorCacheStopTaskArg extends VisorDataTransferObject { } /** + * @param cacheNames Cache names. + */ + public VisorCacheStopTaskArg(List cacheNames) { + this.cacheNames = cacheNames; + } + + /** * @return Cache name. */ public String getCacheName() { return cacheName; } + /** + * @return Cache names. + */ + public List getCacheNames() { + return cacheNames; + } + + /** {@inheritDoc} */ + @Override public byte getProtocolVersion() { + return V2; + } + /** {@inheritDoc} */ @Override protected void writeExternalData(ObjectOutput out) throws IOException { U.writeString(out, cacheName); + U.writeCollection(out, cacheNames); } /** {@inheritDoc} */ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException { cacheName = U.readString(in); + + if (protoVer > V1) + cacheNames = U.readList(in); } /** {@inheritDoc} */