On 1/2/2018 8:02 PM, S G wrote:
If the above is incorrect, can someone please point that out?
Assuming I have a correct understanding of how the different replica types work, I have some small clarifications. If my understanding is incorrect, I hope somebody will point out my errors.
TLOG is leader eligible because it keeps transaction logs from ongoing indexing, although it does not perform that indexing on its own index unless it becomes the leader. Transaction logs are necessary for operation as leader.
PULL does not keep transaction logs, which is why it is not leader eligible. It only copies the index data.
Either TLOG or PULL would do a full index copy if the local index is suddenly very different from the leader. This could happen in situations where you have NRT replicas and the leader changes -- NRT replicas will typically have very different files in their on-disk indexes even though they contain the same documents. When the leader changes to a different NRT replica, TLOG/PULL replicas will suddenly find that they have a very different list of index files, so they will fetch the entire index.
Thanks, Shawn