ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akuznet...@apache.org
Subject ignite git commit: IGNITE-7462 Web Console: Actualized configuration generation.
Date Thu, 01 Mar 2018 16:14:10 GMT
Repository: ignite
Updated Branches:
  refs/heads/master dbcf2244d -> 30fab7448


IGNITE-7462 Web Console: Actualized configuration generation.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/30fab744
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/30fab744
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/30fab744

Branch: refs/heads/master
Commit: 30fab7448b7e9b1654705d3cc505a799b8cbe35b
Parents: dbcf224
Author: Vasiliy Sisko <vsisko@gridgain.com>
Authored: Thu Mar 1 23:13:53 2018 +0700
Committer: Alexey Kuznetsov <akuznetsov@apache.org>
Committed: Thu Mar 1 23:13:53 2018 +0700

----------------------------------------------------------------------
 modules/web-console/backend/app/schemas.js      | 28 ++++++++++--
 .../ui-ace-java/ui-ace-java.controller.js       |  2 +-
 .../ui-ace-spring/ui-ace-spring.controller.js   |  2 +-
 .../generator/AbstractTransformer.js            |  8 ++--
 .../generator/ConfigurationGenerator.js         | 45 ++++++++++++++------
 .../generator/defaults/Cluster.service.js       | 15 ++++++-
 .../configuration/clusters/checkpoint/s3.pug    | 30 ++++++++++++-
 .../configuration/clusters/communication.pug    |  2 +-
 .../clusters/general/discovery/s3.pug           | 10 +++++
 .../frontend/controllers/clusters-controller.js |  5 ++-
 10 files changed, 118 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/backend/app/schemas.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/schemas.js b/modules/web-console/backend/app/schemas.js
index b3d61ac..553d2b2 100644
--- a/modules/web-console/backend/app/schemas.js
+++ b/modules/web-console/backend/app/schemas.js
@@ -426,10 +426,13 @@ module.exports.factory = function(mongoose) {
             },
             S3: {
                 bucketName: String,
+                bucketEndpoint: String,
+                SSEAlgorithm: String,
                 clientConfiguration: {
                     protocol: {type: String, enum: ['HTTP', 'HTTPS']},
                     maxConnections: Number,
-                    userAgent: String,
+                    userAgentPrefix: String,
+                    userAgentSuffix: String,
                     localAddress: String,
                     proxyHost: String,
                     proxyPort: Number,
@@ -470,7 +473,14 @@ module.exports.factory = function(mongoose) {
                     useTcpKeepAlive: Boolean,
                     dnsResolver: String,
                     responseMetadataCacheSize: Number,
-                    secureRandom: String
+                    secureRandom: String,
+                    cacheResponseMetadata: {type: Boolean, default: true},
+                    clientExecutionTimeout: Number,
+                    nonProxyHosts: String,
+                    socketSendBufferSizeHint: Number,
+                    socketReceiveBufferSizeHint: Number,
+                    useExpectContinue: {type: Boolean, default: true},
+                    useThrottleRetries: {type: Boolean, default: true}
                 }
             },
             Cloud: {
@@ -784,10 +794,13 @@ module.exports.factory = function(mongoose) {
                     }
                 },
                 bucketNameSuffix: String,
+                bucketEndpoint: String,
+                SSEAlgorithm: String,
                 clientConfiguration: {
                     protocol: {type: String, enum: ['HTTP', 'HTTPS']},
                     maxConnections: Number,
-                    userAgent: String,
+                    userAgentPrefix: String,
+                    userAgentSuffix: String,
                     localAddress: String,
                     proxyHost: String,
                     proxyPort: Number,
@@ -825,7 +838,14 @@ module.exports.factory = function(mongoose) {
                     useTcpKeepAlive: Boolean,
                     dnsResolver: String,
                     responseMetadataCacheSize: Number,
-                    secureRandom: String
+                    secureRandom: String,
+                    cacheResponseMetadata: {type: Boolean, default: true},
+                    clientExecutionTimeout: Number,
+                    nonProxyHosts: String,
+                    socketSendBufferSizeHint: Number,
+                    socketReceiveBufferSizeHint: Number,
+                    useExpectContinue: {type: Boolean, default: true},
+                    useThrottleRetries: {type: Boolean, default: true}
                 },
                 checkpointListener: String
             },

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
b/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
index 22f7d18..efd317c 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.controller.js
@@ -98,7 +98,7 @@ export default ['IgniteVersion', 'JavaTransformer', function(Version, java)
{
                         return acc;
                     }, []);
 
-                    return java.clusterCheckpoint(cluster, clusterCaches);
+                    return java.clusterCheckpoint(cluster, available, clusterCaches);
                 };
 
                 break;

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
b/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
index 7eccf6d..5df734f 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.controller.js
@@ -94,7 +94,7 @@ export default ['IgniteVersion', 'SpringTransformer', function(Version,
spring)
                         return acc;
                     }, []);
 
-                    return spring.clusterCheckpoint(cluster, clusterCaches);
+                    return spring.clusterCheckpoint(cluster, available, clusterCaches);
                 };
 
                 break;

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/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 339dbea..e0aece7 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/AbstractTransformer.js
@@ -89,8 +89,8 @@ export default class AbstractTransformer {
     }
 
     // Generate communication group.
-    static clusterCommunication(cluster) {
-        return this.toSection(this.generator.clusterCommunication(cluster));
+    static clusterCommunication(cluster, available) {
+        return this.toSection(this.generator.clusterCommunication(cluster, available));
     }
 
     // Generate REST access configuration.
@@ -304,8 +304,8 @@ export default class AbstractTransformer {
     }
 
     // Generate caches configs.
-    static clusterCheckpoint(cluster, caches) {
-        return this.toSection(this.generator.clusterCheckpoint(cluster, caches));
+    static clusterCheckpoint(cluster, available, caches) {
+        return this.toSection(this.generator.clusterCheckpoint(cluster, available, caches));
     }
 
     // Generate domain model for general group.

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/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 645e3e3..fa47de6 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
@@ -77,13 +77,13 @@ export default class IgniteConfigurationGenerator {
         this.clusterAtomics(cluster.atomicConfiguration, available, cfg);
         this.clusterBinary(cluster.binaryConfiguration, cfg);
         this.clusterCacheKeyConfiguration(cluster.cacheKeyConfiguration, cfg);
-        this.clusterCheckpoint(cluster, cluster.caches, cfg);
+        this.clusterCheckpoint(cluster, available, cluster.caches, cfg);
 
         if (available('2.3.0'))
             this.clusterClientConnector(cluster, available, cfg);
 
         this.clusterCollision(cluster.collision, cfg);
-        this.clusterCommunication(cluster, cfg);
+        this.clusterCommunication(cluster, available, cfg);
         this.clusterConnector(cluster.connector, cfg);
 
         // Since ignite 2.3
@@ -236,6 +236,11 @@ export default class IgniteConfigurationGenerator {
 
                 ipFinder.stringProperty('bucketName');
 
+                if (available('2.4.0')) {
+                    ipFinder.stringProperty('bucketEndpoint')
+                        .stringProperty('SSEAlgorithm');
+                }
+
                 break;
             case 'Cloud':
                 ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.cloud.TcpDiscoveryCloudIpFinder',
@@ -355,7 +360,7 @@ export default class IgniteConfigurationGenerator {
                         ipFinder.beanProperty('retryPolicy', retryPolicyBean);
                 }
 
-                ipFinder.pathProperty('basePath', '/services')
+                ipFinder.pathProperty('basePath')
                     .stringProperty('serviceName')
                     .boolProperty('allowDuplicateRegistrations');
 
@@ -499,7 +504,7 @@ export default class IgniteConfigurationGenerator {
     }
 
     // Generate checkpoint configurations.
-    static clusterCheckpoint(cluster, caches, cfg = this.igniteConfigurationBean()) {
+    static clusterCheckpoint(cluster, available, caches, cfg = this.igniteConfigurationBean())
{
         const cfgs = _.filter(_.map(cluster.checkpointSpi, (spi) => {
             switch (_.get(spi, 'kind')) {
                 case 'FS':
@@ -585,12 +590,18 @@ export default class IgniteConfigurationGenerator {
 
                     s3Bean.stringProperty('bucketNameSuffix');
 
+                    if (available('2.4.0')) {
+                        s3Bean.stringProperty('bucketEndpoint')
+                            .stringProperty('SSEAlgorithm');
+                    }
+
                     const clientBean = new Bean('com.amazonaws.ClientConfiguration', 'clientCfg',
spi.S3.clientConfiguration,
                         clusterDflts.checkpointSpi.S3.clientConfiguration);
 
                     clientBean.enumProperty('protocol')
                         .intProperty('maxConnections')
-                        .stringProperty('userAgent');
+                        .stringProperty('userAgentPrefix')
+                        .stringProperty('userAgentSuffix');
 
                     const locAddr = new Bean('java.net.InetAddress', '', spi.S3.clientConfiguration)
                         .factoryMethod('getByName')
@@ -609,7 +620,8 @@ export default class IgniteConfigurationGenerator {
                         clientBean.property('proxyPassword', `checkpoint.s3.proxy.${userName}.password`);
 
                     clientBean.stringProperty('proxyDomain')
-                        .stringProperty('proxyWorkstation');
+                        .stringProperty('proxyWorkstation')
+                        .stringProperty('nonProxyHosts');
 
                     const retryPolicy = spi.S3.clientConfiguration.retryPolicy;
 
@@ -682,7 +694,8 @@ export default class IgniteConfigurationGenerator {
                                 break;
 
                             case 'Custom':
-                                retryBean = new Bean('com.amazonaws.retry.RetryPolicy', 'retryPolicy',
policy);
+                                retryBean = new Bean('com.amazonaws.retry.RetryPolicy', 'retryPolicy',
policy,
+                                    clusterDflts.checkpointSpi.S3.clientConfiguration.retryPolicy);
 
                                 retryBean.beanConstructorArgument('retryCondition', retryBean.valueOf('retryCondition')
? new EmptyBean(retryBean.valueOf('retryCondition')) : null)
                                     .beanConstructorArgument('backoffStrategy', retryBean.valueOf('backoffStrategy')
? new EmptyBean(retryBean.valueOf('backoffStrategy')) : null)
@@ -703,14 +716,17 @@ export default class IgniteConfigurationGenerator {
                         .intProperty('socketTimeout')
                         .intProperty('connectionTimeout')
                         .intProperty('requestTimeout')
-                        .intProperty('socketSendBufferSizeHints')
                         .stringProperty('signerOverride')
                         .intProperty('connectionTTL')
                         .intProperty('connectionMaxIdleMillis')
                         .emptyBeanProperty('dnsResolver')
                         .intProperty('responseMetadataCacheSize')
                         .emptyBeanProperty('secureRandom')
+                        .intProperty('clientExecutionTimeout')
                         .boolProperty('useReaper')
+                        .boolProperty('cacheResponseMetadata')
+                        .boolProperty('useExpectContinue')
+                        .boolProperty('useThrottleRetries')
                         .boolProperty('useGzip')
                         .boolProperty('preemptiveBasicProxyAuth')
                         .boolProperty('useTcpKeepAlive');
@@ -839,8 +855,8 @@ export default class IgniteConfigurationGenerator {
 
                 colSpi.intProperty('parallelJobsNumber')
                     .intProperty('waitingJobsNumber')
-                    .intProperty('priorityAttributeKey')
-                    .intProperty('jobPriorityAttributeKey')
+                    .stringProperty('priorityAttributeKey')
+                    .stringProperty('jobPriorityAttributeKey')
                     .intProperty('defaultPriority')
                     .intProperty('starvationIncrement')
                     .boolProperty('starvationPreventionEnabled');
@@ -862,7 +878,7 @@ export default class IgniteConfigurationGenerator {
     }
 
     // Generate communication group.
-    static clusterCommunication(cluster, cfg = this.igniteConfigurationBean(cluster)) {
+    static clusterCommunication(cluster, available, cfg = this.igniteConfigurationBean(cluster))
{
         const commSpi = new Bean('org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi',
'communicationSpi',
             cluster.communication, clusterDflts.communication);
 
@@ -893,8 +909,10 @@ export default class IgniteConfigurationGenerator {
 
         cfg.intProperty('networkTimeout')
             .intProperty('networkSendRetryDelay')
-            .intProperty('networkSendRetryCount')
-            .intProperty('discoveryStartupDelay');
+            .intProperty('networkSendRetryCount');
+
+        if (available(['1.0.0', '2.3.0']))
+            cfg.intProperty('discoveryStartupDelay');
 
         return cfg;
     }
@@ -1442,6 +1460,7 @@ export default class IgniteConfigurationGenerator {
         storageBean.stringProperty('storagePath')
             .intProperty('checkpointFrequency')
             .intProperty('checkpointThreads')
+            .enumProperty('checkpointWriteOrder')
             .enumProperty('walMode')
             .stringProperty('walPath')
             .stringProperty('walArchivePath')

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
index b55ed83..8e82403 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
@@ -241,7 +241,8 @@ const DFLT_CLUSTER = {
                     },
                     maxErrorRetry: {
                         clsName: 'com.amazonaws.retry.PredefinedRetryPolicies'
-                    }
+                    },
+                    honorMaxErrorRetryInClientConfig: false
                 },
                 maxErrorRetry: -1,
                 socketTimeout: 50000,
@@ -254,7 +255,13 @@ const DFLT_CLUSTER = {
                 useReaper: true,
                 useGzip: false,
                 preemptiveBasicProxyAuth: false,
-                useTcpKeepAlive: false
+                useTcpKeepAlive: false,
+                cacheResponseMetadata: true,
+                clientExecutionTimeout: 0,
+                socketSendBufferSizeHint: 0,
+                socketReceiveBufferSizeHint: 0,
+                useExpectContinue: true,
+                useThrottleRetries: true
             }
         },
         JDBC: {
@@ -335,6 +342,10 @@ const DFLT_CLUSTER = {
         checkpointFrequency: 180000,
         checkpointPageBufferSize: 268435456,
         checkpointThreads: 4,
+        checkpointWriteOrder: {
+            clsName: 'org.apache.ignite.configuration.CheckpointWriteOrder',
+            value: 'SEQUENTIAL'
+        },
         walMode: {
             clsName: 'org.apache.ignite.configuration.WALMode',
             value: 'DEFAULT'

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/s3.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/s3.pug
b/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/s3.pug
index 16be6c0..d2f8c9e 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/s3.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/s3.pug
@@ -55,6 +55,16 @@ include /app/helpers/jade/mixins
         'Custom AWS credentials provider implementation class', checkpointS3Custom)
 .settings-row
     +text('Bucket name suffix:', 'model.S3.bucketNameSuffix', '"checkpointS3BucketNameSuffix"',
'false', 'default-bucket', 'Bucket name suffix')
+.pcb-flex-grid-break(ng-if-start=`$ctrl.available("2.4.0")`)
+.settings-row
+    +text('Bucket endpoint:', `model.S3.bucketEndpoint`, '"checkpointS3BucketEndpoint"',
false, 'Input bucket endpoint',
+    'Bucket endpoint for IP finder<br/> \
+    For information about possible endpoint names visit <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">docs.aws.amazon.com</a>')
+.settings-row
+    +text('SSE algorithm:', `model.S3.SSEAlgorithm`, '"checkpointS3SseAlgorithm"', false,
'Input SSE algorithm',
+    'Server-side encryption algorithm for Amazon S3-managed encryption keys<br/> \
+    For information about possible S3-managed encryption keys visit <a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">docs.aws.amazon.com</a>')
+.pcb-flex-grid-break(ng-if-end)
 .settings-row
     +java-class('Listener:', 'model.S3.checkpointListener', '"checkpointS3Listener" + $index',
'true', 'false',
         'Checkpoint listener implementation class name', checkpointS3)
@@ -75,8 +85,11 @@ include /app/helpers/jade/mixins
         +number('Maximum connections:', clientCfgModel + '.maxConnections', '"checkpointS3MaxConnections"',
         'true', '50', '1', 'Maximum number of allowed open HTTP connections')
     .details-row
-        +text('User agent:', clientCfgModel + '.userAgent', '"checkpointS3UserAgent"', 'false',
'System specific header',
-        'HTTP user agent header to send with all requests')
+        +text('User agent prefix:', clientCfgModel + '.userAgentPrefix', '"checkpointS3UserAgentPrefix"',
'false', 'System specific header',
+        'HTTP user agent prefix to send with all requests')
+    .details-row
+        +text('User agent suffix:', clientCfgModel + '.userAgentSuffix', '"checkpointS3UserAgentSuffix"',
'false', 'System specific header',
+        'HTTP user agent suffix to send with all requests')
     .details-row
         +text-ip-address('Local address:', clientCfgModel + '.localAddress', '"checkpointS3LocalAddress"',
'true', 'Not specified',
         'Optionally specifies the local address to bind to')
@@ -96,6 +109,9 @@ include /app/helpers/jade/mixins
         +text('Proxy workstation:', clientCfgModel + '.proxyWorkstation', '"checkpointS3ProxyWorkstation"',
'false', 'Not specified',
         'Optional Windows workstation name for configuring NTLM proxy support')
     .details-row
+        +text('Non proxy hosts:', clientCfgModel + '.nonProxyHosts', '"checkpointS3NonProxyHosts"',
'false', 'Not specified',
+        'Optional hosts the client will access without going through the proxy')
+    .details-row
         +dropdown('Retry policy:', clientRetryModel + '.kind', '"checkpointS3RetryPolicy"',
'true', 'Default', '[\
                                             {value: "Default", label: "Default SDK retry
policy"},\
                                             {value: "DefaultMaxRetries", label: "Default
with the specified max retry count"},\
@@ -168,6 +184,16 @@ include /app/helpers/jade/mixins
         +java-class('SecureRandom class name:', clientCfgModel + '.secureRandom', '"checkpointS3SecureRandom"
+ $index', 'true', 'false',
         'SecureRandom to be used by the SDK class name', checkpointS3)
     .details-row
+        +number('Client execution timeout:', clientCfgModel + '.clientExecutionTimeout',
'"checkpointS3ClientExecutionTimeout"', 'true', '0', '0',
+        'Amount of time in milliseconds to allow the client to complete the execution of
an API call<br/>\
+        <b>0</b> value disables that feature')
+    .details-row
+        +checkbox('Cache response metadata', clientCfgModel + '.cacheResponseMetadata', '"checkpointS3CacheResponseMetadata"',
'Cache response metadata')
+    .details-row
+        +checkbox('Use expect continue', clientCfgModel + '.useExpectContinue', '"checkpointS3UseExpectContinue"',
'Optional override to enable/disable support for HTTP/1.1 handshake utilizing EXPECT: 100-Continue')
+    .details-row
+        +checkbox('Use throttle retries', clientCfgModel + '.useThrottleRetries', '"checkpointS3UseThrottleRetries"',
'Retry throttling will be used')
+    .details-row
         +checkbox('Use reaper', clientCfgModel + '.useReaper', '"checkpointS3UseReaper"',
'Checks if the IdleConnectionReaper is to be started')
     .details-row
         +checkbox('Use GZIP', clientCfgModel + '.useGzip', '"checkpointS3UseGzip"', 'Checks
if gzip compression is used')

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/app/modules/states/configuration/clusters/communication.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/communication.pug
b/modules/web-console/frontend/app/modules/states/configuration/clusters/communication.pug
index 93bb5ce..2294723 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/communication.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/communication.pug
@@ -38,7 +38,7 @@ include /app/helpers/jade/mixins
                     +number('Send retry delay:', `${model}.networkSendRetryDelay`, '"networkSendRetryDelay"',
'true', '1000', '1', 'Interval in milliseconds between message send retries')
                 .settings-row
                     +number('Send retry count:', `${model}.networkSendRetryCount`, '"networkSendRetryCount"',
'true', '3', '1', 'Message send retries count')
-                .settings-row
+                .settings-row(ng-if='$ctrl.available(["1.0.0", "2.3.0"])')
                     +number('Discovery startup delay:', `${model}.discoveryStartupDelay`,
'"discoveryStartupDelay"', 'true', '60000', '1', 'This value is used to expire messages from
waiting list whenever node discovery discrepancies happen')
                 .settings-row
                     +java-class('Communication listener:', `${communication}.listener`, '"comListener"',
'true', 'false', 'Listener of communication events')

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/app/modules/states/configuration/clusters/general/discovery/s3.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/general/discovery/s3.pug
b/modules/web-console/frontend/app/modules/states/configuration/clusters/general/discovery/s3.pug
index 81383fb..90100b9 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/general/discovery/s3.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/general/discovery/s3.pug
@@ -24,5 +24,15 @@ mixin discovery-s3(modelAt = 'backupItem')
 
     .details-row
         +text('Bucket name:', `${model}.bucketName`, `'${discoveryKind}BucketName'`, required,
'Input bucket name', 'Bucket name for IP finder')
+    .pcb-flex-grid-break(ng-if-start=`$ctrl.available("2.4.0")`)
+    .details-row
+        +text('Bucket endpoint:', `${model}.bucketEndpoint`, `'${discoveryKind}BucketEndpoint'`,
false, 'Input bucket endpoint',
+        'Bucket endpoint for IP finder<br/> \
+        For information about possible endpoint names visit <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">docs.aws.amazon.com</a>')
+    .details-row
+        +text('SSE algorithm:', `${model}.SSEAlgorithm`, `'${discoveryKind}SSEAlgorithm'`,
false, 'Input SSE algorithm',
+        'Server-side encryption algorithm for Amazon S3-managed encryption keys<br/>
\
+        For information about possible S3-managed encryption keys visit <a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html">docs.aws.amazon.com</a>')
+    .pcb-flex-grid-break(ng-if-end)
     .details-row
         label Note, AWS credentials will be generated as stub
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/30fab744/modules/web-console/frontend/controllers/clusters-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/controllers/clusters-controller.js b/modules/web-console/frontend/controllers/clusters-controller.js
index 7d987dd..24d2c54 100644
--- a/modules/web-console/frontend/controllers/clusters-controller.js
+++ b/modules/web-console/frontend/controllers/clusters-controller.js
@@ -164,7 +164,10 @@ export default ['$rootScope', '$scope', '$http', '$state', '$timeout',
'IgniteLe
                                 retryPolicy: {
                                     kind: 'Default'
                                 },
-                                useReaper: true
+                                useReaper: true,
+                                cacheResponseMetadata: true,
+                                useExpectContinue: true,
+                                useThrottleRetries: true
                             }
                         }
                     };


Mime
View raw message