Checksum docvalues files when load store metadata#30851
Closed
dnhatn wants to merge 1 commit intoelastic:ccrfrom
Closed
Checksum docvalues files when load store metadata#30851dnhatn wants to merge 1 commit intoelastic:ccrfrom
dnhatn wants to merge 1 commit intoelastic:ccrfrom
Conversation
In CorruptedFileIT, we corrupt a random segment file then check that the corrupting store is marked as corrupted. However, if a DocValues file is flipped, we will trip an assertion in a FixedBitSet when opening a SoftDeletesDirectoryReaderWrapper. This commit makes sure that we verify the DocValues files when loading the metadata from a store. Another option is to limit the set of corrupting files in the tests.
Collaborator
|
Pinging @elastic/es-distributed |
Member
Author
|
The stack trace: |
Contributor
|
I don't think we can force the checksum on the metadata retrieval this is just too costly. We should try to find a better way of doing this. |
Contributor
|
I wonder why this is an assertion and not a hard IndexOutOfBounds exception. Also, it feels like we should pre check this higher up and throw an Index corrupted exception if things don't add up? |
Contributor
|
@bleskes we try to make this not needed on the lucene end. stay tuned |
dnhatn
added a commit
to dnhatn/elasticsearch
that referenced
this pull request
Jun 4, 2018
This snapshot includes: - LUCENE-8341: Record soft deletes in SegmentCommitInfo - LUCENE-8335: Enforce soft-deletes field up-front LUCENE-8341 is required to resolve elastic#30851.
dnhatn
added a commit
that referenced
this pull request
Jun 4, 2018
This snapshot includes: - LUCENE-8341: Record soft deletes in SegmentCommitInfo which will resolve #30851 - LUCENE-8335: Enforce soft-deletes field up-front
dnhatn
added a commit
that referenced
this pull request
Jun 4, 2018
This snapshot includes: - LUCENE-8341: Record soft deletes in SegmentCommitInfo which will resolve #30851 - LUCENE-8335: Enforce soft-deletes field up-front
Member
Author
dnhatn
added a commit
to dnhatn/elasticsearch
that referenced
this pull request
Jun 5, 2018
This snapshot includes: - LUCENE-8341: Record soft deletes in SegmentCommitInfo which will resolve elastic#30851 - LUCENE-8335: Enforce soft-deletes field up-front
dnhatn
added a commit
that referenced
this pull request
Jun 5, 2018
This snapshot includes: - LUCENE-8341: Record soft deletes in SegmentCommitInfo which will resolve #30851 - LUCENE-8335: Enforce soft-deletes field up-front
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In CorruptedFileIT, we corrupt a random segment file then check that the corrupting store is marked as corrupted. However, if a DocValues file is flipped, we will trip an assertion in a FixedBitSet when opening a SoftDeletesDirectoryReaderWrapper. This commit makes sure that we verify the DocValues files when loading the metadata from a store.
Another option is to limit the set of corrupting files in the tests.