Skip to content
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

fix download always return succeeded #4442

Merged
merged 2 commits into from
Jul 19, 2022
Merged

Conversation

critical27
Copy link
Contributor

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

Issue(s) number:

Close #4321, #4382

Description:

ProcessUtils::runCommand will always return ok. So we can't tell whether hdfs command succeeded or not.

How do you solve it?

Use SubProcess to execute shell command.

Special notes for your reviewer, ex. impact of this fix, design document, etc:

After this PR, if the hdfs address is illegal, the show job is weird (job failed but task succeed), probably same as #4263, will try to fix it later.

image

Checklist:

Tests:

  • Unit test(positive and negative cases)
  • Function test
  • Performance test
  • N/A

Affects:

  • Documentation affected (Please add the label if documentation needs to be modified.)
  • Incompatibility (If it breaks the compatibility, please describe it and add the label.)
  • If it's needed to cherry-pick (If cherry-pick to some branches is required, please label the destination version(s).)
  • Performance impacted: Consumes more CPU/Memory

Release notes:

Please confirm whether to be reflected in release notes and how to describe:

ex. Fixed the bug .....

Copy link
Contributor

@panda-sheep panda-sheep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good

} else {
return Status::Error(folly::stringPrintf("Failed to run %s", command.c_str()));
try {
folly::Subprocess proc(std::vector<std::string>({command}));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

} else {
return Status::Error(folly::stringPrintf("Failed to run %s", command.c_str()));
try {
folly::Subprocess proc(std::vector<std::string>({command}));
Copy link
Contributor

@SuperYoko SuperYoko Sep 23, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here actually may have some trouble with system environment variable. May use /bin/bash/ -c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review ready-for-testing PR: ready for the CI test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Download sst return success but actually failed
5 participants