9.1.4 Recovery-unnecessary front-end server

If the unit containing the front-end server terminates abnormally due to an error, the transaction that was being executed from that front-end server may be placed in uncompleted status. Because uncompleted transactions lock the database, some database referencing or updating may be limited. To resolve an uncompleted transaction, normally the front-end server must be recovered from the error and then restarted. If the abnormally terminated front-end server is a recovery-unnecessary front-end server, HiRDB automatically resolves the uncompleted transaction. This enables you to use another front-end or back-end server to restart database update processing. A unit that contains a recovery-unnecessary front-end server is called a recovery-unnecessary front-end server unit. The following figure shows operations based on whether a recovery-unnecessary front-end server is used.

Figure 9-3 Operation based on whether a recovery-unnecessary front-end server is used

[Figure]

Note that HiRDB Non Recover FES is required in order to use recovery-unnecessary front-end servers.

Advantages
You can continue online operation using the remaining front-end servers without having to restart the erroneous front-end server.
Criteria
We recommend that you use recovery-unnecessary front-end servers in a system that requires non-stop operation 24 hours a day.
Relationship with other front-end servers
  • Place a recovery-unnecessary front-end server on an independent unit.
  • A recovery-unnecessary front-end server cannot support a UAP that uses the X/Open XA interface for connection. Specify PDFESHOST and PDSERVICEGRP in the client environment definition and connect such a UAP to a non-recovery-unnecessary front-end server.
  • You can execute the pdrplstart and pdrplstop commands even when the recovery-unnecessary front-end server and recovery-unnecessary front-end server unit are inactive.
The following figure shows an example of a system configuration using a recovery-unnecessary front-end server.

Figure 9-4 Example of a system configuration using a recovery-unnecessary front-end server

[Figure]
  • A recovery-unnecessary front-end server cannot execute import processing using the two-phase commitment method for the synchronization point processing method (enabled when fxa_sqle is specified in the import system definition commitment_method operand) of the target Datareplicator. To use the two-phase commitment method for the synchronization point processing method of the target Datareplicator, you need to place one or more front-end servers other than the recovery-unnecessary front-end server at the target HiRDB. You also need to set the client environment variables PDFESHOST and PDSERVICEGRP at the target Datareplicator to connect to a front-end server other than a recovery-unnecessary front-end server.
Relation with other facilities
  • Recovery-unnecessary front-end servers cannot use the system switchover facility. To use the system switchover facility with the system, you must specify nouse in the pd_ha_unit operand in the unit control information definitions of the recovery-unnecessary front-end server unit.
Organization of this subsection
(1) Setup method
(2) Notes

(1) Setup method

To use a recovery-unnecessary front-end server, specify stls in the -k option of the pdstart operand.

(2) Notes

  1. If the recovery-unnecessary front-end server does not start during HiRDB startup, HiRDB continues startup processing excluding the corresponding unit, regardless of the value specified in the pd_start_level operand. If all front-end servers in use are recovery-unnecessary front-end servers, HiRDB system startup cannot be completed unless at least one front-end server starts successfully.
  2. Recovery-unnecessary front-end servers are independently subject to reduced activation. HiRDB ignores the name of a recovery-unnecessary front-end server in the pd_start_skip_unit operand, if specified.
  3. If a recovery-unnecessary front-end server terminates abnormally, the status information for the front-end server and unit is STOP(A). Unlike the normal STOP(A), this status allows the pdstop command to perform normal termination or planned termination on HiRDB's system manager and other units. If a recovery-unnecessary front-end server is terminated forcibly, the status information for the front-end server and unit is STOP(F). However, this status allows the pdstop command to perform normal termination or planned termination on HiRDB's system manager and other units.
  4. A recovery-unnecessary front-end server always starts the unit normally except in the following case:
    • The unit was terminated by a method other than normal termination, and stls was not specified in the -k option of the pdstart operand during the previous session.
  5. If the status information for a recovery-unnecessary front-end server is STOP(A), HiRDB stops accepting SQL requests from a UAP that has established connection with that recovery-unnecessary front-end server. In this case, the KFPS01820-E message displays c800 as the process termination status of the recovery-unnecessary front-end server. The server process termination status of a back-end server, dictionary server, or other server that contains data on which an operation was attempted in SQL, might also be displayed in the KFPS01820-E message as c900. If the KFPS01820-E message is displayed, use pdstop -z to terminate the unit containing the front-end server whose process termination status is c800, eliminate the cause of the status STOP(A), and then restart.
  6. When a recovery-unnecessary front-end server unit is running but its status information is STOP(A) because of a problem such as a network error, once the server unit has recovered from the error and the system manager is again able to communicate with the unit, the system manager will forcibly stop the unit automatically and then restart it. The system manager will do this in the following circumstances:
    • When the unit monitoring process that monitors the unit's operating status confirms that the recovery-unnecessary front-end server unit whose status information changed to STOP (A) is running, and outputs a KFPS05288-I message.
    • When a unit that has a system manager checks the operating status of all units when it restarts, and confirms that the recovery-unnecessary front-end server unit whose status information changed to STOP (A) is running.
    During automatic restart after a forced stop, check whether a KFPS05110-I message was output by the recovery-unnecessary front-end server unit. If it was, start processing of the recovery-unnecessary front-end server unit terminated normally. If the KFPS05110-I message was not output within the time specified in the pd_system_complete_wait_time operand of the system common definition after the circumstance that triggered the automatic forcible stop and restart, start processing did not terminate normally. Take the following corrective action.
    (1) Use the pdls -d ust command to check the operating status of units that have system managers and units that have a dictionary server.
    If those units are not operating, start them with the pdstart command.
    If they are operating, or if they have started but the KFPS05110-I message has not been output, take the corrective action described in (2).
    (2) Check the operating status of the recovery-unnecessary front-end server unit using the pdls -d ust command, and take the corrective action described below that corresponds to the execution result.
    Operating status of recovery-unnecessary front-end server unit (pdls -d command execution result)Corrective action
    STOP (stopped)Execute the pdstart -q command, and then restart the recovery-unnecessary front-end server unit.
    PAUSE (restart of the process server process is paused)
    1. Check the KFPS00715-E message and any messages previously output to the event log. Remove the cause of the error and then restart the HiRDB service.
    2. Execute the pdstart -q command, and then restart the recovery-unnecessary front-end server unit.
    STARTING
    1. Execute the pdstop -z command, and then forcibly terminate the recovery-unnecessary front-end server unit.
    2. Execute the pdstart -q command, and then restart the recovery-unnecessary front-end server unit.
    ONLINE (operating)
    STOPPING
    Note that when a unit stops before the system manager is able to communicate with that unit, the system manager does not forcibly stop and restart the unit.
  7. For a transaction that is processed at the back-end server or dictionary server branched out from the recovery-unnecessary front-end server, its completion is synchronized with the target back-end server or dictionary server when the transaction is committed. If the target back-end server or dictionary server cannot execute transaction processing at the time of synchronization (because system switchover is underway, the server is stopped, the server is not ready for start, or the server is not ready for termination), processing may be queued with the first transaction status set to READY or COMMIT. If this happens, check the server to determine the cause of the queuing of transaction processing and take appropriate action so that the transaction resolution processing can be resumed.
  8. You may not be able to use the pdcmt, pdrbk, or pdfgt command to forcefully terminate a transaction for which processing was performed by connection to a front-end server that uses the recovery-unnecessary FES facility, regardless of whether the transaction is in first or second status. In such a case, see Forcing determination of uncompleted transactions in the HiRDB Version 9 System Operation Guide for details about how to automatically resolve an uncompleted transaction.