Open
Description
zot version
v2.1.2
Describe the bug
We've identified a significant performance bottleneck in the image store layer due to a global lock. This lock appears to be causing excessive contention and dramatically impacting overall system performance. Especially during GC period
To reproduce
- Enable GC and image retention
- Create a lot of ephemeral image
- Observe any request took 10s latency
Expected behavior
Single lock per repo
Screenshots
No response
Additional context
Code reference: https://github.com/project-zot/zot/blob/main/pkg/storage/imagestore/imagestore.go#L45
Image store use a single mutex object and it is called a lot