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

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

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None

      Description

      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.  

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-storage-engines Backlog - Storage Engines Team
              Reporter:
              keith.smith Keith Smith
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: