[Proposal] Support single RPC operations per Pod
- Dominant language
- Go
- Stars
- 406
- Forks
- 102
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 8
Description
Currently, the NRI plugin relies on ttrpc for communication for containerd <-> plugin(s) which imposes a single RPC at a time via multiple `sync.Mutex` locks in `containerd` and `pkd/adaptation`. A [naive attempt was made](https://github.com/containerd/containerd/pull/11671) to remove the `sync.Mutex` in containerd thinking it was only to protect access to the `map` structure but it was highlighted it also was there for guaranteeing 1 RPC at a time with NRI.
What we're observing after onboarding more and more workloads to our new NRI based dataplane is the NRI Lock is causing higher than desired contention with Pod operations.
NRI Lock P99
From the above, it's clear the current limitation is going to be an issue for the team trying to manage Pod start SLIs. I can imagine it's not a straightforward change but we'd love to start the conversation.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.