I want to learn more about the remote recovery process in ES 5.x. Through reading code, the recovery process is as following: phase1(index)->phase2(translog)->finalizeRecovery. As far as I know, operations is still allowed when doing phase2. I wonder that how those operations catch up?
Those operations are sent to the recovering replica too. There's a careful dance done during recovery to ensure that the recovering replica does not miss any operations.
At this time there is not, the code is the one true source. We might write down a formally-verified model of this component of the system someday, but have much higher priority problems to solve right now.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.