You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2014/08/05 13:35:50 UTC
git commit: AMBARI-6741 On HDFS config page edit boxes with memory
size values have incorrect behavior. (Max Shepel via ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/trunk 6d48ee4dd -> 7e879645b
AMBARI-6741 On HDFS config page edit boxes with memory size values have incorrect behavior. (Max Shepel via ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7e879645
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7e879645
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7e879645
Branch: refs/heads/trunk
Commit: 7e879645b83075177c8ea9c80232eff2978c3be1
Parents: 6d48ee4
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Tue Aug 5 14:31:32 2014 +0300
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Tue Aug 5 14:31:51 2014 +0300
----------------------------------------------------------------------
.../controllers/main/service/info/configs.js | 22 ++++++-
.../main/service/info/config_test.js | 61 +++++++++++++++++++-
2 files changed, 80 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/7e879645/ambari-web/app/controllers/main/service/info/configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index 0ba1086..a99ae28 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -118,6 +118,16 @@ App.MainServiceInfoConfigsController = Em.Controller.extend({
],
/**
+ * List of heapsize properties not to be parsed
+ */
+ heapsizeException: ['hadoop_heapsize', 'yarn_heapsize', 'nodemanager_heapsize', 'resourcemanager_heapsize', 'apptimelineserver_heapsize', 'jobhistory_heapsize'],
+
+ /**
+ * Regular expression for heapsize properties detection
+ */
+ heapsizeRegExp: /_heapsize|_newsize|_maxnewsize$/,
+
+/**
* Dropdown menu items in filter combobox
*/
filterColumns: function () {
@@ -1752,6 +1762,13 @@ App.MainServiceInfoConfigsController = Em.Controller.extend({
success: 'doPUTClusterConfigurationSiteSuccessCallback',
error: 'doPUTClusterConfigurationSiteErrorCallback'
});
+ var heapsizeException = this.get('heapsizeException');
+ var heapsizeRegExp = this.get('heapsizeRegExp');
+ this.get('stepConfigs')[0].get('configs').forEach(function (item) {
+ if (heapsizeRegExp.test(item.get('name')) && !heapsizeException.contains(item.get('name')) && /\d+m$/.test(item.get('value'))) {
+ item.set('value', item.get('value').slice(0, item.get('value.length') - 1));
+ }
+ });
},
doPUTClusterConfigurationSiteSuccessCallback: function () {
@@ -1828,11 +1845,12 @@ App.MainServiceInfoConfigsController = Em.Controller.extend({
* @return {Object}
*/
createSiteObj: function (siteName, tagName, siteObj) {
- var heapsizeException = ['hadoop_heapsize', 'yarn_heapsize', 'nodemanager_heapsize', 'resourcemanager_heapsize', 'apptimelineserver_heapsize', 'jobhistory_heapsize'];
+ var heapsizeException = this.get('heapsizeException');
+ var heapsizeRegExp = this.get('heapsizeRegExp');
var siteProperties = {};
siteObj.forEach(function (_siteObj) {
if (_siteObj.isRequiredByAgent == false) return;
- if (/_heapsize|_newsize|_maxnewsize$/.test(_siteObj.name) && !heapsizeException.contains(_siteObj.name)) {
+ if (heapsizeRegExp.test(_siteObj.name) && !heapsizeException.contains(_siteObj.name)) {
Em.set(_siteObj, "value", _siteObj.value + "m");
}
siteProperties[_siteObj.name] = App.config.escapeXMLCharacters(_siteObj.value);
http://git-wip-us.apache.org/repos/asf/ambari/blob/7e879645/ambari-web/test/controllers/main/service/info/config_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/service/info/config_test.js b/ambari-web/test/controllers/main/service/info/config_test.js
index fd3405f..3d38545 100644
--- a/ambari-web/test/controllers/main/service/info/config_test.js
+++ b/ambari-web/test/controllers/main/service/info/config_test.js
@@ -591,7 +591,55 @@ describe("App.MainServiceInfoConfigsController", function () {
desired_config: "data"
}
}
- };
+ },
+ sc = [
+ Em.Object.create({
+ configs: [
+ Em.Object.create({
+ name: '_heapsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: '_newsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: '_maxnewsize',
+ value: '1024m'
+ })
+ ]
+ })
+ ],
+ scExc = [
+ Em.Object.create({
+ configs: [
+ Em.Object.create({
+ name: 'hadoop_heapsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: 'yarn_heapsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: 'nodemanager_heapsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: 'resourcemanager_heapsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: 'apptimelineserver_heapsize',
+ value: '1024m'
+ }),
+ Em.Object.create({
+ name: 'jobhistory_heapsize',
+ value: '1024m'
+ })
+ ]
+ })
+ ];
beforeEach(function () {
sinon.stub(App.router, 'getClusterName', function() {
return 'clName';
@@ -603,9 +651,20 @@ describe("App.MainServiceInfoConfigsController", function () {
App.router.getClusterName.restore();
});
it("ajax request to put clsuter cfg", function () {
+ mainServiceInfoConfigsController.set('stepConfigs', sc);
expect(mainServiceInfoConfigsController.doPUTClusterConfigurationSite(t.data)).to.equal(mainServiceInfoConfigsController.get("doPUTClusterConfigurationSiteResult"));
expect(JSON.parse($.ajax.args[0][0].data)).to.deep.equal(t.request);
});
+ it('values should be parsed', function () {
+ mainServiceInfoConfigsController.set('stepConfigs', sc);
+ mainServiceInfoConfigsController.doPUTClusterConfigurationSite();
+ expect(mainServiceInfoConfigsController.get('stepConfigs')[0].get('configs').mapProperty('value').uniq()).to.eql(['1024']);
+ });
+ it('values should not be parsed', function () {
+ mainServiceInfoConfigsController.set('stepConfigs', scExc);
+ mainServiceInfoConfigsController.doPUTClusterConfigurationSite();
+ expect(mainServiceInfoConfigsController.get('stepConfigs')[0].get('configs').mapProperty('value').uniq()).to.eql(['1024m']);
+ });
});
describe("#isConfigChanged", function () {