mirror of
https://github.com/containerd/containerd.git
synced 2026-11-06 05:17:02 +00:00
A proxy snapshotter is a separate process, and none of its 10 gRPC methods carry a deadline unless the caller already set one. Snapshot GC calls Walk and Remove under the snapshotter-level lock, so one wedged call blocks every later mutating call on that snapshotter. Add default_timeout to the proxy_plugins config section. When set, each proxy snapshotter call gets that deadline if the incoming context has none; a context that already carries its own deadline is left alone. Empty or unset keeps today's behavior, so nothing changes for existing configs. NewSnapshotter keeps its signature and wraps the new NewSnapshotterWithOpts, so existing callers of the exported constructor are unaffected. Assisted-by: Claude Code Signed-off-by: Nahum Litvin <nahuml@wix.com>