Restore Child Servers in Consistent Hashing Mode

In consistent hashing mode when you have configured replicas, you can restore a child server that becomes permanently unavailable (for example because of a hardware failure). DIH can rebuild the index of the lost child server from the replicas stored in other child servers in your system.

For information about how to configure replicas, see Configure Consistent Hashing.

To restore a child server that was lost, you must first update the DIH with information about the replacement, by using the EngineManagement action. Then you can use the DREREDISTRIBUTE index action to rebuild the child server.

Change the Host and Port of a Child Server

When a child server becomes permanently inaccessible, you can start a new child server in its place. You can modify the DIH to update the host and port for a particular child server ID, for example to replace a child server that is on an inaccessible host.

To replace an inaccessible child server with a new host and port

  • Send an EngineManagement action to the DIH ACI port, with EngineAction set to Edit, and the Host and Port parameters set to the new host and port. For example:

    action=EngineManagement&EngineAction=Edit&Host=mynewhost&Port=9000

    TIP: By default, when you modify a child server in this way, the DIH pings the specified host and port. The Edit action fails if the child server is not running. Set Disabled to True to skip this step and add the child server in the offline state.

For more information about EngineManagement, see Add, Change, and Remove Child Servers in Consistent Hashing Mode and Add, Update, and Remove Child Servers Dynamically.

Rebuild a Child Server

When you have a working child server with the existing server ID, you can use the DREREDISTRIBUTE index action to rebuild the index.

To rebuild a child server from replicas

  • Send the DREREDISTRIBUTE index action to the DIH index port, with the RebuildEngine parameter set to the ID of the child server that you want to rebuild. This index action restores the index of the child server from replicas in other child servers.

    http://12.3.4.56:9071/DREREDISTRIBUTE?RebuildEngine=3

NOTE: If you have more than one replicas, you can rebuild multiple child servers, by setting RebuildEngine to a comma-separate list of IDs. These child servers can be from different engine groups, up to the number of replicas (for example, if you have three replicas, you can rebuild child servers from up to three engine groups).

However, if you use mirrored engine groups, it might be easier to rebuild a child server from a mirror in the same engine group, rather than using DREREDISTRIBUTE.