Index batches are processed during a dispatcher processing run as part of the preparation phase for submitting text to an index server. If a worker thread fails to complete a batch within the allowed time, the dispatcher reassigns the batch to another worker thread. This time limit ensures that any abnormal termination of a worker thread does not prevent a batch from being processed.
Maximum lease interval also specifies the maximum time for the dispatcher wait interval: the interval between the end of a dispatcher processing run and the beginning of the next run. The minimum time for the dispatcher wait interval is specified by the Minimum wait interval property.
Previous run activity | Wait interval |
---|---|
Work detected and processed | If the dispatcher performs work in a run, there is no subsequent wait interval. (The dispatcher immediately begins the next run.) |
No available work detected | If the dispatcher performs no work in a run, initially the duration of
the subsequent wait interval is the minimum interval. Thereafter, if the state of no work
continues, the duration of the subsequent wait interval is the shorter of the following
intervals:
|
Dispatcher activity (duration) | Type of activity |
---|---|
Idle (Zero seconds) |
Wait interval |
No available work detected | Processing run |
Idle (35 seconds: Minimum wait interval) |
Wait interval |
No available work detected | Processing run |
Idle (70 seconds: Double the previous wait interval) |
Wait interval |
No available work detected | Processing run |
Idle (120 seconds: Maximum wait interval) |
Wait interval |
No available work detected | Processing run |
Idle (120 seconds: Maximum wait interval) |
Wait interval |
Incoming work detected and processed | Processing run |
Idle (Zero seconds) |
Wait interval |