# ignite-850 Added marshaler settings.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7e5141eb Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7e5141eb Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7e5141eb Branch: refs/heads/ignite-843 Commit: 7e5141ebe97fac352324490ef00d4057c2a2599e Parents: 08ac7ea Author: Andrey <anovi...@gridgain.com> Authored: Mon Jun 22 10:39:52 2015 +0700 Committer: Andrey <anovi...@gridgain.com> Committed: Mon Jun 22 10:39:52 2015 +0700 ---------------------------------------------------------------------- .../nodejs/public/form-models/clusters.json | 60 +++++++++++++++++--- .../public/javascripts/controllers/clusters.js | 5 ++ .../public/javascripts/controllers/common.js | 3 + .../nodejs/views/includes/controls.jade | 5 +- 4 files changed, 64 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7e5141eb/modules/webconfig/nodejs/public/form-models/clusters.json ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/form-models/clusters.json b/modules/webconfig/nodejs/public/form-models/clusters.json index 3dfc446..b8c7bf1 100644 --- a/modules/webconfig/nodejs/public/form-models/clusters.json +++ b/modules/webconfig/nodejs/public/form-models/clusters.json @@ -1,5 +1,5 @@ { - "templateTip" : [ + "templateTip": [ "Use following template for add cluster:", "<ul>", " <li>blank - Empty configuration.</li>", @@ -69,8 +69,8 @@ ] }, "Multicast": { - "expanded": false, - "fields": [ + "expanded": false, + "fields": [ { "label": "IP address", "type": "text", @@ -386,6 +386,46 @@ "label": "Marshaller", "fields": [ { + "label": "Marshaller", + "type": "dropdown-details", + "group": "marshaller", + "model": "kind", + "placeholder": "Choose marshaller", + "items": "marshallers", + "tip": [ + "Cache expiration policy." + ], + "details": { + "OptimizedMarshaller": { + "expanded": false, + "fields": [ + { + "label": "Streams pool size", + "type": "text", + "model": "poolSize", + "placeholder": "0", + "tip": [ + "Specifies size of cached object streams used by marshaller.", + "Object streams are cached for performance reason to avoid costly recreation for every serialization routine.", + "If 0 (default), pool is not used and each thread has its own cached object stream which it keeps reusing.", + "Since each stream has an internal buffer, creating a stream for each thread can lead to high memory consumption if many large messages are marshalled or unmarshalled concurrently.", + "Consider using pool in this case. This will limit number of streams that can be created and, therefore, decrease memory consumption.", + "NOTE: Using streams pool can decrease performance since streams will be shared between different threads which will lead to more frequent context switching." + ] + }, + { + "label": "Require serializable", + "type": "check", + "model": "requireSerializable", + "tip": [ + "Whether marshaller should require Serializable interface or not." + ] + } + ] + } + } + }, + { "label": "Marshal local jobs", "type": "check", "model": "marshalLocalJobs", @@ -397,14 +437,20 @@ { "label": "Keep alive time", "type": "text", - "model": "marshCacheKeepAliveTime", - "placeholder": "10,000" + "model": "marshallerCacheKeepAliveTime", + "placeholder": "10,000", + "tip": [ + "Keep alive time of thread pool that is in charge of processing marshaller messages." + ] }, { "label": "Pool size", "type": "text", - "model": "marshCachePoolSize", - "placeholder": "max(8, availableProcessors) * 2" + "model": "marshallerCacheThreadPoolSize", + "placeholder": "max(8, availableProcessors) * 2", + "tip": [ + "Default size of thread pool that is in charge of processing marshaller messages." + ] } ] }, http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7e5141eb/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js index efee277..3218984 100644 --- a/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js +++ b/modules/webconfig/nodejs/public/javascripts/controllers/clusters.js @@ -82,6 +82,11 @@ configuratorModule.controller('clustersController', ['$scope', '$alert', '$http' {value: 'NOOP', label: 'NOOP'} ]; + $scope.marshallers = [ + {value: 'JdkMarshaller', label: 'JdkMarshaller'}, + {value: 'OptimizedMarshaller', label: 'OptimizedMarshaller'} + ]; + $scope.clusters = []; $http.get('/form-models/clusters.json') http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7e5141eb/modules/webconfig/nodejs/public/javascripts/controllers/common.js ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/public/javascripts/controllers/common.js b/modules/webconfig/nodejs/public/javascripts/controllers/common.js index 2d39a57..93d9ec1 100644 --- a/modules/webconfig/nodejs/public/javascripts/controllers/common.js +++ b/modules/webconfig/nodejs/public/javascripts/controllers/common.js @@ -42,6 +42,9 @@ configuratorModule.service('commonFunctions', function() { a[ix2] = tmp; }, joinTip: function(arr) { + if (!arr) + return arr; + var lines = arr.map(function(line) { var rtrimmed = line.replace(/\s+$/g, ''); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7e5141eb/modules/webconfig/nodejs/views/includes/controls.jade ---------------------------------------------------------------------- diff --git a/modules/webconfig/nodejs/views/includes/controls.jade b/modules/webconfig/nodejs/views/includes/controls.jade index 0ff26f0..aae1ffd 100644 --- a/modules/webconfig/nodejs/views/includes/controls.jade +++ b/modules/webconfig/nodejs/views/includes/controls.jade @@ -102,7 +102,8 @@ mixin form-row .col-sm-4 +tipField('field.tip') .input-tip - button.form-control(bs-select ng-model='backupItem[field.model]' data-multiple='1' data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}') + button.form-control(disabled='{{field.items}}.length == 0' bs-select ng-model='backupItem[field.model]' data-multiple='1' data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}') + a.customize(ng-click='if (saveItem()) Redirect()') Add cache(s) div(ng-switch-when='dropdown-details') - var expanded = 'field.details[backupItem[field.group][field.model]].expanded' @@ -111,7 +112,7 @@ mixin form-row +tipField('field.tip') .input-tip button.form-control(bs-select ng-model=masterMdl ng-required='field.required' data-placeholder='{{field.placeholder}}' bs-options='item.value as item.label for item in {{field.items}}') - a.customize(ng-show=masterMdl ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? "Hide settings" : "Show settings"}} + a.customize(ng-show='#{masterMdl} && field.details[#{masterMdl}].fields' ng-click='#{expanded} = !#{expanded}') {{#{expanded} ? "Hide settings" : "Show settings"}} .col-sm-6.panel-details(ng-show='#{expanded} && #{masterMdl}') .details-row(ng-repeat='detail in field.details[#{masterMdl}].fields') +details-row