New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
failed snapshot _status returns 500 #23716
Comments
This sounds like a legit request to me, @imotov what do you think? |
I agree, the |
thanks @abeyad ! I will mark adoptme then. |
@abeyad that feels like a bug and not enhancement. What do you think? |
@imotov agreed, i'll change the label |
++ thanks for taking it @abeyad |
@jpcarey the steps you outlined above does not reproduce for me on 5.2.2. Instead, for
I get:
For getting the status:
I get:
|
@abeyad I re-ran the steps I provided (without x-pack), and still get the error with 5.2.2 (fresh untar). Reading the error, it is complaining about index macOS Sierra 10.12.3 (16D32)
|
@jpcarey I reproduced the problem - the issue is if you specify the snapshot to have only "bad" indices, then getting its status works fine. If the snapshot contains a mix of good and bad indices, then I get the same error you got. |
If a snapshot is taken on multiple indices, and some of them are "good" indices that don't contain any corruption or failures, and some of them are "bad" indices that contain missing shards or corrupted shards, and if the snapshot request is set to partial=false (meaning don't take a snapshot if there are any failures), then the good indices will not be snapshotted either. Previously, when getting the status of such a snapshot, a 500 error would be thrown, because the snap-*.dat blob for the shards in the good index could not be found. This commit fixes the problem by reporting shards of good indices as failed due to a failed snapshot, instead of throwing the NoSuchFileException. Closes elastic#23716
If a snapshot is taken on multiple indices, and some of them are "good" indices that don't contain any corruption or failures, and some of them are "bad" indices that contain missing shards or corrupted shards, and if the snapshot request is set to partial=false (meaning don't take a snapshot if there are any failures), then the good indices will not be snapshotted either. Previously, when getting the status of such a snapshot, a 500 error would be thrown, because the snap-*.dat blob for the shards in the good index could not be found. This commit fixes the problem by reporting shards of good indices as failed due to a failed snapshot, instead of throwing the NoSuchFileException. Closes #23716
If a snapshot is taken on multiple indices, and some of them are "good" indices that don't contain any corruption or failures, and some of them are "bad" indices that contain missing shards or corrupted shards, and if the snapshot request is set to partial=false (meaning don't take a snapshot if there are any failures), then the good indices will not be snapshotted either. Previously, when getting the status of such a snapshot, a 500 error would be thrown, because the snap-*.dat blob for the shards in the good index could not be found. This commit fixes the problem by reporting shards of good indices as failed due to a failed snapshot, instead of throwing the NoSuchFileException. Closes #23716
When a snapshot fails, the snapshot/_status will return a 500 error. It seems the only way to fetch the actual "FAILED" status is by listing the repository/_all. To me, the 500 exception returned when calling the snapshot/_status seems wrong.
Elasticsearch version: 5.2.2
Plugins installed: x-pack
The text was updated successfully, but these errors were encountered: