You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2017/03/02 09:36:58 UTC
ignite git commit: Minor fixes.
Repository: ignite
Updated Branches:
refs/heads/master 1080e6861 -> 684dc7be1
Minor fixes.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/684dc7be
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/684dc7be
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/684dc7be
Branch: refs/heads/master
Commit: 684dc7be114c8acccf4dd196daca56c041d78a5c
Parents: 1080e68
Author: Andrey Novikov <an...@gridgain.com>
Authored: Thu Mar 2 16:36:43 2017 +0700
Committer: Andrey Novikov <an...@gridgain.com>
Committed: Thu Mar 2 16:36:43 2017 +0700
----------------------------------------------------------------------
.../internal/GridCacheRecreateLockTest.java | 18 +++++++++-
modules/web-console/backend/app/agent.js | 36 ++++++++++++++++++++
modules/web-console/backend/app/browser.js | 28 +++++++++++++++
.../frontend/app/modules/sql/sql.controller.js | 1 -
.../demo/service/DemoCachesLoadService.java | 26 ++++++++++++++
5 files changed, 107 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/684dc7be/modules/core/src/test/java/org/apache/ignite/internal/GridCacheRecreateLockTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridCacheRecreateLockTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridCacheRecreateLockTest.java
index ae4ef87..24bb1c9 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridCacheRecreateLockTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridCacheRecreateLockTest.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.ignite.internal;
import org.apache.ignite.Ignite;
@@ -13,7 +30,6 @@ import org.apache.ignite.testframework.junits.common.GridCommonTest;
*/
@GridCommonTest(group = "Kernal Self")
public class GridCacheRecreateLockTest extends GridCommonAbstractTest {
-
/**
* @throws IgniteCheckedException If failed.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/684dc7be/modules/web-console/backend/app/agent.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/agent.js b/modules/web-console/backend/app/agent.js
index 4cae8ee..b4394b7 100644
--- a/modules/web-console/backend/app/agent.js
+++ b/modules/web-console/backend/app/agent.js
@@ -329,6 +329,42 @@ module.exports.factory = function(_, fs, path, JSZip, socketio, settings, mongo,
}
/**
+ * Collect running queries
+ * @param {Boolean} demo Is need run command on demo node.
+ * @param {Number} duration minimum duration time of running queries.
+ * @returns {Promise}
+ */
+ queryCollectRunning(demo, duration) {
+ const cmd = new Command(demo, 'exe')
+ .addParam('name', 'org.apache.ignite.internal.visor.compute.VisorGatewayTask')
+ .addParam('p1', '')
+ .addParam('p2', 'org.apache.ignite.internal.visor.query.VisorCollectRunningQueriesTask')
+ .addParam('p3', 'java.lang.Long')
+ .addParam('p4', duration);
+
+ return this.executeRest(cmd);
+ }
+
+ /**
+ * Cancel running query.
+ * @param {Boolean} demo Is need run command on demo node.
+ * @param {String} nid Node id.
+ * @param {Number} queryId query id to cancel.
+ * @returns {Promise}
+ */
+ queryCancel(demo, nid, queryId) {
+ const cmd = new Command(demo, 'exe')
+ .addParam('name', 'org.apache.ignite.internal.visor.compute.VisorGatewayTask')
+ .addParam('p1', nid)
+ .addParam('p2', 'org.apache.ignite.internal.visor.query.VisorCancelQueriesTask')
+ .addParam('p3', 'java.util.Collection')
+ .addParam('p4', 'java.lang.Long')
+ .addParam('p5', queryId);
+
+ return this.executeRest(cmd);
+ }
+
+ /**
* @param {Boolean} demo Is need run command on demo node.
* @param {String} cacheName Cache name.
* @returns {Promise}
http://git-wip-us.apache.org/repos/asf/ignite/blob/684dc7be/modules/web-console/backend/app/browser.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/browser.js b/modules/web-console/backend/app/browser.js
index 2b1285e..56f2acc 100644
--- a/modules/web-console/backend/app/browser.js
+++ b/modules/web-console/backend/app/browser.js
@@ -175,6 +175,34 @@ module.exports.factory = (_, socketio, agentMgr, configure) => {
.catch((err) => cb(_errorToJson(err)));
});
+ // Collect running queries from all nodes in grid.
+ socket.on('node:query:running', (duration, cb) => {
+ agentMgr.findAgent(accountId())
+ .then((agent) => agent.queryCollectRunning(demo, duration))
+ .then((data) => {
+
+ if (data.finished)
+ return cb(null, data.result);
+
+ cb(_errorToJson(data.error));
+ })
+ .catch((err) => cb(_errorToJson(err)));
+ });
+
+ // Cancel running query by query id on node.
+ socket.on('node:query:cancel', (nid, queryId, cb) => {
+ agentMgr.findAgent(accountId())
+ .then((agent) => agent.queryCancel(demo, nid, queryId))
+ .then((data) => {
+
+ if (data.finished)
+ return cb(null, data.result);
+
+ cb(_errorToJson(data.error));
+ })
+ .catch((err) => cb(_errorToJson(err)));
+ });
+
// Return cache metadata from all nodes in grid.
socket.on('node:cache:metadata', (cacheName, cb) => {
agentMgr.findAgent(accountId())
http://git-wip-us.apache.org/repos/asf/ignite/blob/684dc7be/modules/web-console/frontend/app/modules/sql/sql.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index e2ead13..c082d4e 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -20,7 +20,6 @@ import cacheMetadataTemplateUrl from 'views/sql/cache-metadata.tpl.pug';
import chartSettingsTemplateUrl from 'views/sql/chart-settings.tpl.pug';
import showQueryTemplateUrl from 'views/templates/message.tpl.pug';
-
// Time line X axis descriptor.
const TIME_LINE = {value: -1, type: 'java.sql.Date', label: 'TIME_LINE'};
http://git-wip-us.apache.org/repos/asf/ignite/blob/684dc7be/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
----------------------------------------------------------------------
diff --git a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
index fbfa2ae..5f7823b 100644
--- a/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
+++ b/modules/web-console/web-agent/src/main/java/org/apache/ignite/console/demo/service/DemoCachesLoadService.java
@@ -33,6 +33,7 @@ import org.apache.ignite.cache.QueryEntity;
import org.apache.ignite.cache.QueryIndex;
import org.apache.ignite.cache.QueryIndexType;
import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
+import org.apache.ignite.cache.query.annotations.QuerySqlFunction;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.console.demo.AgentDemoUtils;
import org.apache.ignite.console.demo.model.Car;
@@ -209,6 +210,7 @@ public class DemoCachesLoadService implements Service {
ccfg.setQueryDetailMetricsSize(10);
ccfg.setStartSize(100);
ccfg.setStatisticsEnabled(true);
+ ccfg.setSqlFunctionClasses(SQLFunctions.class);
return ccfg;
}
@@ -453,4 +455,28 @@ public class DemoCachesLoadService implements Service {
if (ignite.log().isDebugEnabled())
ignite.log().debug("DEMO: Finished cars population.");
}
+
+ /**
+ * Utility class with custom SQL functions.
+ */
+ public static class SQLFunctions {
+ /**
+ * Sleep function to simulate long running queries.
+ *
+ * @param x Time to sleep.
+ * @return Return specified argument.
+ */
+ @QuerySqlFunction
+ public static long sleep(long x) {
+ if (x >= 0)
+ try {
+ Thread.sleep(x);
+ }
+ catch (InterruptedException ignored) {
+ // No-op.
+ }
+
+ return x;
+ }
+ }
}