# MirrorMode

The `MirrorMode` parameter determines whether to run the DIH in mirror mode or non-mirror mode.

Set `MirrorMode` to `True` to run the DIH in mirror mode.

In mirror mode the DIH distributes all the index data it receives to all the IDOL servers that it is connected to. The IDOL servers are exact copies of each other and must all be configured in the same way.

Run the DIH in mirror mode to ensure uninterrupted service if one of the IDOL servers fails. While one IDOL server is inoperable, data continues to be indexed into its identical copies which at the same time are still available to return data for queries.

The DIH periodically checks if all the IDOL servers that it connects to are operating. If an IDOL server breaks down, the DIH queues the data that this IDOL server normally receives, and after the IDOL server starts operating again, it indexes the queued data into it.

Set `MirrorMode` to `False` to run the DIH in non-mirror mode.

In simple non-mirror mode the DIH distributes the index data it receives evenly across the IDOL servers that it is connected to. For example, if the DIH is connected to four IDOL servers, it indexes approximately one quarter of the data into each one of the IDOL servers (individual documents are not split up).

Run the DIH in non-mirror mode if the amount of data that you want to index is too large for a single IDOL server. If the IDOL servers that the DIH indexes into are situated on different machines, this option can also improve the indexing performance.

In non-mirror mode, you can also apply different distribution modes, such as DistributeByDate, DistributeByFields, DistributeByReference, DistributeOnBatch, and DistributeSendMinimal. These modes allow you to control how DIH distributes the content between its child servers. For more information about these distribution modes, refer to the Distributed Index Handler Administration Guide and IDOL Expert.

NOTE: You can use these distribution modes only when `MirrorMode` is set to `False`. DIH will not start if you attempt to configure these distribution modes when `MirrorMode` is set to `True`.

The DIH periodically checks if all the IDOL servers that it connects to are operating. How it behaves when a server goes offline depends on your distribution mode:

- In a simple distribution mode (simple non-mirror mode, DistributeOnBatch, and DistributeSendMinimal, including RespectChildFullness), DIH treats any offline child server as UpdateOnly. While the child server is down, DIH queues any updates to existing documents, but distributes new content between the remaining child servers. This behavior ensures that all content is indexed in the available servers, but that document updates and deduplication occurs in the offline child server when it comes back online.

  NOTE: If you use child server groups to set up mirrors in a non-mirror mode structure, DIH queues the data to any mirrored offline child server, unless all child servers in a mirror group are offline.

- In advanced distribution modes (DistributeByDate, DistributeByFields, and DistributeByReference), DIH queues the data that the offline IDOL server normally receives, and after the IDOL server starts operating again, it indexes the queued data into it.

NOTE: When you change the `MirrorMode` configuration option to enable or disable mirror mode, you must also delete the `Main/` subdirectory inside the DIH installation directory. This additional action prevents accidentally switching between mirror and non-mirror mode, which can cause a loss of data. If you do not delete the `Main/` directory when changing this option, DIH does not start.

Type: | Boolean
Default: | False
Required: | No
Configuration Section: | Server
Example: | `MirrorMode=False`
See Also: |

_FT_HTML5_bannerTitle.htm