High Availability Installation

The 3DSpace Index High Availability (HA) installation mode builds a configuration spread across multiple machines, each of which contains the full index. This allows the environment to continue functioning if one of the machines goes down.

This page discusses:

Workflow to Deploy

The High Availability installation requires the following steps. For more information, see Installing 3DSpace Index.

  1. Install the main server using the High Availability Master Server installation type. See Install 3DSpace Index.
  2. Start the main server. See Complete Post-Installation Tasks.
  3. Make sure that the AdvancedSearchXL service is running on the main server before beginning the secondary server installation.
  4. Install the secondary server using the High Availability Slave Server installation type. Install 3DSpace Index.
  5. Start the secondary server. See Complete Post-Installation Tasks.

3DSpace Index High Availability Overview



In 3DSpace Index HA deployments, the nodes work in main/main mode, and not in a standard main/secondary mode.

The only way that these nodes are main/secondary conceptually is related to how the 3DSpace Index pushes configuration updates. Configuration updates from MQL are pushed to the "main" and then the "main" pushes them to the "secondary" server.

3DSpace Index High Availability Behavior in Details

With the HA option, the resulting configuration has the following structure.

In this configuration, MQL pushes the index data to both main and secondary indexing servers. MQL detects if either server is down and only pushes changes to the server that is up. Once the "downed" server recovers, the MQL detects that the servers have different index content and performs a separate crawl to index the missing data on the previously "downed" server.

At run time, the Search API code that runs in the Main Collaboration Server (MCS) determines which CloudView server is most up to date. It sends the query request to that server. To determine which server is most up to date, a number called a "checkpoint" is stored at indexing time. Then at search time, the MCS gets the checkpoint value of each server, and the server with the highest checkpoint number is the server that is used. If both servers are equally up to date, a random selection sends the requests across both servers.

At partial-index time, the build code asks each indexing server for its checkpoint. If they are not equal, the servers do not have equal index content and one server is behind the other. This can happen if a server goes down or is rebooted. In this case, the MQL process performs two different queries to the database to calculate the objects to index. The MQL process pushes these objects independently to each indexing server to update them with the correct data. At the end of this update, the 3DSpace Index resynchronizes both indexing servers, so the next partial update will detect that both servers have equal content.

The following schema represents high availability made with a File Collaboration Server (FCS). In that case, it is the FCS that handles file conversion, not the Consolidation Server (which only receives metadata).

Configure High Availability on Multiple Servers

You can define multiple servers to support HA, by editing the config.xml file as follows:

<SERVER host="HOST1" baseport="PORT" buildgroup="sxibg0" searchtarget="sxist0"/>
<SERVER host="HOST2" baseport="PORT" buildgroup="sxibg1" searchtarget="sxist1"/>

Important: Specify the buildgroup and the searchtarget for each server.

To ensure that the hosts align with the buildgroup, verify the administration page of the main host.