Skip to content

repository: Always use walk-based implementation for RepositorySize

In ac600d02 (repository: Refactor RepositorySize to not rely on du(1), 2023-03-16), we have refactored the RepositorySize RPC to stop shelling out to du(1) in favor of a new filepath.Walk()-based implementation. We have since rolled out this change to production and fixed an initial race condition where the new implementation failed when directories are deleted concurrently.

Since that bug has been fixed things are going smooth with the new implementation. As expected, the median and P50 dropped given that the new implementation avoids the overhead of having to spawn a separate process. On the other hand, P99 increased slightly as expected as the implementation of du(1) is more efficient. In practice, this tradeoff is acceptable and even beneficial as the new code both avoids resource contention around the command spawn queue and is simpler to extend.

Remove the feature flag and unconditionally enable the new implementation.

Closes #4976 (closed).

Merge request reports