ceph / ceph/ceph-nvmeof

We neeed to deal with SPDK EBUSY errors

Open
#447 0 comments 0 reactions 1 assignee Claimed by @gbregman View on GitHub
Dominant language
Python
Stars
132
Forks
69
Avg merge
1d 7h
Merged PRs (30d)
47

Description

In some cases we can get an error from SPDK which says the subsystem is busy and we should retry later. Right now we don't do anything special with such errors so we'll just return an error status to the caller. While this is not a big deal with the CLI as the user can just retry the command himself, it's a problem during an update. We should identify these SPDK error statuses and do the the retry automatically. We should get the sleep interval between retries and the max number of retries from the configuration.

When we get an EBUSY status from SPDK it uses an error code of ```SPDK_JSONRPC_ERROR_INTERNAL_ERROR```, which is set to ```-32603```. As we get this error code in other cases as well we should examine the error string as well. In most cases the message is "subsystem busy, retry later" except for the case of subsystem delete in which the error message is "Subsystem currently in another state change try again later".

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.