hashicorp / hashicorp/nomad

context/cancel mechanism for RPC

Open
#7,119 4 comments 0 reactions 0 assignees View on GitHub
stage/needs-discussion type/enhancement
Dominant language
Go
Stars
17k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
105

Description

In the work being done for CSI (in particular #6903) we've found that there are RPC calls that can block for very long periods of time, which in busy clusters with lots of volumes could lead to resource pressure on goroutines. It might be helpful to have a way to pass a cancellation context to RPC calls so they can be timed out.

We're not considering this blocking for CSI and it's probably not exclusive to CSI, so deserves a little more consideration than something we'd stick into the CSI Controller RPCs.

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the RPC work described in #6903 and identify where long-running calls are defined and invoked; the issue names no files or tests. Compare the CSI-specific context with a broader RPC mechanism, and define done as an agreed approach for passing cancellation and timing out calls beyond the CSI Controller RPCs.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.