-
Notifications
You must be signed in to change notification settings - Fork 4k
storage: use engine for os-level operations. #27075
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
storage: use engine for os-level operations. #27075
Conversation
|
At some point, I need to go through all uses of the |
efedcaa to
b1851ba
Compare
bdarnell
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status:
complete! 0 of 0 LGTMs obtained (and 1 stale)
|
bors r+ |
Build failed |
This is important when encryption is enabled as we need to make sure we handle file metadata properly. While `os.Remove` will leave cruft behind, `os.Link` won't copy the file encryption settings from the original and will therefore make it unreadable. This fixes `RESTORE` which writes file to local disk using local encryption settings then ingests them. The link bypassed the rocksdb Env leaving the ingested file without any encryption settings attached (aka: plaintext). Release note: None
b1851ba to
48b5af5
Compare
|
bors r+ |
27075: storage: use engine for os-level operations. r=mberhault a=mberhault This is important when encryption is enabled as we need to make sure we handle file metadata properly. While `os.Remove` will leave cruft behind, `os.Link` won't copy the file encryption settings from the original and will therefore make it unreadable. This fixes `RESTORE` which writes file to local disk using local encryption settings then ingests them. The link bypassed the rocksdb Env leaving the ingested file without any encryption settings attached (aka: plaintext). Release note: None 27087: roachtest: disable encryption on tests that can't handle it. r=mberhault a=mberhault Two cases make encryption always fail: - old versions (<= 2.0) - uses of debug commands that open the rocksdb instance (needs encryption flags) Release note: None Co-authored-by: marc <marc@cockroachlabs.com>
Build succeeded |
This is important when encryption is enabled as we need to make sure we
handle file metadata properly.
While
os.Removewill leave cruft behind,os.Linkwon't copy the fileencryption settings from the original and will therefore make it
unreadable.
This fixes
RESTOREwhich writes file to local disk using localencryption settings then ingests them. The link bypassed the rocksdb Env
leaving the ingested file without any encryption settings attached (aka:
plaintext).
Release note: None