-
Notifications
You must be signed in to change notification settings - Fork 168
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
Avoid shell out tar for genesis archive creation #3079
Conversation
I believe this change is the right thing to do regardless. However, the motivation for looking at this was that many people had reported issues running I was unable to reproduce the issue running
It seems that I'm not the only one who was unable to reproduce, such as #2838 (comment). I'm probably going to try to track someone down who was able to reproduce so I can validate that the test validator issue is resolved with this change |
@steviez I can reproduce:
oddly works on the master branch and the steviez:bstore_no_tar_shellout branch:
|
Thanks for trying this out @ferric-sol ! I am a bit confused as well as to what we would have changed between |
After digging around, solana-labs#35213 looked like a probable culprit for change in behavior; @ferric-sol did the It is still a mystery to me as to why the issue would show on an M1, but not my M3. In any case, the issue goes away when we do NOT shell out, so this change is still good to go |
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.
Code looks good. Are there tests for genesis archive creation? Or iow, how was this change tested?
Oops, never hit enter to send my response
The function That being said, I extended an existing unit test to simply read both |
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.
Problem
Spawning a subprocess to utilize
tar
incurs some overhead. Moreso, it introduces some variability based on what version oftar
the caller happens to have available inPATH
Summary of Changes
Use the
tar
crate instead of invokingtar
in a subprocess.Fixes #