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 9E56E200D33 for ; Tue, 3 Oct 2017 16:03:20 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 9D07F1609DD; Tue, 3 Oct 2017 14:03:20 +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 4452B160BF1 for ; Tue, 3 Oct 2017 16:03:18 +0200 (CEST) Received: (qmail 35148 invoked by uid 500); 3 Oct 2017 14:03:17 -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 34195 invoked by uid 99); 3 Oct 2017 14:03:16 -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 Oct 2017 14:03:16 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 01DEEF5C62; Tue, 3 Oct 2017 14:03:16 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: vozerov@apache.org To: commits@ignite.apache.org Date: Tue, 03 Oct 2017 14:03:40 -0000 Message-Id: <74ab5a506b774dedaaf7ebc77c262c72@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [26/37] ignite git commit: ignite-5733 Add ability to activate/deactivate/checkstate through HTTP REST API archived-at: Tue, 03 Oct 2017 14:03:20 -0000 ignite-5733 Add ability to activate/deactivate/checkstate through HTTP REST API Signed-off-by: Andrey Gura Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/252eedcc Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/252eedcc Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/252eedcc Branch: refs/heads/ignite-2.3 Commit: 252eedcccf33c81f1a4007627eb1a29b48b72f7f Parents: d7fbbd5 Author: Alexander Belyak Authored: Mon Oct 2 12:58:18 2017 +0300 Committer: Andrey Gura Committed: Mon Oct 2 12:58:18 2017 +0300 ---------------------------------------------------------------------- .../JettyRestProcessorAbstractSelfTest.java | 46 ++++++++++++++++++++ .../processors/rest/GridRestCommand.java | 2 +- .../processors/rest/GridRestProcessor.java | 5 ++- .../http/jetty/GridJettyRestHandler.java | 18 ++++++++ 4 files changed, 68 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/252eedcc/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java index 5f83f6f..b2725b8 100644 --- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java +++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java @@ -710,6 +710,18 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro /** * @throws Exception If failed. */ + public void testDeactivateActivate() throws Exception { + + assertClusterState(true); + + changeClusterState(false); + + changeClusterState(true); + } + + /** + * @throws Exception If failed. + */ public void testPut() throws Exception { String ret = content(F.asMap("cacheName", DEFAULT_CACHE_NAME, "cmd", GridRestCommand.CACHE_PUT.key(), "key", "putKey", "val", "putVal")); @@ -2375,4 +2387,38 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro return cfg; } + + /** + * Test if current cluster state equals expected. + * + * @param exp Expected state. + * @throws Exception If failed. + */ + private void assertClusterState(boolean exp) throws Exception { + String ret = content(F.asMap("cmd", GridRestCommand.CLUSTER_CURRENT_STATE.key())); + + info("Cluster state: " + ret); + JsonNode res = jsonResponse(ret); + + assertEquals(exp, res.asBoolean()); + assertEquals(exp, grid(0).active()); + } + + /** + * Change cluster state and test new state. + * + * @param state Desired state. + * @throws Exception If failed. + */ + private void changeClusterState(boolean state) throws Exception { + String cmd = (state ? GridRestCommand.CLUSTER_ACTIVE : GridRestCommand.CLUSTER_INACTIVE).key(); + + String ret = content(F.asMap("cmd", cmd)); + + JsonNode res = jsonResponse(ret); + + assertTrue(res.isNull()); + + assertClusterState(state); + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/252eedcc/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java index 24b4bda..2b53b54 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestCommand.java @@ -166,7 +166,7 @@ public enum GridRestCommand { CLUSTER_INACTIVE("inactive"), /** */ - CLUSTER_CURRENT_STATE("currentState"); + CLUSTER_CURRENT_STATE("currentstate"); /** Enum values. */ private static final GridRestCommand[] VALS = values(); http://git-wip-us.apache.org/repos/asf/ignite/blob/252eedcc/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java index 9842883..64ab173 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java @@ -67,8 +67,6 @@ import org.apache.ignite.internal.util.typedef.internal.SB; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.internal.util.worker.GridWorker; import org.apache.ignite.internal.util.worker.GridWorkerFuture; -import org.apache.ignite.internal.visor.compute.VisorGatewayTask; -import org.apache.ignite.internal.visor.misc.VisorChangeGridActiveStateTask; import org.apache.ignite.internal.visor.util.VisorClusterGroupEmptyException; import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.lang.IgniteInClosure; @@ -811,6 +809,9 @@ public class GridRestProcessor extends GridProcessorAdapter { case ATOMIC_DECREMENT: case NAME: case LOG: + case CLUSTER_CURRENT_STATE: + case CLUSTER_ACTIVE: + case CLUSTER_INACTIVE: break; default: http://git-wip-us.apache.org/repos/asf/ignite/blob/252eedcc/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java ---------------------------------------------------------------------- diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java index 327c13a..b8a42f3 100644 --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java @@ -45,6 +45,7 @@ import org.apache.ignite.internal.processors.rest.GridRestProtocolHandler; import org.apache.ignite.internal.processors.rest.GridRestResponse; import org.apache.ignite.internal.processors.rest.request.DataStructuresRequest; import org.apache.ignite.internal.processors.rest.request.GridRestCacheRequest; +import org.apache.ignite.internal.processors.rest.request.GridRestChangeStateRequest; import org.apache.ignite.internal.processors.rest.request.GridRestLogRequest; import org.apache.ignite.internal.processors.rest.request.GridRestRequest; import org.apache.ignite.internal.processors.rest.request.GridRestTaskRequest; @@ -63,6 +64,8 @@ import static org.apache.ignite.internal.processors.rest.GridRestCommand.CACHE_G import static org.apache.ignite.internal.processors.rest.GridRestCommand.CACHE_PUT_ALL; import static org.apache.ignite.internal.processors.rest.GridRestCommand.CACHE_REMOVE_ALL; import static org.apache.ignite.internal.processors.rest.GridRestCommand.EXECUTE_SQL_QUERY; +import static org.apache.ignite.internal.processors.rest.GridRestCommand.CLUSTER_ACTIVE; +import static org.apache.ignite.internal.processors.rest.GridRestCommand.CLUSTER_CURRENT_STATE; import static org.apache.ignite.internal.processors.rest.GridRestResponse.STATUS_FAILED; /** @@ -540,6 +543,21 @@ public class GridJettyRestHandler extends AbstractHandler { break; } + case CLUSTER_ACTIVE: + case CLUSTER_INACTIVE: + case CLUSTER_CURRENT_STATE: { + GridRestChangeStateRequest restReq0 = new GridRestChangeStateRequest(); + + if (cmd == CLUSTER_CURRENT_STATE) + restReq0.reqCurrentState(); + else + restReq0.active(cmd == CLUSTER_ACTIVE); + + restReq = restReq0; + + break; + } + case EXECUTE_SQL_QUERY: case EXECUTE_SQL_FIELDS_QUERY: { RestQueryRequest restReq0 = new RestQueryRequest();