Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-6987

Create test(s) to verify that ENOSPC errors are always reported

    • Type: Icon: Technical Debt Technical Debt
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      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.

      1. 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.
      2. 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.  

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            keith.smith@mongodb.com Keith Smith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: