# Distribute Data Dynamically across Child Servers

In non-mirror mode, you can configure the DIH to distribute data dynamically across a bank of child servers, based on user-defined limits to the number of documents. This option also allows you to determine when all child servers are full and you require new machines.

NOTE: These options are available in simple non-mirror mode, and in `DistributeOnBatch` and `DistributeSendMinimal` modes. They are not available for `DistributeByReference`, `DistributeByDate`, or `DistributeByFields` modes.

To define a maximum for document indexing into child servers, set the `MaxDocumentCount` parameter for each child IDOL Server, in the `[Server]` section of the IDOL server configuration file. You can also use the `MaxDocumentCountUpper` and `MaxDocumentCountLower` parameters for more control over the document limits. Refer to the IDOL Server Reference for details on these configuration options.

When an IDOL Server reaches the maximum number of documents, it returns `<FULL>` in the `GetStatus` action response. IDOL servers also return a `<FULL_RATIO>` tag, to indicate how close the index is to being full.

Use the following configuration parameters to specify how the DIH deals with full child servers.

`CollectChildFullness` | Whether to send a `GetStatus` action to child servers to determine if they are full. The DIH then also returns its own fullness information in the response to a `GetStatus` action. If the DIH has no information from its child servers (for example, when you set `CollectChildFullness` to `False`), the DIH reports that it is not full.
`GetChildStatusMode` | How often to send `GetStatus` actions to the child servers. If you set `GetChildStatusMode` to `Command`, the DIH sends a `GetStatus` action with every index action. If you set `GetChildStatusMode` to `ASync`, the DIH sends a `GetStatus` action after every `PingInterval`.
`PingInterval` | How often to send `GetStatus` actions, if you set `GetChildStatusMode` to `ASync`.
`RespectChildFullness` | Whether to index into full child servers. If you set this parameter to `True`, the DIH routes actions to child servers that are not full. This implicitly sets `CollectChildFullness` to `True`.
`RespectChildFullness MaxIndexingGroups` | The maximum number of child server groups to use for indexing. When you set this parameter, DIH indexes into only the first `N` non-full child server groups in your configuration. When a child server group becomes full, indexing rolls over to the next non-full child server group.

If all child servers return `<FULL>`, you must either add more machines to your system, or create space on the existing machines.

For more information about these configuration parameters, refer to the DIH Reference.

Related Topics

- Use Chained Distributed Index Handler Servers

_FT_HTML5_bannerTitle.htm