[FIXED] Filestore with encryption may erroneously reset meta.key #7678
+99
−13
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.
If a server was hard killed and was not able to write the
index.dbfile, or it was corrupted, it would allow the stream to be loaded but without initializing the keys used for encrypting themeta.infandindex.dbfiles. The next graceful shutdown would generate theindex.dbfile, but in so doing would regenerate themeta.keyas well. On startup the stream would not be able to load since themeta.keywas new, but themeta.infwas still encrypted with the old key.This PR proposes to simply always recover the keys if the key file exists, and not rely on the
index.dbrecovery path.Signed-off-by: Maurice van Veen [email protected]