Skip to content

Switch Inmemory driver to parallel walk

Hayley Swimelar requested to merge inmemory-parallel-walk into walkfallbackparallel

This MR introduces switches the inmemory driver's walk function to use walkfallbackparallel.

Changes were also needed to storage/catalog.go's repositories method as the nature of parallelized walking violates certain assumptions that this function relied on. Namely, that results would arrive in a consistent, lexicographically sorted order every time.

With these changes, we can expect reduced efficiency to paginated requests to the /v2/_catalog endpoint. The GitLab app does not presently use this endpoint.

With the inmemory storage driver using a parallel walk function, we will be able to more systematically confirm that all WalkFns provided to Walk are indeed thread-safe. Which will increase confidence for merging in !23 (merged)

This MR depends on !37 (closed)

Additionally, this MR closes #5 (closed)

Edited by Hayley Swimelar

Merge request reports