On 20/02/17 15:27, Alex Parvulescu wrote:
What about walking the revision history in smaller chunks? Given a repository history of revisions: r0, r1, ...., r100, the indexer would now diff [r0, r100] which can be resource intensive. What if it diffs by a window of size 10: [r0, r9] (mark), [r10, r19] (mark) and so on. This would not give out a 'continuable' session, but it has resilience, and optionally it could already use the intermediary index to serve queries instead of full traversals.
This may work for some cases, but not on a repository that was already running for a long time. Instead of r0, r1, ...., r100, you'd have r1000000, r1000001, ..., r1000100. That is, r1 to r999999 was garbage collected. Assuming r0 is the empty repository, even the first diff [r0, r1000000] is already big.
Regards Marcel
