Skip to content

Commit

Permalink
Mention missing files in corruption troubleshooting docs (#103962) (#…
Browse files Browse the repository at this point in the history
…103968)

These docs talk about files whose contents are unexpected, but we should
also mention that files which are completely missing are also going to
be due to infrastructural problems.
  • Loading branch information
DaveCTurner committed Jan 5, 2024
1 parent b979928 commit 9af9d6f
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions docs/reference/troubleshooting/corruption-issues.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,20 @@ well-tested, so you can be very confident that a checksum mismatch really does
indicate that the data read from disk is different from the data that {es}
previously wrote.

It is also possible that {es} reports a corruption if a file it needs is
entirely missing, with an exception such as:

- `java.io.FileNotFoundException`
- `java.nio.file.NoSuchFileException`

The files that make up a Lucene index are written in full before they are used.
If a file is needed to recover an index after a restart then your storage
system previously confirmed to {es} that this file was durably synced to disk.
On Linux this means that the `fsync()` system call returned successfully. {es}
sometimes reports that an index is corrupt because a file needed for recovery
has been truncated or is missing its footer. This indicates that your storage
system acknowledges durable writes incorrectly.
is missing, or it exists but has been truncated or is missing its footer. This
indicates that your storage system acknowledges durable writes incorrectly or
that some external process has modified the data {es} previously wrote to disk.

There are many possible explanations for {es} detecting corruption in your
cluster. Databases like {es} generate a challenging I/O workload that may find
Expand Down

0 comments on commit 9af9d6f

Please sign in to comment.