Repository: ambari
Updated Branches:
  refs/heads/trunk 8f287ce38 -> 245cf1bae


AMBARI-7220. Ambari NN HA wizard cannot detect checkpoint. (akovalenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/245cf1ba
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/245cf1ba
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/245cf1ba

Branch: refs/heads/trunk
Commit: 245cf1bae02f2815cb71edf56902f6fafa47c03f
Parents: 8f287ce
Author: Aleksandr Kovalenko <akovale...@hortonworks.com>
Authored: Tue Sep 9 17:09:26 2014 +0300
Committer: Aleksandr Kovalenko <akovale...@hortonworks.com>
Committed: Tue Sep 9 17:11:12 2014 +0300

----------------------------------------------------------------------
 .../nameNode/step4_controller.js                | 29 ++++++++++++--------
 ambari-web/app/controllers/main/service/item.js |  6 ++--
 ambari-web/app/messages.js                      |  1 +
 .../admin/highAvailability/nameNode/step4.hbs   |  5 ++++
 4 files changed, 26 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/245cf1ba/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step4_controller.js
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step4_controller.js
 
b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step4_controller.js
index 2fba24e..eb51423 100644
--- 
a/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step4_controller.js
+++ 
b/ambari-web/app/controllers/main/admin/highAvailability/nameNode/step4_controller.js
@@ -28,6 +28,8 @@ App.HighAvailabilityWizardStep4Controller = 
Em.Controller.extend({
 
   isNextEnabled: false,
 
+  isNameNodeStarted: true,
+
   pullCheckPointStatus: function () {
     var hostName = 
this.get('content.masterComponentHosts').findProperty('isCurNameNode', 
true).hostName;
     App.ajax.send({
@@ -41,18 +43,23 @@ App.HighAvailabilityWizardStep4Controller = 
Em.Controller.extend({
   },
 
   checkNnCheckPointStatus: function (data) {
-    var self = this;
-    var journalTransactionInfo =  
$.parseJSON(data.metrics.dfs.namenode.JournalTransactionInfo);
-    var isInSafeMode = (data.metrics.dfs.namenode.Safemode != "");
-    journalTransactionInfo = 
parseInt(journalTransactionInfo.LastAppliedOrWrittenTxId) - 
parseInt(journalTransactionInfo.MostRecentCheckpointTxId);
-    if(journalTransactionInfo <= 1 && isInSafeMode){
-      this.set("isNextEnabled", true);
-      return;
-    }
+    if (data.HostRoles.desired_state === 'STARTED') {
+      this.set('isNameNodeStarted', true);
+      var self = this;
+      var journalTransactionInfo = 
$.parseJSON(data.metrics.dfs.namenode.JournalTransactionInfo);
+      var isInSafeMode = (data.metrics.dfs.namenode.Safemode != "");
+      journalTransactionInfo = 
parseInt(journalTransactionInfo.LastAppliedOrWrittenTxId) - 
parseInt(journalTransactionInfo.MostRecentCheckpointTxId);
+      if (journalTransactionInfo <= 1 && isInSafeMode) {
+        this.set("isNextEnabled", true);
+        return;
+      }
 
-    window.setTimeout(function () {
-      self.pullCheckPointStatus()
-    }, self.POLL_INTERVAL);
+      window.setTimeout(function () {
+        self.pullCheckPointStatus()
+      }, self.POLL_INTERVAL);
+    } else {
+      this.set('isNameNodeStarted', false);
+    }
   },
 
   done: function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/245cf1ba/ambari-web/app/controllers/main/service/item.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/service/item.js 
b/ambari-web/app/controllers/main/service/item.js
index 5593c72..fc62a4e 100644
--- a/ambari-web/app/controllers/main/service/item.js
+++ b/ambari-web/app/controllers/main/service/item.js
@@ -163,9 +163,9 @@ App.MainServiceItemController = Em.Controller.extend({
 
   startStopPopupPrimary: function (serviceHealth, query, runMmOperation) {
     var requestInfo = "";
-    var turnOnMM = "ON"
+    var turnOnMM = "ON";
     if (serviceHealth == "STARTED") {
-      turnOnMM = "OFF"
+      turnOnMM = "OFF";
       requestInfo = 
App.BackgroundOperationsController.CommandContexts.START_SERVICE.format(this.get('content.serviceName'));
     } else {
       requestInfo = 
App.BackgroundOperationsController.CommandContexts.STOP_SERVICE.format(this.get('content.serviceName'));
@@ -189,8 +189,6 @@ App.MainServiceItemController = Em.Controller.extend({
       'error': 'startStopPopupErrorCallback',
       'data': data
     });
-    this.set('isStopDisabled', true);
-    this.set('isStartDisabled', true);
   },
 
   /**

http://git-wip-us.apache.org/repos/asf/ambari/blob/245cf1ba/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 9f9474a..f158f8d 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -883,6 +883,7 @@ Em.I18n.translations = {
   'admin.highAvailability.wizard.step2.header':'Select Hosts',
   'admin.highAvailability.wizard.step3.header':'Review',
   'admin.highAvailability.wizard.step4.header':'Create Checkpoint',
+  'admin.highAvailability.wizard.step4.error.nameNode':'NameNode is not 
started. Please quit wizard and start NameNode first.',
   'admin.highAvailability.wizard.step5.header':'Configure Components',
   'admin.highAvailability.wizard.step6.header':'Initialize JournalNodes',
   'admin.highAvailability.wizard.step7.header':'Start Components',

http://git-wip-us.apache.org/repos/asf/ambari/blob/245cf1ba/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
----------------------------------------------------------------------
diff --git 
a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs 
b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
index ae9090e..43b7058 100644
--- a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
@@ -17,6 +17,11 @@
 }}
 <div id="ha-step4">
   <h2>{{t admin.highAvailability.wizard.step4.bodyHeader}}</h2>
+  {{#unless controller.isNameNodeStarted}}
+    <div class="alert alert-error">
+      {{t admin.highAvailability.wizard.step4.error.nameNode}}
+    </div>
+  {{/unless}}
   <div class="alert alert-info">
     {{{view.step4BodyText}}}
   </div>

Reply via email to