With commits 82b1af31 and fef78212, the reuse condition of existing PackFiles in ObjectDirectory.scanPacksImpl has been changed
Due to the racy-clean handling in FileSnapshot.isModified, this results in many false-positive modification detections immediately after creating or modifying a PackFile and thus in redundant re-creation of PackFiles. I'm experiencing our unit tests to be ~5x slower with this change.
Yes, that's bug 546891: https://bugs.eclipse.org/bugs/show_bug.cgi?id=546891
We're trying to fix it. See the chain of changes at https://git.eclipse.org/r/#/c/141843/
Also, the oldPack may now be removed from "forReuse" and thus not properly closed anymore further down the loop.
That bit got missed. Thanks for pointing it out.