Hi, Le 17/06/2020 à 22:04, Junio C Hamano a écrit : > SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: > >> On Mon, Jun 15, 2020 at 11:50:20PM +0200, SZEDER Gábor wrote: >>> On Mon, Jun 15, 2020 at 05:27:15PM +0200, SZEDER Gábor wrote: >>>> - Should we even allow 'splitIndex.sharedIndexExpire=now'? > > Good analysis. The most conservative might end up to be to disable > splitindex altogether but perhaps we can first set a reasonable > minimum to the expiration to say 10min? > I tried to understand what write_locked_index() and its callees does, and I think there is an issue regarding how split-index files are handled: 1. The new "main" index is written in a temporary file. This temporary file is either renamed to "index" if the COMMIT_LOCK flag is set, or left as-is (cf. do_write_locked_index()). 2. The split-index files are removed if they are too old, without checking if the COMMIT_LOCK flag is set (cf. write_shared_index()). This could lead to a situation where a split-index file is removed because it is deemed too old, but the main index is left as-is, still pointing to this file. I am afraid that this can be an issue, even when `splitIndex.sharedIndexExpire' is set to a "sane" value (which could obviously be exacerbated by `now'). Alban