Philip Martin <phi...@codematters.co.uk> writes: > Evgeny Kotkov <evgeny.kot...@visualsvn.com> writes: > >> Philip Martin <phi...@codematters.co.uk> writes: >> >>> That works as expected, but vary the cache size of the load process and >>> it fails. The load succeeds with -M64 and smaller but fails with -M65 >>> and larger: >> >> [...] >> >> Maybe this behavior could be related to the cache size threshold in svnadmin >> that enables the block read feature in fsfs (currently set to 64 MB, as per >> svnadmin.c:BLOCK_READ_CACHE_THRESHOLD). > > Sounds plausible.
It causes different code to run, in particular the window cache is enabled. I'm not familiar with this code but the problem seems to be in cached_data.c:parse_raw_window() where the svndiff version is hard-coded to 1 in the call to svn_txdelta_read_svndiff_window. Changing that to 2 allows the regression test to pass, the question is where should the correct value be obtained? -- Philip