Skip to content

Commit 3909d85

Browse files
authored
Mention IndexFormatToo{Old,New}Exception as corruption (#104204) (#104207)
If a file header is corrupted then the exception may be reported as a bad index format version rather than a checksum mismatch. This commit adjusts the docs to cover this case.
1 parent fb3d545 commit 3909d85

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

docs/reference/troubleshooting/corruption-issues.asciidoc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,13 @@ well-tested, so you can be very confident that a checksum mismatch really does
3838
indicate that the data read from disk is different from the data that {es}
3939
previously wrote.
4040

41+
If a file header is corrupted then it's possible that {es} might not be able
42+
to work out how to even start reading the file which can lead to an exception
43+
such as:
44+
45+
- `org.apache.lucene.index.IndexFormatTooOldException`
46+
- `org.apache.lucene.index.IndexFormatTooNewException`
47+
4148
It is also possible that {es} reports a corruption if a file it needs is
4249
entirely missing, with an exception such as:
4350

@@ -50,8 +57,7 @@ system previously confirmed to {es} that this file was durably synced to disk.
5057
On Linux this means that the `fsync()` system call returned successfully. {es}
5158
sometimes reports that an index is corrupt because a file needed for recovery
5259
is missing, or it exists but has been truncated or is missing its footer. This
53-
indicates that your storage system acknowledges durable writes incorrectly or
54-
that some external process has modified the data {es} previously wrote to disk.
60+
may indicate that your storage system acknowledges durable writes incorrectly.
5561

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

0 commit comments

Comments
 (0)