http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/caches/store.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/caches/store.pug b/modules/web-console/frontend/app/modules/states/configuration/caches/store.pug deleted file mode 100644 index 32d966a..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/caches/store.pug +++ /dev/null @@ -1,310 +0,0 @@ -//- - 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 = 'store' --var model = '$ctrl.clonedCache' - -mixin hibernateField(name, model, items, valid, save, newItem) - -var resetOnEnter = newItem ? '(stopblur = true) && (group.add = [{}])' : '(field.edit = false)' - -var onEnter = `${valid} && (${save}); ${valid} && ${resetOnEnter};` - - -var onEscape = newItem ? 'group.add = []' : 'field.edit = false' - - -var resetOnBlur = newItem ? '!stopblur && (group.add = [])' : 'field.edit = false' - -var onBlur = `${valid} && (${save}); ${resetOnBlur};` - - div(ignite-on-focus-out=onBlur) - if block - block - - .input-tip - +ignite-form-field-input(name, model, false, 'true', 'key=value')( - data-ignite-property-unique=items - data-ignite-property-value-specified - data-ignite-form-field-input-autofocus='true' - - ignite-on-enter=onEnter - ignite-on-escape=onEscape - ) - -panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title Store - panel-description - | Cache store settings. - | #[a.link-success(href="https://apacheignite.readme.io/docs/3rd-party-store" target="_blank") More info] - panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) - .pca-form-column-6.pc-form-grid-row - -var storeFactory = `${model}.cacheStoreFactory`; - -var storeFactoryKind = `${storeFactory}.kind`; - .pc-form-grid-col-60 - +sane-ignite-form-field-dropdown({ - label: 'Store factory:', - model: storeFactoryKind, - name: '"cacheStoreFactory"', - placeholder: '{{ ::$ctrl.Caches.cacheStoreFactory.kind.default }}', - options: '::$ctrl.Caches.cacheStoreFactory.values', - tip: `Factory for persistent storage for cache data - <ul> - <li>JDBC POJO store factory - Objects are stored in underlying database by using java beans mapping description via reflection backed by JDBC</li> - <li>JDBC BLOB store factory - Objects are stored in underlying database in BLOB format backed by JDBC</li> - <li>Hibernate BLOB store factory - Objects are stored in underlying database in BLOB format backed by Hibernate</li> - </ul>` - })( - ui-validate=`{ - writeThroughOn: '$ctrl.Caches.cacheStoreFactory.storeDisabledValueOff(${model}, ${model}.writeThrough)', - readThroughOn: '$ctrl.Caches.cacheStoreFactory.storeDisabledValueOff(${model}, ${model}.readThrough)', - writeBehindOn: '$ctrl.Caches.cacheStoreFactory.storeDisabledValueOff(${model}, ${model}.writeBehindEnabled)' - }` - ui-validate-watch-collection=`"[${model}.readThrough, ${model}.writeThrough, ${model}.writeBehindEnabled]"` - ng-model-options='{allowInvalid: true}' - ) - +form-field-feedback(null, 'writeThroughOn', 'Write through is enabled but store is not set') - +form-field-feedback(null, 'readThroughOn', 'Read through is enabled but store is not set') - +form-field-feedback(null, 'writeBehindOn', 'Write-behind is enabled but store is not set') - .pc-form-group(ng-if=storeFactoryKind) - .pc-form-grid-row(ng-if=`${storeFactoryKind} === 'CacheJdbcPojoStoreFactory'`) - -var pojoStoreFactory = `${storeFactory}.CacheJdbcPojoStoreFactory` - -var required = `${storeFactoryKind} === 'CacheJdbcPojoStoreFactory'` - - .pc-form-grid-col-60 - +sane-ignite-form-field-text({ - label: 'Data source bean name:', - model: `${pojoStoreFactory}.dataSourceBean`, - name: '"pojoDataSourceBean"', - required: required, - placeholder: 'Input bean name', - tip: 'Name of the data source bean in Spring context' - })( - is-valid-java-identifier - not-java-reserved-word - ) - +form-field-feedback(null, 'required', 'Data source bean name is required') - +form-field-feedback(null, 'isValidJavaIdentifier', 'Data source bean name is not a valid Java identifier') - +form-field-feedback(null, 'notJavaReservedWord', 'Data source bean name should not be a Java reserved word') - .pc-form-grid-col-60 - +dialect('Dialect:', `${pojoStoreFactory}.dialect`, '"pojoDialect"', required, - 'Dialect of SQL implemented by a particular RDBMS:', 'Generic JDBC dialect', - 'Choose JDBC dialect') - .pc-form-grid-col-30 - +number('Batch size:', `${pojoStoreFactory}.batchSize`, '"pojoBatchSize"', true, '512', '1', - 'Maximum batch size for writeAll and deleteAll operations') - .pc-form-grid-col-30 - +number('Thread count:', `${pojoStoreFactory}.maximumPoolSize`, '"pojoMaximumPoolSize"', true, 'availableProcessors', '1', - 'Maximum workers thread count.<br/>\ - These threads are responsible for load cache.') - .pc-form-grid-col-30 - +number('Maximum write attempts:', `${pojoStoreFactory}.maximumWriteAttempts`, '"pojoMaximumWriteAttempts"', true, '2', '0', - 'Maximum write attempts in case of database error') - .pc-form-grid-col-30 - +number('Parallel load threshold:', `${pojoStoreFactory}.parallelLoadCacheMinimumThreshold`, '"pojoParallelLoadCacheMinimumThreshold"', true, '512', '0', - 'Parallel load cache minimum threshold.<br/>\ - If <b>0</b> then load sequentially.') - .pc-form-grid-col-60 - +java-class('Hasher', `${pojoStoreFactory}.hasher`, '"pojoHasher"', 'true', 'false', 'Hash calculator', required) - .pc-form-grid-col-60 - +java-class('Transformer', `${pojoStoreFactory}.transformer`, '"pojoTransformer"', 'true', 'false', 'Types transformer', required) - .pc-form-grid-col-60 - +checkbox('Escape table and filed names', `${pojoStoreFactory}.sqlEscapeAll`, '"sqlEscapeAll"', - 'If enabled than all schema, table and field names will be escaped with double quotes (for example: "tableName"."fieldName").<br/>\ - This enforces case sensitivity for field names and also allows having special characters in table and field names.<br/>\ - Escaped names will be used for CacheJdbcPojoStore internal SQL queries.') - .pc-form-grid-row(ng-if=`${storeFactoryKind} === 'CacheJdbcBlobStoreFactory'`) - -var blobStoreFactory = `${storeFactory}.CacheJdbcBlobStoreFactory` - -var blobStoreFactoryVia = `${blobStoreFactory}.connectVia` - - .pc-form-grid-col-60 - +dropdown('Connect via:', blobStoreFactoryVia, '"connectVia"', 'true', 'Choose connection method', - '[\ - {value: "URL", label: "URL"},\ - {value: "DataSource", label: "Data source"}\ - ]', - 'You can connect to database via:\ - <ul>\ - <li>JDBC URL, for example: jdbc:h2:mem:myDatabase</li>\ - <li>Configured data source</li>\ - </ul>') - - -var required = `${storeFactoryKind} === 'CacheJdbcBlobStoreFactory' && ${blobStoreFactoryVia} === 'URL'` - - .pc-form-grid-col-60(ng-if-start=`${blobStoreFactoryVia} === 'URL'`) - +text('Connection URL:', `${blobStoreFactory}.connectionUrl`, '"connectionUrl"', required, 'Input URL', - 'URL for database access, for example: jdbc:h2:mem:myDatabase') - .pc-form-grid-col-30 - +text('User:', `${blobStoreFactory}.user`, '"user"', required, 'Input user name', 'User name for database access') - .pc-form-grid-col-30(ng-if-end) - .pc-form-grid__text-only-item Password will be generated as stub. - - -var required = `${storeFactoryKind} === 'CacheJdbcBlobStoreFactory' && ${blobStoreFactoryVia} !== 'URL'` - - .pc-form-grid-col-60(ng-if-start=`${blobStoreFactoryVia} !== 'URL'`) - +sane-ignite-form-field-text({ - label: 'Data source bean name:', - model: `${blobStoreFactory}.dataSourceBean`, - name: '"blobDataSourceBean"', - required: required, - placeholder: 'Input bean name', - tip: 'Name of the data source bean in Spring context' - })( - is-valid-java-identifier - not-java-reserved-word - ) - +form-field-feedback(null, 'required', 'Data source bean name is required') - +form-field-feedback(null, 'isValidJavaIdentifier', 'Data source bean name is not a valid Java identifier') - +form-field-feedback(null, 'notJavaReservedWord', 'Data source bean name should not be a Java reserved word') - .pc-form-grid-col-60(ng-if-end) - +dialect('Database:', `${blobStoreFactory}.dialect`, '"blobDialect"', required, 'Supported databases:', 'Generic database', 'Choose database') - - .pc-form-grid-col-60 - +checkbox('Init schema', `${blobStoreFactory}.initSchema`, '"initSchema"', - 'Flag indicating whether DB schema should be initialized by Ignite (default behaviour) or was explicitly created by user') - .pc-form-grid-col-60 - +text('Create query:', `${blobStoreFactory}.createTableQuery`, '"createTableQuery"', 'false', 'SQL for table creation', - 'Query for table creation in underlying database<br/>\ - Default value: create table if not exists ENTRIES (key binary primary key, val binary)') - .pc-form-grid-col-60 - +text('Load query:', `${blobStoreFactory}.loadQuery`, '"loadQuery"', 'false', 'SQL for load entry', - 'Query for entry load from underlying database<br/>\ - Default value: select * from ENTRIES where key=?') - .pc-form-grid-col-60 - +text('Insert query:', `${blobStoreFactory}.insertQuery`, '"insertQuery"', 'false', 'SQL for insert entry', - 'Query for insert entry into underlying database<br/>\ - Default value: insert into ENTRIES (key, val) values (?, ?)') - .pc-form-grid-col-60 - +text('Update query:', `${blobStoreFactory}.updateQuery`, '"updateQuery"', 'false', 'SQL for update entry', - 'Query for update entry in underlying database<br/>\ - Default value: update ENTRIES set val=? where key=?') - .pc-form-grid-col-60 - +text('Delete query:', `${blobStoreFactory}.deleteQuery`, '"deleteQuery"', 'false', 'SQL for delete entry', - 'Query for delete entry from underlying database<br/>\ - Default value: delete from ENTRIES where key=?') - - .pc-form-grid-row(ng-if=`${storeFactoryKind} === 'CacheHibernateBlobStoreFactory'`) - -var hibernateStoreFactory = `${storeFactory}.CacheHibernateBlobStoreFactory` - - .pc-form-grid-col-60 - .ignite-form-field - +ignite-form-field__label('Hibernate properties:', '"hibernateProperties"') - +tooltip(`List of Hibernate properties<bt /> - For example: connection.url=jdbc:h2:mem:exampleDb`) - .ignite-form-field__control - +list-pair-edit({ - items: `${hibernateStoreFactory}.hibernateProperties`, - keyLbl: 'Property name', - valLbl: 'Property value', - itemName: 'property', - itemsName: 'properties' - }) - - - form = 'store' - .pc-form-grid-col-60 - +checkbox('Keep binary in store', `${model}.storeKeepBinary`, '"storeKeepBinary"', - 'Flag indicating that CacheStore implementation is working with binary objects instead of Java objects') - .pc-form-grid-col-60 - +checkbox('Load previous value', `${model}.loadPreviousValue`, '"loadPreviousValue"', - 'Flag indicating whether value should be loaded from store if it is not in the cache for following cache operations: \ - <ul> \ - <li>IgniteCache.putIfAbsent()</li> \ - <li>IgniteCache.replace()</li> \ - <li>IgniteCache.remove()</li> \ - <li>IgniteCache.getAndPut()</li> \ - <li>IgniteCache.getAndRemove()</li> \ - <li>IgniteCache.getAndReplace()</li> \ - <li> IgniteCache.getAndPutIfAbsent()</li>\ - </ul>') - .pc-form-grid-col-60 - +sane-form-field-checkbox({ - label: 'Read-through', - model: `${model}.readThrough`, - name: '"readThrough"', - tip: 'Flag indicating whether read-through caching should be used' - })( - ng-model-options='{allowInvalid: true}' - ui-validate=`{ - storeEnabledReadOrWriteOn: '$ctrl.Caches.cacheStoreFactory.storeEnabledReadOrWriteOn(${model})' - }` - ui-validate-watch-collection=`"[${storeFactoryKind}, ${model}.writeThrough, ${model}.readThrough]"` - ) - +form-field-feedback(0, 'storeEnabledReadOrWriteOn', 'Read or write through should be turned on when store kind is set') - .pc-form-grid-col-60 - +sane-form-field-checkbox({ - label: 'Write-through', - model: `${model}.writeThrough`, - name: '"writeThrough"', - tip: 'Flag indicating whether write-through caching should be used' - })( - ng-model-options='{allowInvalid: true}' - ui-validate=`{ - storeEnabledReadOrWriteOn: '$ctrl.Caches.cacheStoreFactory.storeEnabledReadOrWriteOn(${model})' - }` - ui-validate-watch-collection=`"[${storeFactoryKind}, ${model}.writeThrough, ${model}.readThrough]"` - ) - +form-field-feedback(0, 'storeEnabledReadOrWriteOn', 'Read or write through should be turned on when store kind is set') - - -var enabled = `${model}.writeBehindEnabled` - - .pc-form-grid-col-60.pc-form-group__text-title - +sane-form-field-checkbox({ - label: 'Write-behind', - model: enabled, - name: '"writeBehindEnabled"', - tip: ` - Cache write-behind settings.<br> - Write-behind is a special mode when updates to cache accumulated and then asynchronously flushed to persistent store as a bulk operation. - ` - })( - ng-model-options='{allowInvalid: true}' - ) - +form-field-feedback(0, 'storeDisabledValueOff', 'Write-behind is enabled but store kind is not set') - .pc-form-group.pc-form-grid-row(ng-if=enabled) - .pc-form-grid-col-30 - +number('Batch size:', `${model}.writeBehindBatchSize`, '"writeBehindBatchSize"', enabled, '512', '1', - 'Maximum batch size for write-behind cache store operations<br/>\ - Store operations(get or remove) are combined in a batch of this size to be passed to cache store') - .pc-form-grid-col-30 - +sane-ignite-form-field-number({ - label: 'Flush size:', - model: `${model}.writeBehindFlushSize`, - name: '"writeBehindFlushSize"', - placeholder: '10240', - min: `{{ $ctrl.Caches.writeBehindFlush.min(${model}) }}`, - tip: `Maximum size of the write-behind cache<br/> - If cache size exceeds this value, all cached items are flushed to the cache store and write cache is cleared` - })( - ng-model-options='{allowInvalid: true}' - ) - .pc-form-grid-col-30 - +sane-ignite-form-field-number({ - label: 'Flush frequency:', - model: `${model}.writeBehindFlushFrequency`, - name: '"writeBehindFlushFrequency"', - placeholder: '5000', - min: `{{ $ctrl.Caches.writeBehindFlush.min(${model}) }}`, - tip: `Frequency with which write-behind cache is flushed to the cache store in milliseconds` - })( - ng-model-options='{allowInvalid: true}' - ) - .pc-form-grid-col-30 - +number('Flush threads count:', `${model}.writeBehindFlushThreadCount`, '"writeBehindFlushThreadCount"', enabled, '1', '1', - 'Number of threads that will perform cache flushing') - - //- Since ignite 2.0 - .pc-form-grid-col-60(ng-if='$ctrl.available("2.0.0")') - +checkbox-enabled('Write coalescing', model + '.writeBehindCoalescing', '"WriteBehindCoalescing"', enabled, 'Write coalescing flag for write-behind cache store') - - .pca-form-column-6 - +preview-xml-java(model, 'cacheStore', 'domains')
http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/atomic.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/atomic.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/atomic.pug deleted file mode 100644 index 13424f8..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/atomic.pug +++ /dev/null @@ -1,75 +0,0 @@ -//- - 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 = 'atomics' --var model = '$ctrl.clonedCluster.atomicConfiguration' --var affModel = model + '.affinity' --var rendezvousAff = affModel + '.kind === "Rendezvous"' --var customAff = affModel + '.kind === "Custom"' - -panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title Atomic configuration - panel-description - | Configuration for atomic data structures. - | Atomics are distributed across the cluster, essentially enabling performing atomic operations (such as increment-and-get or compare-and-set) with the same globally-visible value. - | #[a.link-success(href="https://apacheignite.readme.io/docs/atomic-types" target="_blank") More info] - panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) - .pca-form-column-6.pc-form-grid-row - .pc-form-grid-col-30 - +dropdown('Cache mode:', `${model}.cacheMode`, '"cacheMode"', 'true', 'PARTITIONED', - '[\ - {value: "LOCAL", label: "LOCAL"},\ - {value: "REPLICATED", label: "REPLICATED"},\ - {value: "PARTITIONED", label: "PARTITIONED"}\ - ]', - 'Cache modes:\ - <ul>\ - <li>Partitioned - in this mode the overall key set will be divided into partitions and all partitions will be split equally between participating nodes</li>\ - <li>Replicated - in this mode all the keys are distributed to all participating nodes</li>\ - <li>Local - in this mode caches residing on different grid nodes will not know about each other</li>\ - </ul>') - .pc-form-grid-col-30 - +number('Sequence reserve:', `${model}.atomicSequenceReserveSize`, '"atomicSequenceReserveSize"', 'true', '1000', '0', - 'Default number of sequence values reserved for IgniteAtomicSequence instances<br/>\ - After a certain number has been reserved, consequent increments of sequence will happen locally, without communication with other nodes, until the next reservation has to be made') - .pc-form-grid-col-60(ng-show=`!(${model}.cacheMode && ${model}.cacheMode != "PARTITIONED")`) - +number('Backups:', model + '.backups', '"backups"', 'true', '0', '0', 'Number of backup nodes') - - .pc-form-grid-col-60(ng-if-start='$ctrl.available("2.1.0")') - +dropdown('Function:', `${affModel}.kind`, '"AffinityKind"', 'true', 'Default', '$ctrl.Clusters.affinityFunctions', - 'Key topology resolver to provide mapping from keys to nodes\ - <ul>\ - <li>Rendezvous - Based on Highest Random Weight algorithm<br/></li>\ - <li>Custom - Custom implementation of key affinity function<br/></li>\ - <li>Default - By default rendezvous affinity function with 1024 partitions is used<br/></li>\ - </ul>') - .pc-form-group(ng-if-end ng-if=rendezvousAff + ' || ' + customAff) - .pc-form-grid-row - .pc-form-grid-col-30(ng-if-start=rendezvousAff) - +number-required('Partitions', `${affModel}.Rendezvous.partitions`, '"RendPartitions"', 'true', rendPartitionsRequired, '1024', '1', 'Number of partitions') - .pc-form-grid-col-30 - +java-class('Backup filter', `${affModel}.Rendezvous.affinityBackupFilter`, '"RendAffinityBackupFilter"', 'true', 'false', - 'Backups will be selected from all nodes that pass this filter') - .pc-form-grid-col-60(ng-if-end) - +checkbox('Exclude neighbors', `${affModel}.Rendezvous.excludeNeighbors`, '"RendExcludeNeighbors"', - 'Exclude same - host - neighbors from being backups of each other and specified number of backups') - .pc-form-grid-col-60(ng-if=customAff) - +java-class('Class name:', `${affModel}.Custom.className`, '"AffCustomClassName"', 'true', customAff, - 'Custom key affinity function implementation class name') - .pca-form-column-6 - +preview-xml-java(model, 'clusterAtomics') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/attributes.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/attributes.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/attributes.pug deleted file mode 100644 index b57f1da..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/attributes.pug +++ /dev/null @@ -1,40 +0,0 @@ -//- - 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 = 'attributes' --var model = '$ctrl.clonedCluster' - -panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title User attributes - panel-description Configuration for Ignite user attributes. - panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) - .pca-form-column-6 - .ignite-form-field - +ignite-form-field__label('User attributes:', '"userAttributes"') - +tooltip(`User-defined attributes to add to node`) - .ignite-form-field__control - +list-pair-edit({ - items: `${model}.attributes`, - keyLbl: 'Attribute name', - valLbl: 'Attribute value', - itemName: 'attribute', - itemsName: 'attributes' - }) - - .pca-form-column-6 - +preview-xml-java(model, 'clusterUserAttributes') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/binary.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/binary.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/binary.pug deleted file mode 100644 index 6c1b246..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/binary.pug +++ /dev/null @@ -1,80 +0,0 @@ -//- - 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 = 'binary' --var model = '$ctrl.clonedCluster.binaryConfiguration' - -panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title Binary configuration - panel-description - | Configuration of specific binary types. - | #[a.link-success(href="https://apacheignite.readme.io/docs/binary-marshaller" target="_blank") More info] - panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) - .pca-form-column-6.pc-form-grid-row - .pc-form-grid-col-60 - +java-class('ID mapper:', model + '.idMapper', '"idMapper"', 'true', 'false', - 'Maps given from BinaryNameMapper type and filed name to ID that will be used by Ignite in internals<br/>\ - Ignite never writes full strings for field or type names. Instead, for performance reasons, Ignite writes integer hash codes for type/class and field names. It has been tested that hash code conflicts for the type/class names or the field names within the same type are virtually non - existent and, to gain performance, it is safe to work with hash codes. For the cases when hash codes for different types or fields actually do collide <b>BinaryIdMapper</b> allows to override the automatically generated hash code IDs for the type and field names') - .pc-form-grid-col-60 - +java-class('Name mapper:', model + '.nameMapper', '"nameMapper"', 'true', 'false', 'Maps type/class and field names to different names') - .pc-form-grid-col-60 - +java-class('Serializer:', model + '.serializer', '"serializer"', 'true', 'false', 'Class with custom serialization logic for binary objects') - .pc-form-grid-col-60 - .ignite-form-field - +ignite-form-field__label('Type configurations:', '"typeСonfigurations"') - +tooltip(`Configuration properties for binary types`) - .ignite-form-field__control - -var items = model + '.typeConfigurations' - list-editable(ng-model=items name='typeСonfigurations') - list-editable-item-edit.pc-form-grid-row - - form = '$parent.form' - .pc-form-grid-col-60 - +java-class-autofocus('Type name:', '$item.typeName', '"typeName"', 'true', 'true', 'true', 'Type name')( - ignite-unique=items - ignite-unique-property='typeName' - ) - +unique-feedback(`$item.typeName`, 'Type name should be unique.') - .pc-form-grid-col-60 - +java-class('ID mapper:', '$item.idMapper', '"idMapper"', 'true', 'false', - 'Maps given from BinaryNameMapper type and filed name to ID that will be used by Ignite in internals<br/>\ - Ignite never writes full strings for field or type/class names.\ - Instead, for performance reasons, Ignite writes integer hash codes for type/class and field names.\ - It has been tested that hash code conflicts for the type/class names or the field names within the same type are virtually non - existent and,\ - to gain performance, it is safe to work with hash codes.\ - For the cases when hash codes for different types or fields actually do collide <b>BinaryIdMapper</b> allows to override the automatically generated hash code IDs for the type and field names') - .pc-form-grid-col-60 - +java-class('Name mapper:', '$item.nameMapper', '"nameMapper"', 'true', 'false', - 'Maps type/class and field names to different names') - .pc-form-grid-col-60 - +java-class('Serializer:', '$item.serializer', '"serializer"', 'true', 'false', - 'Class with custom serialization logic for binary object') - .pc-form-grid-col-60 - +checkbox('Enum', '$item.enum', 'enum', 'Flag indicating that this type is the enum') - - list-editable-no-items - list-editable-add-item-button( - add-item=`$ctrl.Clusters.addBinaryTypeConfiguration($ctrl.clonedCluster)` - label-single='configuration' - label-multiple='configurations' - ) - - - form = 'binary' - .pc-form-grid-col-60 - +checkbox('Compact footer', model + '.compactFooter', '"compactFooter"', 'When enabled, Ignite will not write fields metadata when serializing objects (this will increase serialization performance), because internally <b>BinaryMarshaller</b> already distribute metadata inside cluster') - .pca-form-column-6 - +preview-xml-java(model, 'clusterBinary') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/cache-key-cfg.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/cache-key-cfg.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/cache-key-cfg.pug deleted file mode 100644 index abc8ff1..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/cache-key-cfg.pug +++ /dev/null @@ -1,63 +0,0 @@ -//- - 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 = 'cacheKeyCfg' --var model = '$ctrl.clonedCluster.cacheKeyConfiguration' - -panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title Cache key configuration - panel-description - | Cache key configuration allows to collocate objects in a partitioned cache based on field in cache key without explicit usage of annotations on user classes. - panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) - .pca-form-column-6 - mixin clusters-cache-key-cfg - .ignite-form-field - +ignite-form-field__label('Cache key configuration:', '"cacheKeyConfiguration"') - .ignite-form-field__control - -let items = model - list-editable(ng-model=items name='cacheKeyConfiguration') - list-editable-item-edit.pc-form-grid-row - - form = '$parent.form' - .pc-form-grid-col-60 - +java-class-autofocus('Type name:', '$item.typeName', '"cacheKeyTypeName"', 'true', 'true', 'true', 'Type name')( - ignite-unique=items - ignite-unique-property='typeName' - ) - +unique-feedback(`cacheKeyTypeName`, 'Type name should be unique.') - .pc-form-grid-col-60 - +sane-ignite-form-field-text({ - label: 'Affinity key field name:', - model: '$item.affinityKeyFieldName', - name: '"affinityKeyFieldName"', - disabled: 'false', - placeholder: 'Enter field name', - tip: 'Affinity key field name', - required: true - }) - - list-editable-no-items - list-editable-add-item-button( - add-item=`(${items} = ${items} || []).push({})` - label-single='configuration' - label-multiple='configurations' - ) - - +clusters-cache-key-cfg - - .pca-form-column-6 - +preview-xml-java(model, 'clusterCacheKeyConfiguration') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint.pug deleted file mode 100644 index b00c98c..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint.pug +++ /dev/null @@ -1,82 +0,0 @@ -//- - 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 = 'checkpoint' --var model = '$ctrl.clonedCluster.checkpointSpi' --var CustomCheckpoint = '$checkpointSPI.kind === "Custom"' --var CacheCheckpoint = '$checkpointSPI.kind === "Cache"' - -panel-collapsible(ng-form=form) - panel-title Checkpointing - panel-description - | Checkpointing provides an ability to save an intermediate job state. - | #[a.link-success(href="https://apacheignite.readme.io/docs/checkpointing" target="_blank") More info] - panel-content.pca-form-row - .pca-form-column-6.pc-form-grid-row - .pc-form-grid-col-60 - .ignite-form-field - +ignite-form-field__label('Checkpoint SPI configurations:', '"checkpointSPIConfigurations"') - .ignite-form-field__control - list-editable(ng-model=model name='checkpointSPIConfigurations') - list-editable-item-edit(item-name='$checkpointSPI').pc-form-grid-row - .pc-form-grid-col-60 - +dropdown-required('Checkpoint SPI:', '$checkpointSPI.kind', '"checkpointKind"', 'true', 'true', 'Choose checkpoint configuration variant', '[\ - {value: "FS", label: "File System"},\ - {value: "Cache", label: "Cache"},\ - {value: "S3", label: "Amazon S3"},\ - {value: "JDBC", label: "Database"},\ - {value: "Custom", label: "Custom"}\ - ]', - 'Provides an ability to save an intermediate job state\ - <ul>\ - <li>File System - Uses a shared file system to store checkpoints</li>\ - <li>Cache - Uses a cache to store checkpoints</li>\ - <li>Amazon S3 - Uses Amazon S3 to store checkpoints</li>\ - <li>Database - Uses a database to store checkpoints</li>\ - <li>Custom - Custom checkpoint SPI implementation</li>\ - </ul>') - - include ./checkpoint/fs - - .pc-form-grid-col-60(ng-if-start=CacheCheckpoint) - +dropdown-required-empty('Cache:', '$checkpointSPI.Cache.cache', '"checkpointCacheCache"', 'true', CacheCheckpoint, - 'Choose cache', 'No caches configured for current cluster', '$ctrl.cachesMenu', 'Cache to use for storing checkpoints')( - pc-is-in-collection='$ctrl.clonedCluster.caches' - ) - +form-field-feedback(form, 'isInCollection', `Cluster doesn't have such a cache`) - .pc-form-grid-col-60(ng-if-end) - +java-class('Listener:', '$checkpointSPI.Cache.checkpointListener', '"checkpointCacheListener"', 'true', 'false', - 'Checkpoint listener implementation class name', CacheCheckpoint) - - include ./checkpoint/s3 - - include ./checkpoint/jdbc - - .pc-form-grid-col-60(ng-if=CustomCheckpoint) - +java-class('Class name:', '$checkpointSPI.Custom.className', '"checkpointCustomClassName"', 'true', CustomCheckpoint, - 'Custom CheckpointSpi implementation class', CustomCheckpoint) - - list-editable-no-items - list-editable-add-item-button( - add-item=`$edit($ctrl.Clusters.addCheckpointSPI($ctrl.clonedCluster))` - label-single='checkpoint SPI configuration' - label-multiple='checkpoint SPI configurations' - ) - - .pca-form-column-6 - +preview-xml-java('$ctrl.clonedCluster', 'clusterCheckpoint', '$ctrl.caches') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/fs.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/fs.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/fs.pug deleted file mode 100644 index 0359cf3..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/fs.pug +++ /dev/null @@ -1,36 +0,0 @@ -//- - 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 - -.pc-form-grid-col-60(ng-if-start='$checkpointSPI.kind === "FS"') - .ignite-form-field - +list-text-field({ - items: `$checkpointSPI.FS.directoryPaths`, - lbl: 'Directory path', - name: 'directoryPath', - itemName: 'path', - itemsName: 'paths' - })( - list-editable-cols=`::[{ - name: 'Paths:', - tip: 'Paths to a shared directory where checkpoints will be stored' - }]` - ) - +unique-feedback(_, 'Such path already exists!') - -.pc-form-grid-col-60(ng-if-end) - +java-class('Listener:', '$checkpointSPI.FS.checkpointListener', '"checkpointFsListener"', 'true', 'false', 'Checkpoint listener implementation class name', '$checkpointSPI.kind === "FS"') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/jdbc.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/jdbc.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/jdbc.pug deleted file mode 100644 index 00a8681..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/jdbc.pug +++ /dev/null @@ -1,47 +0,0 @@ -//- - 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 jdbcCheckpoint = '$checkpointSPI.kind === "JDBC"' - -.pc-form-grid-col-30(ng-if-start='$checkpointSPI.kind === "JDBC"') - +text('Data source bean name:', '$checkpointSPI.JDBC.dataSourceBean', '"checkpointJdbcDataSourceBean"', jdbcCheckpoint, 'Input bean name', - 'Name of the data source bean in Spring context') -.pc-form-grid-col-30 - +dialect('Dialect:', '$checkpointSPI.JDBC.dialect', '"checkpointJdbcDialect"', jdbcCheckpoint, - 'Dialect of SQL implemented by a particular RDBMS:', 'Generic JDBC dialect', 'Choose JDBC dialect') -.pc-form-grid-col-60 - +java-class('Listener:', '$checkpointSPI.JDBC.checkpointListener', '"checkpointJdbcListener"', 'true', 'false', - 'Checkpoint listener implementation class name', jdbcCheckpoint) -.pc-form-grid-col-60 - +text('User:', '$checkpointSPI.JDBC.user', '"checkpointJdbcUser"', 'false', 'Input user name', 'Checkpoint jdbc user name') -.pc-form-grid-col-30 - +text('Table name:', '$checkpointSPI.JDBC.checkpointTableName', '"checkpointJdbcCheckpointTableName"', 'false', 'CHECKPOINTS', 'Checkpoint table name') -.pc-form-grid-col-30 - +number('Number of retries:', '$checkpointSPI.JDBC.numberOfRetries', '"checkpointJdbcNumberOfRetries"', 'true', '2', '0', 'Number of retries in case of DB failure') -.pc-form-grid-col-30 - +text('Key field name:', '$checkpointSPI.JDBC.keyFieldName', '"checkpointJdbcKeyFieldName"', 'false', 'NAME', 'Checkpoint key field name') -.pc-form-grid-col-30 - +dropdown('Key field type:', '$checkpointSPI.JDBC.keyFieldType', '"checkpointJdbcKeyFieldType"', 'true', 'VARCHAR', '::$ctrl.supportedJdbcTypes', 'Checkpoint key field type') -.pc-form-grid-col-30 - +text('Value field name:', '$checkpointSPI.JDBC.valueFieldName', '"checkpointJdbcValueFieldName"', 'false', 'VALUE', 'Checkpoint value field name') -.pc-form-grid-col-30 - +dropdown('Value field type:', '$checkpointSPI.JDBC.valueFieldType', '"checkpointJdbcValueFieldType"', 'true', 'BLOB', '::$ctrl.supportedJdbcTypes', 'Checkpoint value field type') -.pc-form-grid-col-30 - +text('Expire date field name:', '$checkpointSPI.JDBC.expireDateFieldName', '"checkpointJdbcExpireDateFieldName"', 'false', 'EXPIRE_DATE', 'Checkpoint expire date field name') -.pc-form-grid-col-30(ng-if-end) - +dropdown('Expire date field type:', '$checkpointSPI.JDBC.expireDateFieldType', '"checkpointJdbcExpireDateFieldType"', 'true', 'DATETIME', '::$ctrl.supportedJdbcTypes', 'Checkpoint expire date field type') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/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 deleted file mode 100644 index 8e284fc..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/checkpoint/s3.pug +++ /dev/null @@ -1,204 +0,0 @@ -//- - 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 credentialsModel = '$checkpointSPI.S3.awsCredentials' --var clientCfgModel = '$checkpointSPI.S3.clientConfiguration' --var checkpointS3 = '$checkpointSPI.kind === "S3"' --var checkpointS3Path = checkpointS3 + ' && $checkpointSPI.S3.awsCredentials.kind === "Properties"' --var checkpointS3Custom = checkpointS3 + ' && $checkpointSPI.S3.awsCredentials.kind === "Custom"' - --var clientRetryModel = clientCfgModel + '.retryPolicy' --var checkpointS3DefaultMaxRetry = checkpointS3 + ' && ' + clientRetryModel + '.kind === "DefaultMaxRetries"' --var checkpointS3DynamoDbMaxRetry = checkpointS3 + ' && ' + clientRetryModel + '.kind === "DynamoDBMaxRetries"' --var checkpointS3CustomRetry = checkpointS3 + ' && ' + clientRetryModel + '.kind === "Custom"' - -.pc-form-grid-col-60(ng-if-start='$checkpointSPI.kind === "S3"') - +dropdown-required('AWS credentials:', '$checkpointSPI.S3.awsCredentials.kind', '"checkpointS3AwsCredentials"', 'true', checkpointS3, 'Custom', '[\ - {value: "Basic", label: "Basic"},\ - {value: "Properties", label: "Properties"},\ - {value: "Anonymous", label: "Anonymous"},\ - {value: "BasicSession", label: "Basic with session"},\ - {value: "Custom", label: "Custom"}\ - ]', - 'AWS credentials\ - <ul>\ - <li>Basic - Allows callers to pass in the AWS access key and secret access in the constructor</li>\ - <li>Properties - Reads in AWS access keys from a properties file</li>\ - <li>Anonymous - Allows use of "anonymous" credentials</li>\ - <li>Database - Session credentials with keys and session token</li>\ - <li>Custom - Custom AWS credentials provider</li>\ - </ul>') -.pc-form-group.pc-form-grid-row(ng-if=checkpointS3Path) - .pc-form-grid-col-60 - +text('Path:', credentialsModel + '.Properties.path', '"checkpointS3PropertiesPath"', checkpointS3Path, 'Input properties file path', - 'The file from which to read the AWS credentials properties') -.pc-form-group.pc-form-grid-row(ng-if=checkpointS3Custom) - .pc-form-grid-col-60 - +java-class('Class name:', credentialsModel + '.Custom.className', '"checkpointS3CustomClassName"', 'true', checkpointS3Custom, - 'Custom AWS credentials provider implementation class', checkpointS3Custom) -.pc-form-grid-col-60 - label Note, AWS credentials will be generated as stub -.pc-form-grid-col-60 - +text('Bucket name suffix:', '$checkpointSPI.S3.bucketNameSuffix', '"checkpointS3BucketNameSuffix"', 'false', 'default-bucket') -.pc-form-grid-col-60(ng-if-start=`$ctrl.available("2.4.0")`) - +text('Bucket endpoint:', `$checkpointSPI.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>') -.pc-form-grid-col-60(ng-if-end) - +text('SSE algorithm:', `$checkpointSPI.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>') -.pc-form-grid-col-60 - +java-class('Listener:', '$checkpointSPI.S3.checkpointListener', '"checkpointS3Listener"', 'true', 'false', - 'Checkpoint listener implementation class name', checkpointS3) -.pc-form-grid-col-60.pc-form-group__text-title - span Client configuration -.pc-form-group.pc-form-grid-row(ng-if-end) - .pc-form-grid-col-30 - +dropdown('Protocol:', clientCfgModel + '.protocol', '"checkpointS3Protocol"', 'true', 'HTTPS', '[\ - {value: "HTTP", label: "HTTP"},\ - {value: "HTTPS", label: "HTTPS"}\ - ]', - 'Provides an ability to save an intermediate job state\ - <ul>\ - <li>HTTP - Using the HTTP protocol is less secure than HTTPS, but can slightly reduce\ - the system resources used when communicating with AWS</li>\ - <li>HTTPS - Using the HTTPS protocol is more secure than using the HTTP protocol, but\ - may use slightly more system resources. AWS recommends using HTTPS for maximize security</li>\ - </ul>') - .pc-form-grid-col-30 - +number('Maximum connections:', clientCfgModel + '.maxConnections', '"checkpointS3MaxConnections"', - 'true', '50', '1', 'Maximum number of allowed open HTTP connections') - .pc-form-grid-col-60 - +text('User agent prefix:', clientCfgModel + '.userAgentPrefix', '"checkpointS3UserAgentPrefix"', 'false', 'System specific header', - 'HTTP user agent prefix to send with all requests') - .pc-form-grid-col-60 - +text('User agent suffix:', clientCfgModel + '.userAgentSuffix', '"checkpointS3UserAgentSuffix"', 'false', 'System specific header', - 'HTTP user agent suffix to send with all requests') - .pc-form-grid-col-60 - +text-ip-address('Local address:', clientCfgModel + '.localAddress', '"checkpointS3LocalAddress"', 'true', 'Not specified', - 'Optionally specifies the local address to bind to') - .pc-form-grid-col-40 - +text('Proxy host:', clientCfgModel + '.proxyHost', '"checkpointS3ProxyHost"', 'false', 'Not specified', - 'Optional proxy host the client will connect through') - .pc-form-grid-col-20 - +number('Proxy port:', clientCfgModel + '.proxyPort', '"checkpointS3ProxyPort"', 'true', 'Not specified', '0', - 'Optional proxy port the client will connect through') - .pc-form-grid-col-30 - +text('Proxy user:', clientCfgModel + '.proxyUsername', '"checkpointS3ProxyUsername"', 'false', 'Not specified', - 'Optional proxy user name to use if connecting through a proxy') - .pc-form-grid-col-30 - +text('Proxy domain:', clientCfgModel + '.proxyDomain', '"checkpointS3ProxyDomain"', 'false', 'Not specified', - 'Optional Windows domain name for configuring an NTLM proxy') - .pc-form-grid-col-60 - +text('Proxy workstation:', clientCfgModel + '.proxyWorkstation', '"checkpointS3ProxyWorkstation"', 'false', 'Not specified', - 'Optional Windows workstation name for configuring NTLM proxy support') - .pc-form-grid-col-60 - +text('Non proxy hosts:', clientCfgModel + '.nonProxyHosts', '"checkpointS3NonProxyHosts"', 'false', 'Not specified', - 'Optional hosts the client will access without going through the proxy') - .pc-form-grid-col-60 - +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"},\ - {value: "DynamoDB", label: "Default for DynamoDB client"},\ - {value: "DynamoDBMaxRetries", label: "DynamoDB with the specified max retry count"},\ - {value: "Custom", label: "Custom configured"}\ - ]', - 'Provides an ability to save an intermediate job state\ - <ul>\ - <li>SDK default retry policy - This policy will honor the maxErrorRetry set in ClientConfiguration</li>\ - <li>Default with the specified max retry count - Default SDK retry policy with the specified max retry count</li>\ - <li>Default for DynamoDB client - This policy will honor the maxErrorRetry set in ClientConfiguration</li>\ - <li>DynamoDB with the specified max retry count - This policy will honor the maxErrorRetry set in ClientConfiguration with the specified max retry count</li>\ - <li>Custom configured - Custom configured SDK retry policy</li>\ - </ul>') - .pc-form-group.pc-form-grid-row(ng-if=checkpointS3DefaultMaxRetry) - .pc-form-grid-col-60 - +number-required('Maximum retry attempts:', clientRetryModel + '.DefaultMaxRetries.maxErrorRetry', '"checkpointS3DefaultMaxErrorRetry"', 'true', checkpointS3DefaultMaxRetry, '-1', '1', - 'Maximum number of retry attempts for failed requests') - .pc-form-group.pc-form-grid-row(ng-if=checkpointS3DynamoDbMaxRetry) - .pc-form-grid-col-60 - +number-required('Maximum retry attempts:', clientRetryModel + '.DynamoDBMaxRetries.maxErrorRetry', '"checkpointS3DynamoDBMaxErrorRetry"', 'true', checkpointS3DynamoDbMaxRetry, '-1', '1', - 'Maximum number of retry attempts for failed requests') - .pc-form-group.pc-form-grid-row(ng-if=checkpointS3CustomRetry) - .pc-form-grid-col-60 - +java-class('Retry condition:', clientRetryModel + '.Custom.retryCondition', '"checkpointS3CustomRetryPolicy"', 'true', checkpointS3CustomRetry, - 'Retry condition on whether a specific request and exception should be retried', checkpointS3CustomRetry) - .pc-form-grid-col-60 - +java-class('Backoff strategy:', clientRetryModel + '.Custom.backoffStrategy', '"checkpointS3CustomBackoffStrategy"', 'true', checkpointS3CustomRetry, - 'Back-off strategy for controlling how long the next retry should wait', checkpointS3CustomRetry) - .pc-form-grid-col-60 - +number-required('Maximum retry attempts:', clientRetryModel + '.Custom.maxErrorRetry', '"checkpointS3CustomMaxErrorRetry"', 'true', checkpointS3CustomRetry, '-1', '1', - 'Maximum number of retry attempts for failed requests') - .pc-form-grid-col-60 - +checkbox('Honor the max error retry set', clientRetryModel + '.Custom.honorMaxErrorRetryInClientConfig', '"checkpointS3CustomHonorMaxErrorRetryInClientConfig"', - 'Whether this retry policy should honor the max error retry set by ClientConfiguration#setMaxErrorRetry(int)') - .pc-form-grid-col-60 - +number('Maximum retry attempts:', clientCfgModel + '.maxErrorRetry', '"checkpointS3MaxErrorRetry"', 'true', '-1', '0', - 'Maximum number of retry attempts for failed retryable requests<br/>\ - If -1 the configured RetryPolicy will be used to control the retry count') - .pc-form-grid-col-30 - +number('Socket timeout:', clientCfgModel + '.socketTimeout', '"checkpointS3SocketTimeout"', 'true', '50000', '0', - 'Amount of time in milliseconds to wait for data to be transfered over an established, open connection before the connection times out and is closed<br/>\ - A value of <b>0</b> means infinity') - .pc-form-grid-col-30 - +number('Connection timeout:', clientCfgModel + '.connectionTimeout', '"checkpointS3ConnectionTimeout"', 'true', '50000', '0', - 'Amount of time in milliseconds to wait when initially establishing a connection before giving up and timing out<br/>\ - A value of <b>0</b> means infinity') - .pc-form-grid-col-30 - +number('Request timeout:', clientCfgModel + '.requestTimeout', '"checkpointS3RequestTimeout"', 'true', '0', '-1', - 'Amount of time in milliseconds to wait for the request to complete before giving up and timing out<br/>\ - A non - positive value means infinity') - .pc-form-grid-col-30 - +number('Idle timeout:', clientCfgModel + '.connectionMaxIdleMillis', '"checkpointS3ConnectionMaxIdleMillis"', 'true', '60000', '0', - 'Maximum amount of time that an idle connection may sit in the connection pool and still be eligible for reuse') - .pc-form-grid-col-30 - +text('Signature algorithm:', clientCfgModel + '.signerOverride', '"checkpointS3SignerOverride"', 'false', 'Not specified', - 'Name of the signature algorithm to use for signing requests made by this client') - .pc-form-grid-col-30 - +number('Connection TTL:', clientCfgModel + '.connectionTTL', '"checkpointS3ConnectionTTL"', 'true', '-1', '-1', - 'Expiration time in milliseconds for a connection in the connection pool<br/>\ - By default, it is set to <b>-1</b>, i.e. connections do not expire') - .pc-form-grid-col-60 - +java-class('DNS resolver:', clientCfgModel + '.dnsResolver', '"checkpointS3DnsResolver"', 'true', 'false', - 'DNS Resolver that should be used to for resolving AWS IP addresses', checkpointS3) - .pc-form-grid-col-60 - +number('Response metadata cache size:', clientCfgModel + '.responseMetadataCacheSize', '"checkpointS3ResponseMetadataCacheSize"', 'true', '50', '0', - 'Response metadata cache size') - .pc-form-grid-col-60 - +java-class('SecureRandom class name:', clientCfgModel + '.secureRandom', '"checkpointS3SecureRandom"', 'true', 'false', - 'SecureRandom to be used by the SDK class name', checkpointS3) - .pc-form-grid-col-60 - +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') - .pc-form-grid-col-60 - +checkbox('Cache response metadata', clientCfgModel + '.cacheResponseMetadata', '"checkpointS3CacheResponseMetadata"', 'Cache response metadata') - .pc-form-grid-col-60 - +checkbox('Use expect continue', clientCfgModel + '.useExpectContinue', '"checkpointS3UseExpectContinue"', 'Optional override to enable/disable support for HTTP/1.1 handshake utilizing EXPECT: 100-Continue') - .pc-form-grid-col-60 - +checkbox('Use throttle retries', clientCfgModel + '.useThrottleRetries', '"checkpointS3UseThrottleRetries"', 'Retry throttling will be used') - .pc-form-grid-col-60 - +checkbox('Use reaper', clientCfgModel + '.useReaper', '"checkpointS3UseReaper"', 'Checks if the IdleConnectionReaper is to be started') - .pc-form-grid-col-60 - +checkbox('Use GZIP', clientCfgModel + '.useGzip', '"checkpointS3UseGzip"', 'Checks if gzip compression is used') - .pc-form-grid-col-60 - +checkbox('Preemptively basic authentication', clientCfgModel + '.preemptiveBasicProxyAuth', '"checkpointS3PreemptiveBasicProxyAuth"', - 'Attempt to authenticate preemptively against proxy servers using basic authentication') - .pc-form-grid-col-60 - +checkbox('TCP KeepAlive', clientCfgModel + '.useTcpKeepAlive', '"checkpointS3UseTcpKeepAlive"', 'TCP KeepAlive support is enabled') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/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 deleted file mode 100644 index d27fa14..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/client-connector.pug +++ /dev/null @@ -1,76 +0,0 @@ -//- - 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 = '$ctrl.clonedCluster' --var connectionModel = `${model}.clientConnectorConfiguration` --var connectionEnabled = `${connectionModel}.enabled` --var sslEnabled = `${connectionEnabled} && ${connectionModel}.sslEnabled` --var sslFactoryEnabled = `${sslEnabled} && !${connectionModel}.useIgniteSslContextFactory` - -panel-collapsible(ng-show='$ctrl.available("2.3.0")' ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title Client connector configuration - panel-content.pca-form-row(ng-if=`$ctrl.available("2.3.0") && ui.isPanelLoaded('${form}')`) - .pca-form-column-6.pc-form-grid-row - .pc-form-grid-col-60 - +checkbox('Enabled', connectionEnabled, '"ClientConnectorEnabled"', 'Flag indicating whether to configure client connector configuration') - .pc-form-grid-col-40 - +text-enabled('Host:', `${connectionModel}.host`, '"ClientConnectorHost"', connectionEnabled, 'false', 'localhost') - .pc-form-grid-col-20 - +number('Port:', `${connectionModel}.port`, '"ClientConnectorPort"', connectionEnabled, '10800', '1025') - .pc-form-grid-col-20 - +number('Port range:', `${connectionModel}.portRange`, '"ClientConnectorPortRange"', connectionEnabled, '100', '0') - .pc-form-grid-col-20 - +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') - .pc-form-grid-col-20 - +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') - .pc-form-grid-col-30 - +number('Max connection cursors:', `${connectionModel}.maxOpenCursorsPerConnection`, '"ClientConnectorMaxOpenCursorsPerConnection"', connectionEnabled, '128', '0', - 'Max number of opened cursors per connection') - .pc-form-grid-col-30 - +number('Pool size:', `${connectionModel}.threadPoolSize`, '"ClientConnectorThreadPoolSize"', connectionEnabled, 'max(8, availableProcessors)', '1', - 'Size of thread pool that is in charge of processing SQL requests') - .pc-form-grid-col-60 - +checkbox-enabled('TCP_NODELAY option', `${connectionModel}.tcpNoDelay`, '"ClientConnectorTcpNoDelay"', connectionEnabled) - .pc-form-grid-col-60(ng-if='$ctrl.available("2.4.0")') - +number('Idle timeout:', `${connectionModel}.idleTimeout`, '"ClientConnectorIdleTimeout"', connectionEnabled, '0', '-1', - 'Idle timeout for client connections<br/>\ - Zero or negative means no timeout') - .pc-form-grid-col-60(ng-if-start='$ctrl.available("2.5.0")') - +checkbox-enabled('Enable SSL', `${connectionModel}.sslEnabled`, '"ClientConnectorSslEnabled"', connectionEnabled, 'Enable secure socket layer on client connector') - .pc-form-grid-col-60 - +checkbox-enabled('Enable SSL client auth', `${connectionModel}.sslClientAuth`, '"ClientConnectorSslClientAuth"', sslEnabled, 'Flag indicating whether or not SSL client authentication is required') - .pc-form-grid-col-60 - +checkbox-enabled('Use Ignite SSL', `${connectionModel}.useIgniteSslContextFactory`, '"ClientConnectorUseIgniteSslContextFactory"', sslEnabled, 'Use SSL factory Ignite configuration') - .pc-form-grid-col-60(ng-if-end) - +java-class('SSL factory:', `${connectionModel}.sslContextFactory`, '"ClientConnectorSslContextFactory"', sslFactoryEnabled, sslFactoryEnabled, - 'If SSL factory specified then replication will be performed through secure SSL channel created with this factory<br/>\ - If not present <b>isUseIgniteSslContextFactory()</b> flag will be evaluated<br/>\ - If set to <b>true</b> and <b>IgniteConfiguration#getSslContextFactory()</b> exists, then Ignite SSL context factory will be used to establish secure connection') - .pc-form-grid-col-60(ng-if-start='$ctrl.available("2.4.0")') - +checkbox-enabled('JDBC Enabled', `${connectionModel}.jdbcEnabled`, '"ClientConnectorJdbcEnabled"', connectionEnabled, 'Access through JDBC is enabled') - .pc-form-grid-col-60 - +checkbox-enabled('ODBC Enabled', `${connectionModel}.odbcEnabled`, '"ClientConnectorOdbcEnabled"', connectionEnabled, 'Access through ODBC is enabled') - .pc-form-grid-col-60(ng-if-end) - +checkbox-enabled('Thin client enabled', `${connectionModel}.thinClientEnabled`, '"ClientConnectorThinCliEnabled"', connectionEnabled, 'Access through thin client is enabled') - .pca-form-column-6 - +preview-xml-java(model, 'clusterClientConnector') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/collision.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/collision.pug deleted file mode 100644 index c315af1..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision.pug +++ /dev/null @@ -1,58 +0,0 @@ -//- - 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 = 'collision' --var model = '$ctrl.clonedCluster.collision' --var modelCollisionKind = model + '.kind'; - -panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) - panel-title Collision configuration - panel-description - | Configuration Collision SPI allows to regulate how grid jobs get executed when they arrive on a destination node for execution. - | #[a.link-success(href="https://apacheignite.readme.io/docs/job-scheduling" target="_blank") More info] - panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) - .pca-form-column-6.pc-form-grid-row - .pc-form-grid-col-60 - +dropdown('CollisionSpi:', modelCollisionKind, '"collisionKind"', 'true', '', - '[\ - {value: "JobStealing", label: "Job stealing"},\ - {value: "FifoQueue", label: "FIFO queue"},\ - {value: "PriorityQueue", label: "Priority queue"},\ - {value: "Custom", label: "Custom"},\ - {value: "Noop", label: "Default"}\ - ]', - 'Regulate how grid jobs get executed when they arrive on a destination node for execution\ - <ul>\ - <li>Job stealing - supports job stealing from over-utilized nodes to under-utilized nodes</li>\ - <li>FIFO queue - jobs are ordered as they arrived</li>\ - <li>Priority queue - jobs are first ordered by their priority</li>\ - <li>Custom - custom CollisionSpi implementation</li>\ - <li>Default - jobs are activated immediately on arrival to mapped node</li>\ - </ul>') - .pc-form-group(ng-show=`${modelCollisionKind} !== 'Noop'`) - .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'JobStealing'`) - include ./collision/job-stealing - .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'FifoQueue'`) - include ./collision/fifo-queue - .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'PriorityQueue'`) - include ./collision/priority-queue - .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'Custom'`) - include ./collision/custom - .pca-form-column-6 - -var model = '$ctrl.clonedCluster.collision' - +preview-xml-java(model, 'clusterCollision') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/custom.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/custom.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/custom.pug deleted file mode 100644 index c1d11d5..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/custom.pug +++ /dev/null @@ -1,23 +0,0 @@ -//- - 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 model = '$ctrl.clonedCluster.collision.Custom' --var required = '$ctrl.clonedCluster.collision.kind === "Custom"' - -.pc-form-grid-col-60 - +java-class('Class:', `${model}.class`, '"collisionCustom"', 'true', required, 'CollisionSpi implementation class', required) http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/fifo-queue.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/fifo-queue.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/fifo-queue.pug deleted file mode 100644 index c009386..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/fifo-queue.pug +++ /dev/null @@ -1,26 +0,0 @@ -//- - 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 model = '$ctrl.clonedCluster.collision.FifoQueue' - -.pc-form-grid-col-30 - +number('Parallel jobs number:', `${model}.parallelJobsNumber`, '"fifoParallelJobsNumber"', 'true', 'availableProcessors * 2', '1', - 'Number of jobs that can be executed in parallel') -.pc-form-grid-col-30 - +number('Wait jobs number:', `${model}.waitingJobsNumber`, '"fifoWaitingJobsNumber"', 'true', 'Integer.MAX_VALUE', '0', - 'Maximum number of jobs that are allowed to wait in waiting queue') http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/job-stealing.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/job-stealing.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/job-stealing.pug deleted file mode 100644 index f1b0a56..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/job-stealing.pug +++ /dev/null @@ -1,51 +0,0 @@ -//- - 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 model = '$ctrl.clonedCluster.collision.JobStealing' --var stealingAttributes = `${model}.stealingAttributes` - -.pc-form-grid-col-30 - +number('Active jobs threshold:', `${model}.activeJobsThreshold`, '"jsActiveJobsThreshold"', 'true', '95', '0', - 'Number of jobs that can be executed in parallel') -.pc-form-grid-col-30 - +number('Wait jobs threshold:', `${model}.waitJobsThreshold`, '"jsWaitJobsThreshold"', 'true', '0', '0', - 'Job count threshold at which this node will start stealing jobs from other nodes') -.pc-form-grid-col-30 - +number('Message expire time:', `${model}.messageExpireTime`, '"jsMessageExpireTime"', 'true', '1000', '1', - 'Message expire time in ms') -.pc-form-grid-col-30 - +number('Maximum stealing attempts:', `${model}.maximumStealingAttempts`, '"jsMaximumStealingAttempts"', 'true', '5', '1', - 'Maximum number of attempts to steal job by another node') -.pc-form-grid-col-60 - +checkbox('Stealing enabled', `${model}.stealingEnabled`, '"jsStealingEnabled"', - 'Node should attempt to steal jobs from other nodes') -.pc-form-grid-col-60 - +java-class('External listener:', `${model}.externalCollisionListener`, '"jsExternalCollisionListener"', 'true', 'false', - 'Listener to be set for notification of external collision events', '$ctrl.clonedCluster.collision.kind === "JobStealing"') -.pc-form-grid-col-60 - .ignite-form-field - +ignite-form-field__label('Stealing attributes:', '"stealingAttributes"') - +tooltip(`Configuration parameter to enable stealing to/from only nodes that have these attributes set`) - .ignite-form-field__control - +list-pair-edit({ - items: stealingAttributes, - keyLbl: 'Attribute name', - valLbl: 'Attribute value', - itemName: 'stealing attribute', - itemsName: 'stealing attributes' - }) http://git-wip-us.apache.org/repos/asf/ignite/blob/68719446/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/priority-queue.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/priority-queue.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/priority-queue.pug deleted file mode 100644 index fd198ce..0000000 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/collision/priority-queue.pug +++ /dev/null @@ -1,41 +0,0 @@ -//- - 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 model = '$ctrl.clonedCluster.collision.PriorityQueue' - -.pc-form-grid-col-30 - +number('Parallel jobs number:', `${model}.parallelJobsNumber`, '"priorityParallelJobsNumber"', 'true', 'availableProcessors * 2', '1', - 'Number of jobs that can be executed in parallel') -.pc-form-grid-col-30 - +number('Waiting jobs number:', `${model}.waitingJobsNumber`, '"priorityWaitingJobsNumber"', 'true', 'Integer.MAX_VALUE', '0', - 'Maximum number of jobs that are allowed to wait in waiting queue') -.pc-form-grid-col-30 - +text('Priority attribute key:', `${model}.priorityAttributeKey`, '"priorityPriorityAttributeKey"', 'false', 'grid.task.priority', - 'Task priority attribute key') -.pc-form-grid-col-30 - +text('Job priority attribute key:', `${model}.jobPriorityAttributeKey`, '"priorityJobPriorityAttributeKey"', 'false', 'grid.job.priority', - 'Job priority attribute key') -.pc-form-grid-col-30 - +number('Default priority:', `${model}.defaultPriority`, '"priorityDefaultPriority"', 'true', '0', '0', - 'Default priority to use if a job does not have priority attribute set') -.pc-form-grid-col-30 - +number('Starvation increment:', `${model}.starvationIncrement`, '"priorityStarvationIncrement"', 'true', '1', '0', - 'Value to increment job priority by every time a lower priority job gets behind a higher priority job') -.pc-form-grid-col-60 - +checkbox('Starvation prevention enabled', `${model}.starvationPreventionEnabled`, '"priorityStarvationPreventionEnabled"', - 'Job starvation prevention is enabled')