Fixes retrieval of the latest snapshot index blob#22700
Merged
abeyad merged 2 commits intoelastic:masterfrom Jan 20, 2017
Merged
Fixes retrieval of the latest snapshot index blob#22700abeyad merged 2 commits intoelastic:masterfrom
abeyad merged 2 commits intoelastic:masterfrom
Conversation
This commit ensures that the index.latest blob is first examined to determine the latest index-N blob id, before attempting to list all index-N blobs and picking the blob with the highest N. It also fixes the MockRepository#move so that tests are able to handle non-atomic moves. This is done by adding a special setting to the MockRepository that requires the test to specify if it can handle non-atomic moves. If so, then the MockRepository#move operation will be non-atomic to allow testing for against such repositories.
imotov
approved these changes
Jan 20, 2017
Contributor
imotov
left a comment
There was a problem hiding this comment.
Left a couple of minor comments.
| @@ -733,22 +733,21 @@ void writeIncompatibleSnapshots(RepositoryData repositoryData) throws IOExceptio | |||
| long latestIndexBlobId() throws IOException { | |||
| try { | |||
| // first, try listing the blobs and determining which index blob is the latest | |||
Contributor
There was a problem hiding this comment.
This comment is probably wrong now.
| blockOnInitialization = metadata.settings().getAsBoolean("block_on_init", false); | ||
| randomPrefix = metadata.settings().get("random", "default"); | ||
| waitAfterUnblock = metadata.settings().getAsLong("wait_after_unblock", 0L); | ||
| nonAtomicMove = metadata.settings().getAsBoolean("non_atomic_move", false); |
Contributor
There was a problem hiding this comment.
I think negatively named settings are somewhat difficult to reason about. For example, I think it's much easier to understand that atomicMove = true is than nonAtomicMove = false.
| Settings.builder() | ||
| .put("location", repoPath) | ||
| .put("random_control_io_exception_rate", randomIntBetween(5, 20) / 100f) | ||
| .put("non_atomic_move", true) |
Contributor
There was a problem hiding this comment.
I am not really sure why this test is singled out. Maybe add comment?
abeyad
pushed a commit
that referenced
this pull request
Jan 20, 2017
This commit ensures that the index.latest blob is first examined to determine the latest index-N blob id, before attempting to list all index-N blobs and picking the blob with the highest N. It also fixes the MockRepository#move so that tests are able to handle non-atomic moves. This is done by adding a special setting to the MockRepository that requires the test to specify if it can handle non-atomic moves. If so, then the MockRepository#move operation will be non-atomic to allow testing for against such repositories.
abeyad
pushed a commit
that referenced
this pull request
Jan 20, 2017
This commit ensures that the index.latest blob is first examined to determine the latest index-N blob id, before attempting to list all index-N blobs and picking the blob with the highest N. It also fixes the MockRepository#move so that tests are able to handle non-atomic moves. This is done by adding a special setting to the MockRepository that requires the test to specify if it can handle non-atomic moves. If so, then the MockRepository#move operation will be non-atomic to allow testing for against such repositories.
Author
jasontedor
added a commit
to jasontedor/elasticsearch
that referenced
this pull request
Jan 23, 2017
* master: (33 commits) Docs fix - Added missing link to new Adjacency-matrix agg Pass `forceExecution` flag to transport interceptor (elastic#22739) Version: Add missing releases from 2.x in Version.java (elastic#22594) CONSOLE-ify filter aggregation docs CONSOLE-ify date_range aggregation docs Add single static instance of SpecialPermission (elastic#22726) Simplify InternalEngine#innerIndex (elastic#22721) Upgrade to Lucene 6.4.0 (elastic#22724) Fix broken TaskInfo.toString() Add CheckedSupplier and CheckedRunnable to core (elastic#22725) Revert "Make build Gradle 2.14 / 3.x compatible (elastic#22669)" Fixes retrieval of the latest snapshot index blob (elastic#22700) CONSOLE-ify date histogram docs CONSOLE-ify min and max aggregation docs CONSOLE-ify global-aggregation.asciidoc Fix script score function that combines _score and weight (elastic#22713) Corrected a plural verb to a singular one. (elastic#22681) Fix duplicates from search.query (elastic#22701) Readd unconverted snippets mark for doc Deguice rest handlers (elastic#22575) ...
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.
This commit ensures that the index.latest blob is first examined to
determine the latest index-N blob id, before attempting to list all
index-N blobs and picking the blob with the highest N.
It also fixes the MockRepository#move so that tests are able to handle
non-atomic moves. This is done by adding a special setting to the
MockRepository that requires the test to specify if it can handle
non-atomic moves. If so, then the MockRepository#move operation will be
non-atomic to allow testing for against such repositories.