Features
The following features were implemented to help fixing 546891:
- Extend FileSnapshot for packfiles to also use checksum to detect changes
- Optionally wait opening new packfile until it can't be racy anymore. If pack.waitPreventRacyPack = true (default is false) and packfile size > pack.minSizePreventRacyPack (default is 100 MB) wait after a new packfile was written and before it is opened until it cannot be racy anymore.
- Include filekey file attribute (inode on *nix filesystems) when comparing FileSnapshots
- Measure file timestamp resolution used in FileSnapshot
Bug Fixes
- 546891 Fix performance degradation introduced with bug fix for 546190
- Fix FileSnapshot's consideration of file size
- ObjectDirectory: fix closing of obsolete packs
- SystemReader: Respect passed-in parent when no system config is present
Build and Release Engineering
- Enhance fsTick() to use filesystem timer resolution
- Add debug trace to measure time needed to open pack index
- Tune max heap size for tests
- Bazel: Increase severity of most error-prone checks to ERROR
- Enable error-prone checks by default
- Add bazel options to align with those used in Gerrit