You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2017/10/30 12:44:01 UTC
ignite git commit: IGNITE-6398 Web Console: Added support for
ClientConnectorConfiguration.
Repository: ignite
Updated Branches:
refs/heads/master 555b71ed0 -> 58dbbc539
IGNITE-6398 Web Console: Added support for ClientConnectorConfiguration.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/58dbbc53
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/58dbbc53
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/58dbbc53
Branch: refs/heads/master
Commit: 58dbbc5394d603fabc348d92cda2a4e959fa0e79
Parents: 555b71e
Author: vsisko <vs...@gridgain.com>
Authored: Mon Oct 30 19:43:48 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Mon Oct 30 19:43:48 2017 +0700
----------------------------------------------------------------------
.../internal/visor/VisorDataTransferObject.java | 3 +
.../node/VisorClientConnectorConfiguration.java | 166 +++++++++++++++++++
.../visor/node/VisorGridConfiguration.java | 26 ++-
.../node/VisorSqlConnectorConfiguration.java | 3 +
.../config/VisorConfigurationCommand.scala | 29 +++-
modules/web-console/backend/app/mongo.js | 11 ++
.../generator/AbstractTransformer.js | 5 +
.../generator/ConfigurationGenerator.js | 35 +++-
.../configuration/clusters/client-connector.pug | 59 +++++++
.../configuration/clusters/sql-connector.pug | 4 +-
.../views/configuration/clusters.tpl.pug | 6 +
11 files changed, 332 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorDataTransferObject.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorDataTransferObject.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorDataTransferObject.java
index 8660891..4635c3e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorDataTransferObject.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorDataTransferObject.java
@@ -41,6 +41,9 @@ public abstract class VisorDataTransferObject implements Externalizable {
/** Version 2. */
protected static final byte V2 = 2;
+ /** Version 3. */
+ protected static final byte V3 = 3;
+
/**
* @param col Source collection.
* @param <T> Collection type.
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorClientConnectorConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorClientConnectorConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorClientConnectorConfiguration.java
new file mode 100644
index 0000000..397b72a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorClientConnectorConfiguration.java
@@ -0,0 +1,166 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.configuration.ClientConnectorConfiguration;
+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;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Data transfer object for client connector configuration.
+ */
+public class VisorClientConnectorConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Host. */
+ private String host;
+
+ /** Port. */
+ private int port;
+
+ /** Port range. */
+ private int portRange;
+
+ /** Max number of opened cursors per connection. */
+ private int maxOpenCursorsPerConn;
+
+ /** Socket send buffer size. */
+ private int sockSndBufSize;
+
+ /** Socket receive buffer size. */
+ private int sockRcvBufSize;
+
+ /** TCP no delay. */
+ private boolean tcpNoDelay;
+
+ /** Thread pool size. */
+ private int threadPoolSize ;
+
+ /**
+ * Default constructor.
+ */
+ public VisorClientConnectorConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for Sql connector configuration.
+ *
+ * @param cfg Sql connector configuration.
+ */
+ public VisorClientConnectorConfiguration(ClientConnectorConfiguration cfg) {
+ host = cfg.getHost();
+ port = cfg.getPort();
+ portRange = cfg.getPortRange();
+ maxOpenCursorsPerConn = cfg.getMaxOpenCursorsPerConnection();
+ sockSndBufSize = cfg.getSocketSendBufferSize();
+ sockRcvBufSize = cfg.getSocketReceiveBufferSize();
+ tcpNoDelay = cfg.isTcpNoDelay();
+ threadPoolSize = cfg.getThreadPoolSize();
+ }
+
+ /**
+ * @return Host.
+ */
+ @Nullable public String getHost() {
+ return host;
+ }
+
+ /**
+ * @return Port.
+ */
+ public int getPort() {
+ return port;
+ }
+
+ /**
+ * @return Port range.
+ */
+ public int getPortRange() {
+ return portRange;
+ }
+
+ /**
+ * @return Maximum number of opened cursors.
+ */
+ public int getMaxOpenCursorsPerConnection() {
+ return maxOpenCursorsPerConn;
+ }
+
+ /**
+ * @return Socket send buffer size in bytes.
+ */
+ public int getSocketSendBufferSize() {
+ return sockSndBufSize;
+ }
+
+ /**
+ * @return Socket receive buffer size in bytes.
+ */
+ public int getSocketReceiveBufferSize() {
+ return sockRcvBufSize;
+ }
+
+ /**
+ * @return TCP NO_DELAY flag.
+ */
+ public boolean isTcpNoDelay() {
+ return tcpNoDelay;
+ }
+ /**
+ * @return Thread pool that is in charge of processing SQL requests.
+ */
+ public int getThreadPoolSize() {
+ return threadPoolSize;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, host);
+ out.writeInt(port);
+ out.writeInt(portRange);
+ out.writeInt(maxOpenCursorsPerConn);
+ out.writeInt(sockSndBufSize);
+ out.writeInt(sockRcvBufSize );
+ out.writeBoolean(tcpNoDelay);
+ out.writeInt(threadPoolSize);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ host = U.readString(in);
+ port = in.readInt();
+ portRange = in.readInt();
+ maxOpenCursorsPerConn = in.readInt();
+ sockSndBufSize = in.readInt();
+ sockRcvBufSize = in.readInt();
+ tcpNoDelay = in.readBoolean();
+ threadPoolSize = in.readInt();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorClientConnectorConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
index 99cce40..9e2370c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
@@ -26,9 +26,9 @@ import java.util.Map;
import java.util.Properties;
import org.apache.ignite.IgniteSystemProperties;
import org.apache.ignite.configuration.BinaryConfiguration;
+import org.apache.ignite.configuration.ClientConnectorConfiguration;
import org.apache.ignite.configuration.HadoopConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.configuration.SqlConnectorConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -122,6 +122,9 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
/** Configuration of data storage. */
private VisorDataStorageConfiguration dataStorage;
+ /** Client connector configuration */
+ private VisorClientConnectorConfiguration clnConnCfg;
+
/**
* Default constructor.
*/
@@ -177,10 +180,10 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
if (hc != null)
hadoopCfg = new VisorHadoopConfiguration(hc);
- SqlConnectorConfiguration scc = c.getSqlConnectorConfiguration();
+ ClientConnectorConfiguration ccc = c.getClientConnectorConfiguration();
- if (scc != null)
- sqlConnCfg = new VisorSqlConnectorConfiguration(scc);
+ if (ccc != null)
+ clnConnCfg = new VisorClientConnectorConfiguration(ccc);
srvcCfgs = VisorServiceConfiguration.list(c.getServiceConfiguration());
@@ -356,6 +359,13 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
}
/**
+ * @return Client connector configuration.
+ */
+ public VisorClientConnectorConfiguration getClientConnectorConfiguration() {
+ return clnConnCfg;
+ }
+
+ /**
* @return List of service configurations
*/
public List<VisorServiceConfiguration> getServiceConfigurations() {
@@ -371,7 +381,7 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
/** {@inheritDoc} */
@Override public byte getProtocolVersion() {
- return V2;
+ return V3;
}
/** {@inheritDoc} */
@@ -402,6 +412,7 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
out.writeObject(sqlConnCfg);
U.writeCollection(out, srvcCfgs);
out.writeObject(dataStorage);
+ out.writeObject(clnConnCfg);
}
/** {@inheritDoc} */
@@ -432,8 +443,11 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
sqlConnCfg = (VisorSqlConnectorConfiguration) in.readObject();
srvcCfgs = U.readList(in);
- if (protoVer == V2)
+ if (protoVer >= V2)
dataStorage = (VisorDataStorageConfiguration)in.readObject();
+
+ if (protoVer >= V3)
+ clnConnCfg = (VisorClientConnectorConfiguration)in.readObject();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSqlConnectorConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSqlConnectorConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSqlConnectorConfiguration.java
index ccde415..2c2f959 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSqlConnectorConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSqlConnectorConfiguration.java
@@ -28,7 +28,10 @@ import org.jetbrains.annotations.Nullable;
/**
* Data transfer object for SQL connector configuration.
+ *
+ * Deprecated as of Apache Ignite 2.3
*/
+@Deprecated
public class VisorSqlConnectorConfiguration extends VisorDataTransferObject {
/** */
private static final long serialVersionUID = 0L;
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
index 13ab778..b9b0af9 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
@@ -17,19 +17,16 @@
package org.apache.ignite.visor.commands.config
+import java.util.UUID
import org.apache.ignite.cluster.ClusterGroupEmptyException
import org.apache.ignite.internal.util.scala.impl
import org.apache.ignite.internal.util.{IgniteUtils => U}
-import org.apache.ignite.lang.IgniteBiTuple
import org.apache.ignite.visor.VisorTag
import org.apache.ignite.visor.commands.cache.VisorCacheCommand._
import org.apache.ignite.visor.commands.common.{VisorConsoleCommand, VisorTextTable}
import org.apache.ignite.visor.visor._
-import java.lang.System._
-import java.util.UUID
-
-import org.apache.ignite.internal.visor.node.{VisorSpiDescription, VisorGridConfiguration, VisorNodeConfigurationCollectorTask}
+import org.apache.ignite.internal.visor.node.{VisorGridConfiguration, VisorNodeConfigurationCollectorTask, VisorSpiDescription}
import org.apache.ignite.internal.visor.util.VisorTaskUtils._
import scala.collection.JavaConversions._
@@ -240,6 +237,26 @@ class VisorConfigurationCommand extends VisorConsoleCommand {
spisT.render()
+ println("\nClient connector configuration")
+
+ val cliConnCfg = cfg.getClientConnectorConfiguration
+ val cliConnTbl = VisorTextTable()
+
+ if (cliConnCfg != null) {
+ cliConnTbl += ("Host", safe(cliConnCfg.getHost, safe(basic.getLocalHost)))
+ cliConnTbl += ("Port", cliConnCfg.getPort)
+ cliConnTbl += ("Port range", cliConnCfg.getPortRange)
+ cliConnTbl += ("Socket send buffer size", formatMemory(cliConnCfg.getSocketSendBufferSize))
+ cliConnTbl += ("Socket receive buffer size", formatMemory(cliConnCfg.getSocketReceiveBufferSize))
+ cliConnTbl += ("Max connection cursors", cliConnCfg.getMaxOpenCursorsPerConnection)
+ cliConnTbl += ("Pool size", cliConnCfg.getThreadPoolSize)
+ cliConnTbl += ("TCP_NODELAY", bool2Str(cliConnCfg.isTcpNoDelay))
+
+ cliConnTbl.render()
+ }
+ else
+ println("Client Connection is not configured")
+
println("\nPeer-to-Peer:")
val p2pT = VisorTextTable()
@@ -371,7 +388,7 @@ class VisorConfigurationCommand extends VisorConsoleCommand {
* @return List of strings.
*/
private[this] def compactProperty(name: String, value: String): List[String] = {
- val ps = getProperty("path.separator")
+ val ps = System.getProperty("path.separator")
// Split all values having path separator into multiple lines (with few exceptions...).
val lst =
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/web-console/backend/app/mongo.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/mongo.js b/modules/web-console/backend/app/mongo.js
index 5b02a72..7043fcd 100644
--- a/modules/web-console/backend/app/mongo.js
+++ b/modules/web-console/backend/app/mongo.js
@@ -854,6 +854,17 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose
className: String
}
}],
+ clientConnectorConfiguration: {
+ enabled: Boolean,
+ host: String,
+ port: Number,
+ portRange: Number,
+ socketSendBufferSize: Number,
+ socketReceiveBufferSize: Number,
+ tcpNoDelay: {type: Boolean, default: true},
+ maxOpenCursorsPerConnection: Number,
+ threadPoolSize: Number
+ },
loadBalancingSpi: [{
kind: {type: String, enum: ['RoundRobin', 'Adaptive', 'WeightedRandom', 'Custom']},
RoundRobin: {
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js b/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js
index f6f471c..af799bd 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js
@@ -78,6 +78,11 @@ export default class AbstractTransformer {
return this.toSection(this.generator.clusterCacheKeyConfiguration(keyCfgs));
}
+ // Generate client connector configuration.
+ static clusterClientConnector(cluster, available) {
+ return this.toSection(this.generator.clusterClientConnector(cluster, available));
+ }
+
// Generate collision group.
static clusterCollision(collision) {
return this.toSection(this.generator.clusterCollision(collision));
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
index 1b12d52..16202f8 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
@@ -78,6 +78,10 @@ export default class IgniteConfigurationGenerator {
this.clusterBinary(cluster.binaryConfiguration, cfg);
this.clusterCacheKeyConfiguration(cluster.cacheKeyConfiguration, cfg);
this.clusterCheckpoint(cluster, cluster.caches, cfg);
+
+ if (available('2.3.0'))
+ this.clusterClientConnector(cluster, available, cfg);
+
this.clusterCollision(cluster.collision, cfg);
this.clusterCommunication(cluster, cfg);
this.clusterConnector(cluster.connector, cfg);
@@ -106,7 +110,9 @@ export default class IgniteConfigurationGenerator {
if (available(['2.1.0', '2.3.0']))
this.clusterPersistence(cluster.persistenceStoreConfiguration, available, cfg);
- this.clusterQuery(cluster, available, cfg);
+ if (available(['2.1.0', '2.3.0']))
+ this.clusterQuery(cluster, available, cfg);
+
this.clusterServiceConfiguration(cluster.serviceConfigurations, cluster.caches, cfg);
this.clusterSsl(cluster, cfg);
@@ -760,6 +766,33 @@ export default class IgniteConfigurationGenerator {
return cfg;
}
+ // Generate cluster query group.
+ static clusterClientConnector(cluster, available, cfg = this.igniteConfigurationBean(cluster)) {
+ if (!available('2.3.0'))
+ return cfg;
+
+ cfg.intProperty('longQueryWarningTimeout');
+
+ if (_.get(cluster, 'clientConnectorConfiguration.enabled') !== true)
+ return cfg;
+
+ const bean = new Bean('org.apache.ignite.configuration.ClientConnectorConfiguration', 'cliConnCfg',
+ cluster.clientConnectorConfiguration, clusterDflts.clientConnectorConfiguration);
+
+ bean.stringProperty('host')
+ .intProperty('port')
+ .intProperty('portRange')
+ .intProperty('socketSendBufferSize')
+ .intProperty('socketReceiveBufferSize')
+ .intProperty('maxOpenCursorsPerConnection')
+ .intProperty('threadPoolSize')
+ .boolProperty('tcpNoDelay');
+
+ cfg.beanProperty('clientConnectorConfiguration', bean);
+
+ return cfg;
+ }
+
// Generate collision group.
static clusterCollision(collision, cfg = this.igniteConfigurationBean()) {
let colSpi;
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/web-console/frontend/app/modules/states/configuration/clusters/client-connector.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/client-connector.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/client-connector.pug
new file mode 100644
index 0000000..dd2fa6d
--- /dev/null
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/client-connector.pug
@@ -0,0 +1,59 @@
+//-
+ 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.
+
+include /app/helpers/jade/mixins
+
+-var form = 'clientConnector'
+-var model = 'backupItem'
+-var connectionModel = model + '.clientConnectorConfiguration'
+-var connectionEnabled = connectionModel + '.enabled'
+
+.panel.panel-default(ng-show='$ctrl.available("2.3.0")' ng-form=form novalidate)
+ .panel-heading(bs-collapse-toggle ng-click=`ui.loadPanel('${form}')`)
+ ignite-form-panel-chevron
+ label Client connector configuration
+ ignite-form-field-tooltip.tipLabel
+ | Client connector configuration
+ ignite-form-revert
+ .panel-collapse(role='tabpanel' bs-collapse-target id=`${form}`)
+ .panel-body(ng-if=`$ctrl.available("2.3.0") && ui.isPanelLoaded('${form}')`)
+ .col-sm-6
+ .settings-row
+ +checkbox('Enabled', connectionEnabled, '"ClientConnectorEnabled"', 'Flag indicating whether to configure client connector configuration')
+ .settings-row
+ +text-enabled('Host:', `${connectionModel}.host`, '"ClientConnectorHost"', connectionEnabled, 'false', 'localhost', 'Host')
+ .settings-row
+ +number('Port:', `${connectionModel}.port`, '"ClientConnectorPort"', connectionEnabled, '10800', '1025', 'Port')
+ .settings-row
+ +number('Port range:', `${connectionModel}.portRange`, '"ClientConnectorPortRange"', connectionEnabled, '100', '0', 'Port range')
+ .settings-row
+ +number('Socket send buffer size:', `${connectionModel}.socketSendBufferSize`, '"ClientConnectorSocketSendBufferSize"', connectionEnabled, '0', '0',
+ 'Socket send buffer size.<br/>\
+ When set to <b>0</b>, operation system default will be used')
+ .settings-row
+ +number('Socket receive buffer size:', `${connectionModel}.socketReceiveBufferSize`, '"ClientConnectorSocketReceiveBufferSize"', connectionEnabled, '0', '0',
+ 'Socket receive buffer size.<br/>\
+ When set to <b>0</b>, operation system default will be used')
+ .settings-row
+ +number('Max connection cursors:', `${connectionModel}.maxOpenCursorsPerConnection`, '"ClientConnectorMaxOpenCursorsPerConnection"', connectionEnabled, '128', '0',
+ 'Max number of opened cursors per connection')
+ .settings-row
+ +number('Pool size:', `${connectionModel}.threadPoolSize`, '"ClientConnectorThreadPoolSize"', connectionEnabled, 'max(8, availableProcessors)', '1',
+ 'Size of thread pool that is in charge of processing SQL requests')
+ .settings-row
+ +checkbox-enabled('TCP_NODELAY option', `${connectionModel}.tcpNoDelay`, '"ClientConnectorTcpNoDelay"', connectionEnabled, 'Value for TCP_NODELAY socket option')
+ .col-sm-6
+ +preview-xml-java(model, 'clusterClientConnector')
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
index 89e00d7..d72f962 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/sql-connector.pug
@@ -21,7 +21,7 @@ include /app/helpers/jade/mixins
-var connectionModel = model + '.sqlConnectorConfiguration'
-var connectionEnabled = connectionModel + '.enabled'
-.panel.panel-default(ng-show='$ctrl.available("2.1.0")' ng-form=form novalidate)
+.panel.panel-default(ng-show='$ctrl.available(["2.1.0", "2.3.0"])' ng-form=form novalidate)
.panel-heading(bs-collapse-toggle ng-click=`ui.loadPanel('${form}')`)
ignite-form-panel-chevron
label Query configuration
@@ -30,7 +30,7 @@ include /app/helpers/jade/mixins
//- TODO IGNITE-5415 Add link to documentation.
ignite-form-revert
.panel-collapse(role='tabpanel' bs-collapse-target id=`${form}`)
- .panel-body(ng-if=`$ctrl.available("2.1.0") && ui.isPanelLoaded('${form}')`)
+ .panel-body(ng-if=`$ctrl.available(["2.1.0", "2.3.0"]) && ui.isPanelLoaded('${form}')`)
.col-sm-6
.settings-row
+checkbox('Enabled', connectionEnabled, '"SqlConnectorEnabled"', 'Flag indicating whether to configure SQL connector configuration')
http://git-wip-us.apache.org/repos/asf/ignite/blob/58dbbc53/modules/web-console/frontend/views/configuration/clusters.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/configuration/clusters.tpl.pug b/modules/web-console/frontend/views/configuration/clusters.tpl.pug
index 26a1da1..19ed350 100644
--- a/modules/web-console/frontend/views/configuration/clusters.tpl.pug
+++ b/modules/web-console/frontend/views/configuration/clusters.tpl.pug
@@ -45,6 +45,10 @@ include /app/helpers/jade/mixins
include /app/modules/states/configuration/clusters/binary
include /app/modules/states/configuration/clusters/cache-key-cfg
include /app/modules/states/configuration/clusters/checkpoint
+
+ //- Since ignite 2.3
+ include /app/modules/states/configuration/clusters/client-connector
+
include /app/modules/states/configuration/clusters/collision
include /app/modules/states/configuration/clusters/communication
include /app/modules/states/configuration/clusters/connector
@@ -73,6 +77,8 @@ include /app/helpers/jade/mixins
//- Since ignite 2.1, deprecated in ignite 2.3
include /app/modules/states/configuration/clusters/persistence
+
+ //- Deprecated in ignite 2.3
include /app/modules/states/configuration/clusters/sql-connector
include /app/modules/states/configuration/clusters/service