I'm using the Java API to restore a snapshot of several indexes in my cluster. I made the next call
RestoreSnapshotResponse res = client.admin().cluster().restoreSnapshot( Requests.restoreSnapshotRequest( repository, snapshotName ).indices(indices).includeGlobalState(false).waitForCompletion(true) ).actionGet();
This code blocks until the restore has been done. I have some question about the RestoreSnapshotResponse object, because I can't find documentation about the Java API
- Is it possible that the restoreSnapshot return a null response?. I've read the source code of ElasticSearch and sometime this call can return null. But I don't know if this null is an error or only return null when the API is called with waitForCompletion(false)
- What exceptions can be launched by the restoreSnapshot? Is there any documentation I can read about the API call?
- Is it possible that RestoreSnapshotResponse.getRestoreInfo() returns a null reference? Or if RestoreSnapshotResponse is not null, RestoreSnapshotResponse.getRestoreInfo() returns a not null value?
If I understand the code in ElasticSearch if I called with waitForCompletion(true), those methods never return a null value.
Thanks for the help.