-
Type: Technical Debt
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
In WT-6645, we agreed that WiredTiger should always report to the user/client when it sees an out-of-space (ENOSPC) error. We now need tests to ensure that we are doing this consistently and correctly.
Here is the requirement:
ENOSPC errors should always be reported.
- If an ENOSPC error affects the correctness of an API operation (e.g., causing an call to fail or WT to panic), the error should be reported to the application using existing mechanisms, such as error return codes or a handler for WT_PANIC.
- If an ENOSPC error does not affect correctness (e.g., a failure during preallocation of a log file), it should, at a minimum, be reported as a log message.
WT-6646 discusses a couple of possible approaches to injecting ENOSPC errors. We will need to combine fault injection with a test program (or programs) that let us verify that the correct thing is happening in a large number of scenarios.
It would be appealing to do this through test/format, because that would let us inject errors in a wide range of call-paths and configurations. I'm not sure how much surgery would be required to teach format to perform special handling/checking for errors.
- related to
-
WT-6645 Ensure correct WT behavior when running out of storage space
- Closed