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.
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.