PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Connecting to the coordinator
  • Starting the cluster
  • Automatic start at boot
  • Manual startup after a forced stop
  • Stopping the cluster
  • Automatic stop when switching the servers off
  • Stopping the cluster manually
  • Failure of one or more nodes
  • Resynchronizing the cluster
  • Correcting the potential problems signaled by the HFSQL Control Center
  • No source for synchronization
  • No IP address is associated with the DNS name
  • A node is missing in the DNS record of the cluster
  • A DNS entry does not correspond to a node
  • The cluster is associated with no DNS name
  • Managing the HFSQL databases
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
The management of a HyperFileSQL cluster is mainly performed by using the HFSQL Control Center.
The most common management operations are as follows:
Note: The addition and the deletion of nodes to/from a HFSQL Cluster are described in Installing and configuring HFSQL Cluster.
Caution:
A specific setup pack is required to use HFSQL Cluster.
This pack is available at no extra cost for any person owning a commercial license in version 23.
To get this pack, send your request via a message to the Free Technical Support (select "?.. Request to the technical support" in the editor of WINDEV, WEBDEV or WINDEV Mobile). To get this pack, send your request via a message to the Free Technical Support from WINDEV, WEBDEV or WINDEV Mobile: on the "Home" pane, in the "Online help" group, expand "Help" and select "Request to the technical support".
Caution:
A specific setup pack is required to use HFSQL Cluster.
This pack can be downloaded at no extra cost on PC SOFT site, in the download section of modules common to version 23.
Note: From version 19, HFSQL is the new name of HyperFileSQL.
Connecting to the coordinator
To connect to the coordinator via the HFSQL Control Center:
  1. Start the HFSQL Control Center (if not already done).
  2. Click the button used to find the server or the cluster:
    Connection to a HFSQL server or cluster
  3. In the "Connection to a HFSQL cluster" section, enter:
    • the address of the coordinator.
    • the password for cluster management (optional). This password was chosen when installing the cluster.
      • This password must be specified to manage the cluster nodes.
      • This password is not required to manage the cluster databases.
        Connection to a HFSQL cluster
Note: The "Connect to this HFSQL cluster" button must be used to manage databases. The cluster databases are managed like the HFSQL Client/Server databases.
To connect to the coordinator via the HFSQL Control Center:
  1. Start the HFSQL Control Center.
  2. In the home window, click "Connect to a HFSQL cluster".
  3. In the "New connection" section, enter:
    • the address of the coordinator.
    • the password for cluster management (optional). This password was chosen when installing the cluster.
      • This password must be specified to manage the cluster nodes.
      • This password is not required to manage the cluster databases.
  4. Validate. The cluster characteristics are displayed in the HFSQL Control Center.
Notes:
  • The option "Connecter to a HFSQL cluster" must be used to manage the databases. The cluster databases are managed like the HFSQL Client/Server databases.
  • If the HFSQL Control Center is already started, you have the ability to use the drop-down menu to connect to a cluster:
Starting the cluster

Automatic start at boot

The HFSQL cluster is automatically started when booting the different servers included in the cluster.
The cluster starts in the following order:
  1. Starting the service of the coordinator (ClusterManager service).
  2. Starting the HFSQL servers of different nodes.
  3. Connecting the nodes to the coordinator.
  4. Checking the synchronization of all the databases.
    In case of desynchronization, a synchronization is started on the nodes whose database is not updated. If no node owns an updated database for sure (if the cluster was stopped by a general power failure for example), you will have to manually choose the node that will be used as data source for the synchronization. To find out details of this procedure, see Resynchronizing the cluster.
  5. The cluster is available to process the connection requests from the client applications.

Manual startup after a forced stop

If the cluster was voluntarily stopped by using the HFSQL Control Center or via HClusterStop, it can be restarted via the "Start" button of the HFSQL Control Center or via HClusterStart.
Stopping the cluster

Automatic stop when switching the servers off

When a server hosting a node of a HFSQL cluster is switch down, the node is automatically excluded from the cluster. Its database will be automatically resynchronized when the server is restarted.
Caution: Stopping the ClusterManager service does not stop the cluster.

Stopping the cluster manually

The cluster can be stopped manually via the HFSQL Control Center by using the "Stop" button found in the management interface.
It can be restarted as indicated in Starting the cluster
Failure of one or more nodes
Several cases may occur when one or more nodes of a HFSQL Cluster fail (hardware failure, failure of the operating system or network problems).
The table below presents the different cases that can occur for a cluster of N nodes among which n are enabled:
Number of nodes
enabled (= n)
Effect
n > N/2More than half the nodes are enabled: the cluster operates as usual.
n = N/2Exactly half of the nodes are enabled: the cluster operates normally if the coordinator is enabled, otherwise the cluster stops.
n < N/2Less than half the nodes are enabled: the cluster stops.
This operating rule prevents the cluster from being divided into two sections ("split-brain" phenomena) further to a network failure and that each section keeps on operating independently and desynchronizes the databases. Only the section containing more than half of the nodes will remain active. If the cluster is divided into two segments of equal size, the presence of the coordinator is used to decide between the groups.
Resynchronizing the cluster
A synchronization of the databases is performed when a cluster is started or when a node is added.
Two cases may occur:
  • The cluster is started and the active nodes have a synchronous database.
    The new node is automatically synchronized with the current status of the rest of the cluster. There is no action to perform. As soon as the new node is synchronized, it joins the cluster and it processes the connection requests from the client applications.
  • The cluster is stopped and no node owns for sure the most updated version of the database.
    In most cases, this case occurs after a general failure (power failure, network down, etc.). In this case, the cluster cannot be automatically restarted. The HFSQL Control Center must be used to select one of the nodes as source for synchronization. Its database will be used as reference and the other nodes will be synchronized according to it.
    Note: The reference node must be chosen with great care. Indeed, the databases of the other nodes will be overwritten by the database of the reference node.
Versions 21 and later
Note: During the synchronization, a progress bar used to follow the synchronization progress is displayed in the HFSQL Control Center (in the table for managing nodes, "Status" column for example). You also have the ability to follow the synchronization progress via HClusterSynchronizationInfo. HClusterSynchronizationErrorInfo is used to find out the last synchronization error.
New in version 21
Note: During the synchronization, a progress bar used to follow the synchronization progress is displayed in the HFSQL Control Center (in the table for managing nodes, "Status" column for example). You also have the ability to follow the synchronization progress via HClusterSynchronizationInfo. HClusterSynchronizationErrorInfo is used to find out the last synchronization error.
Note: During the synchronization, a progress bar used to follow the synchronization progress is displayed in the HFSQL Control Center (in the table for managing nodes, "Status" column for example). You also have the ability to follow the synchronization progress via HClusterSynchronizationInfo. HClusterSynchronizationErrorInfo is used to find out the last synchronization error.
Correcting the potential problems signaled by the HFSQL Control Center
The HFSQL Control Center can signal a number of problems regarding the status of a HFSQL cluster and it can automatically correct some of them. The list of potential problems is as follows:

No source for synchronization

ProblemWaiting for a source for synchronization.
ReasonNone of the cluster nodes includes a database for an automatic synchronization.
ResolutionChoose a reference node for the synchronization.

No IP address is associated with the DNS name

ProblemNo IP address is associated with the DNS name (<DSN Name>) of the cluster (<Cluster Name>).
ReasonNo DNS entry corresponds to the DNS name chosen for the cluster. The client computers cannot connect to the databases of the cluster.
ResolutionAdd a DNS entry for the IP of each cluster node corresponding to the DNS name chosen for the cluster. This operation can be automatically performed from the HFSQL Control Center.

A node is missing in the DNS record of the cluster

ProblemA cluster node is installed on the computer (<Computer Name>) while its IP address (<IP Address>) is not associated with the DNS name of the cluster (<DNS Name>).
ReasonOne of the cluster nodes is not referenced in the DNS under the DNS name chosen for the cluster. this node will never by used by the client applications.
ResolutionAdd a DNS entry for the IP of the node corresponding to the DNS name chosen for the cluster. This operation can be automatically performed from the HFSQL Control Center.

A DNS entry does not correspond to a node

ProblemThe <Computer Name> computer (IP address: <IP Address>) is associated with the DNS name of the cluster (<DNS Name>) while it does not correspond to a node of this cluster.
ReasonThe DNS record of the cluster name contains an IP address that does not correspond to a node. If a client application tries to connect to this address, it will receive no response and the connection time will be longer.
ResolutionDelete the extra DNS entry. This operation can be automatically performed from the HFSQL Control Center.

The cluster is associated with no DNS name

ProblemNo DNS name was entered for the cluster.
ReasonThe client applications cannot connect to the cluster.
ResolutionChoose a DNS name for the cluster and associate it with all the IPs of the different nodes. This operation can be automatically performed from the HFSQL Control Center.
Managing the HFSQL databases
The method for managing the databases of a HFSQL cluster is the same as the method for managing a stand-alone HFSQL server. You must connect to the database from the HFSQL Control Center.
If the connection to the database from the HFSQL Control Center is established by using the DNS name of the cluster, this connection uses any node of the cluster (according to the algorithm for load balancing).
If the connection to the database is established by explicitly using the name of a node (by ignoring the algorithm for load balancing), it is this database of this node that is viewed. In this case, you have the ability to view the list of users connected to the node.
Notes
  • Regardless of the connection method used, the data viewed is strictly the same because of the replication mechanism of the cluster.
  • If the cluster is waiting for a synchronization, you cannot connect to the database.
  • If a node is currently resynchronized, you cannot connect to the database of this node.
Minimum required version
  • Version 15
This page is also available for…
Comments
Click [Add] to post a comment