-
Notifications
You must be signed in to change notification settings - Fork 858
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
Fixes Spark REST fetcher for client mode applications #193
Fixes Spark REST fetcher for client mode applications #193
Conversation
@rayortigas , @paulbramsen , @shankar37 can you please review this change. This is a critical and active issue. |
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.
@rayortigas can you take a look as well ?
Code looks fine. Just wanted to add a couple of comments:
|
@rayortigas: I am not very familiar with the old Spark fetcher, so I am not sure whether or not it supported yarn-client. Maybe @akshayrai or @shankar37 can provide some input here. We submit Spark applications both in cluster and client mode, and Dr Elephant wasn't able to fetch client mode applications. Later I also found an issue (#175), where other people are also trying to use Dr Elephant to analyze client mode applications and it's failing. As per your second concern, I have added a unit test to test this change. Please take a look. Thank you. |
@shkhrgpt LGTM. Thanks for adding the unit test! Yeah, the other question was primarily for @akshayrai and @shankar37. |
@akshayrai and @shankar37 Would you like me to make any more changes in order to merge to this PR? There is still a critical and active issue which requires this fix. |
+1 LGTM |
* Removes pattern matching
As mentioned in the issue, #175, the current REST API fetcher fails to parse client mode applications because there is no attemptId in REST response of ApplicationInfo.
In this change, we are modifying the fetcher to not consider attemptId in REST urls when attemptId is not returned by ApplicationInfo response, as it's mentioned in this Spark documentation.
With this change, the fetcher will be able to process both Client and Cluster mode applications.
@akshayrai can you please have a look.
Thank you.