-
Notifications
You must be signed in to change notification settings - Fork 28.2k
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-4705:[core] Write event logs of different application attempts to different files. #4845
SPARK-4705:[core] Write event logs of different application attempts to different files. #4845
Conversation
Can one of the admins verify this patch? |
(Please rebase, and make the title of the PR descriptive.) |
…ll do the rest of the changes after this
…ll do the rest of the changes after this
…the master branch. 2) Added the attempt id inside the SparkListenerApplicationStart, to make the info available independent of directory structure. 3) Changes in History Server to render the UI as per the snaphot II
75bdd1b
to
cc9311e
Compare
@@ -26,7 +26,8 @@ private[spark] case class ApplicationHistoryInfo( | |||
endTime: Long, | |||
lastUpdated: Long, | |||
sparkUser: String, | |||
completed: Boolean = false) | |||
completed: Boolean = false, | |||
appAttemptId: String = "") |
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.
Option[String]
?
(Title should start with something like |
Hi @srowen , Please have a look at discussion/comments in Jira https://issues.apache.org/jira/browse/SPARK-4705 regarding avoiding creating directory, UI related changes has been discussed there with @vanzin over there Initially, this issue was created for yarn-cluster only, but later changed to cluster. I will do the change for other cluster schedulers too ( as only one API needs to be overridden, so thought of creating the PR, so that rest of the changes are final by then. ) Thanks, |
HI @srowen , I think tracking all attempts and showing them on the UI is the more correct fix. This is especially important for streaming jobs that can run for a long time and go through a bunch of AM instances in the process. This makes sure the logs for all attempts are available. |
HI @twinkle-sachdeva , could you write a better title? I'd suggest: [SPARK-4705] [core] Write event logs of different application attemps to different files. |
val logger = | ||
new EventLoggingListener(applicationId, eventLogDir.get, conf, hadoopConfiguration) | ||
val logger = new EventLoggingListener( | ||
applicationId, applicationAttemptId, eventLogDir.get, conf, hadoopConfiguration) |
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.
nit: indented too far
The code in HistoryPage.scala feels a little confusing, and I think it could be written more cleanly by choosing more appropriate data structures. Since it needs to create some new data structures based on the app listing, we should avoid always translating the whole list of apps, instead only translating the necessary info to fill the current page, to keep memory usage in check. I took a quick look at |
Hi @vanzin , I am already using the UIUtils.listingTable, it is looking a bit messier, because of multiple functions calling /usage. I am not very well versed with inline XML stuff, so maybe there is some more cleaner way to do so. I will look around a bit more. Thanks, |
It looks like this work is being continued in #5432 which is currently more active. Do you mind closing this PR and focusing discussion on that PR? |
Hi,
Following is the approach taken: