-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42582/
-----------------------------------------------------------

Review request for Ambari, Alejandro Fernandez, Jaimin Jetly, jun aoki, Jayush 
Luniya, Oleksandr Diachenko, Richard Zang, Sumit Mohanty, and Yusaku Sako.


Bugs: AMBARI-14749
    https://issues.apache.org/jira/browse/AMBARI-14749


Repository: ambari


Description
-------

This patch introduces another high availability wizard which adds HAWQ Standby 
component to the HAWQ cluster.
Why it is required?
Apache HAWQ database has the below components.
- Master
- Standby
- Segments

At any point of time, database connections are only accepted by the master and 
it is the single point of entry for read and write operations. In the 
background, there is a sync-up process which ensures that standby component is 
in sync with master, so that in case master goes down, HAWQ standby can be 
promoted to perform the role of master and there is minimum downtime.
However, in order to enable High Availability operation for HAWQ, HAWQ standby 
must be configured to the cluster and required configuration changes must be 
done to ensure that HAWQ Standby is operational and in sync.

After HAWQ Standby is added and if it has been promoted / activated to take the 
role of the HAWQ Master, the HAWQ cluster now operates in non-HA mode. The old 
HAWQ master is out of the cluster and cannot be transitioned to the role of 
Standby. In order to get back to HA state, a standby has to be added to the 
cluster.

In this patch, the functionality to add HAWQ Standby Master has been introduced 
which performs the following functions:
- Disable / Enable "Add HAWQ Standby" option depending on the state of the 
cluster. If HAWQ Standby is configured, this option is not visible. If HAWQ 
Standby is not configured and the cluster is not single node, the option is 
visible.
- When the action is triggered, "Add HAWQ Standby" wizard comes into role - - 
The wizard contains of 4 pages which does a dedicated job
Page 1: It gives information to the user for the activities which will be 
carried out by the wizard
Page 2: It lets' the user chose the host on which standby should be installed
Page 3: Informs the user about the configuration changes which will take place 
based on the inputs on Page 2
Page 4: Below list of operations are carried.
         1. Stop HAWQ Service
         2. Install HAWQ Standby Component
         3. Reconfigure HAWQ Service to add required properties
         4. Start HAWQ service. During this step, hawq standby is initialized 
and started.
- After the wizard completes, HAWQ standby is added to the cluster and now HAWQ 
is operational in HA mode.


Diffs
-----

  ambari-web/app/assets/test/tests.js 2b801f0 
  ambari-web/app/controllers.js 5f3f841 
  
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step1_controller.js
 PRE-CREATION 
  
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step2_controller.js
 PRE-CREATION 
  
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step3_controller.js
 PRE-CREATION 
  
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step4_controller.js
 PRE-CREATION 
  
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/wizard_controller.js
 PRE-CREATION 
  ambari-web/app/controllers/main/admin/highAvailability_controller.js 9fe9bbb 
  ambari-web/app/controllers/main/service/item.js 59559eb 
  ambari-web/app/data/HDP2.3/hawq_ha_properties.js PRE-CREATION 
  ambari-web/app/data/HDP2/hawq_ha_properties.js PRE-CREATION 
  ambari-web/app/data/controller_route.js dea5ace 
  ambari-web/app/messages.js fac2893 
  ambari-web/app/mixins/wizard/assign_master_components.js 5545e92 
  ambari-web/app/mixins/wizard/wizardProgressPageController.js d9c5747 
  ambari-web/app/models/host_component.js 0c013b1 
  ambari-web/app/models/service.js 27647a0 
  ambari-web/app/routes/add_hawq_standby_routes.js PRE-CREATION 
  ambari-web/app/routes/main.js 70714b9 
  
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/step1.hbs 
PRE-CREATION 
  
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/step3.hbs 
PRE-CREATION 
  
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/step4.hbs 
PRE-CREATION 
  
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/wizard.hbs 
PRE-CREATION 
  ambari-web/app/utils/configs/hawq_ha_config_initializer.js PRE-CREATION 
  ambari-web/app/utils/db.js 858675f 
  ambari-web/app/views.js 293d223 
  
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step1_view.js 
PRE-CREATION 
  
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step2_view.js 
PRE-CREATION 
  
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step3_view.js 
PRE-CREATION 
  
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step4_view.js 
PRE-CREATION 
  
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/wizard_view.js 
PRE-CREATION 
  ambari-web/app/views/main/service/item.js 659a0a5 
  
ambari-web/test/controllers/main/admin/highAvailability/hawq/addStandby/step3_controller_test.js
 PRE-CREATION 

Diff: https://reviews.apache.org/r/42582/diff/


Testing
-------


Thanks,

bhuvnesh chaudhary

Reply via email to