Skip to content
This repository has been archived by the owner on Jul 25, 2022. It is now read-only.

Add in_flight handle to active sessions #2001

Merged
merged 2 commits into from
Jun 23, 2020
Merged

Add in_flight handle to active sessions #2001

merged 2 commits into from
Jun 23, 2020

Conversation

jgrund
Copy link
Member

@jgrund jgrund commented Jun 23, 2020

If a daemon plugin executes for longer than a poll interval it will continue running in the background. This can cause buffering of resources in the case of a misbehaving call.

We've seen this when lnetctl export hangs due to large numbers of peers.

We can add an in_flight handle to active sessions.

If we hit the deadline while a plugin is in a poll, we can drop the pending future and poll the plugin again. This will ensure we don't buffer misbehaving resources when a deadline elapses.

Fixes #1998.

Signed-off-by: Joe Grund jgrund@whamcloud.io


This change is Reviewable

If a daemon plugin executes for longer than a poll interval it will continue running in the background. This can cause buffering of resources in the case of a misbehaving call.

We've seen this when `lnetctl export` hangs due to large numbers of peers.

We can add a in_flight handle to active sessions.

If we hit the deadline while a plugin is in a poll, we can drop the pending future and poll the plugin again. This will ensure we don't buffer misbehaving resources when a deadline elapses.

Fixes #1998.

Signed-off-by: Joe Grund <jgrund@whamcloud.io>
@jgrund jgrund added the bug label Jun 23, 2020
@jgrund jgrund self-assigned this Jun 23, 2020
@jgrund jgrund requested a review from a team June 23, 2020 14:32
johnsonw
johnsonw previously approved these changes Jun 23, 2020
@jgrund jgrund requested a review from a team June 23, 2020 14:40
Signed-off-by: Joe Grund <jgrund@whamcloud.io>
@jgrund jgrund merged commit 3be5bca into master Jun 23, 2020
@jgrund jgrund deleted the jgrund/issue1998 branch June 23, 2020 18:56
jgrund added a commit that referenced this pull request Jun 23, 2020
* Add in_flight handle to active sessions

If a daemon plugin executes for longer than a poll interval it will continue running in the background. This can cause buffering of resources in the case of a misbehaving call.

We've seen this when `lnetctl export` hangs due to large numbers of peers.

We can add a in_flight handle to active sessions.

If we hit the deadline while a plugin is in a poll, we can drop the pending future and poll the plugin again. This will ensure we don't buffer misbehaving resources when a deadline elapses.

Fixes #1998.

Signed-off-by: Joe Grund <jgrund@whamcloud.io>

* fmt fixups

Signed-off-by: Joe Grund <jgrund@whamcloud.io>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
3 participants