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 <[email protected]> Authored: Mon Oct 30 19:43:48 2017 +0700 Committer: Alexey Kuznetsov <[email protected]> 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
