-
Notifications
You must be signed in to change notification settings - Fork 16.3k
spark on kubernetes removes dependency on Spark Exit code #46817
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
spark on kubernetes removes dependency on Spark Exit code #46817
Conversation
|
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide (https://github.com/apache/airflow/blob/main/contributing-docs/README.rst)
|
|
I assume the referenced bug thicket is not the right one, it refers to a PR |
|
I have modified |
|
Hello, if you have any questions about the process, I can modify it. |
providers/apache/spark/src/airflow/providers/apache/spark/hooks/spark_submit.py
Outdated
Show resolved
Hide resolved
nevcohen
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.
In ours cluster, we get that the returncode is 0 but the spark k8s driver exit code is 1.
And this is a normal scenario that happens from time to time, we want the process to be marked as failed in Airflow!
And even more, I would change the log so that it would be more indicative, because it did manage to execute the spark submit command, but the spatk app failed.
|
I think I found your problem, could you send the logs of your task that runs spark in airflow (the airflow worker logs)? I assume that the phrase Then to fix your bug, you'll have to fix the regex. |
|
The cluster mode is similar. The sparksubmit process is a child process, and the oom exit code may appear occasionally. |
The exit code in your logs is belongs to the executor, not the driver's exit code. |
providers/apache/spark/src/airflow/providers/apache/spark/hooks/spark_submit.py
Outdated
Show resolved
Hide resolved
bugraoz93
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.
Looks good! Thanks for the changes and everyone for testing and involving!
Could you please also add/update the unit test for this new case?
nevcohen
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.
On second thought, I think it's better to approach this from another direction, instead of changing the if like you did, it's better to add an if here.
Only if it is cluster mode will it process the exit code from the logs.
|
OK, I'll make the adjustment and add/update a unit test accordingly |
|
I have changed |
nevcohen
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.
Now that's great!
bugraoz93
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.
This looks a lot cleaner! Thanks for including the tests!
|
Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions. |
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
|
Thanks everyone for the assistance! |
|
Congrats @bin-lian! |
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>
* spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes removes dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code * spark on kubernetes client mode remove dependency on Spark Exit code --------- Co-authored-by: Bin Lian <lianbin@patsnap.com>




SparkSubmitOperator on kubernetes .Regardless of cluster or client mode, you only need to monitor the final status of the subprocess. The final status of the subprocess is the final status of the spark program.
closes:#44810
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in newsfragments.