Repository: spark Updated Branches: refs/heads/master 87d7f8904 -> 4d1e5f92e
[SPARK-13364] Sort appId as num rather than str in history page. ## What changes were proposed in this pull request? History page now sorts the appID as a string, which can lead to unexpected order for the case "application_11111_9" and "application_11111_20". Add a new sort type called appId-numeric can fix it. ## How was the this patch tested? This patch was manually tested with UI. See the screenshot below: ![sortappidbetter](https://cloud.githubusercontent.com/assets/11683054/13185564/7f941a16-d707-11e5-8fb7-0316368d3030.png) Author: zhuol <zh...@yahoo-inc.com> Closes #11259 from zhuoliu/13364. Project: http://git-wip-us.apache.org/repos/asf/spark/repo Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/4d1e5f92 Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/4d1e5f92 Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/4d1e5f92 Branch: refs/heads/master Commit: 4d1e5f92e10f713e52b5e2dcaa6d8982669c1988 Parents: 87d7f89 Author: zhuol <zh...@yahoo-inc.com> Authored: Tue Feb 23 11:16:42 2016 -0600 Committer: Tom Graves <tgra...@yahoo-inc.com> Committed: Tue Feb 23 11:16:42 2016 -0600 ---------------------------------------------------------------------- .../spark/ui/static/historypage-template.html | 2 +- .../org/apache/spark/ui/static/historypage.js | 33 +++++++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/spark/blob/4d1e5f92/core/src/main/resources/org/apache/spark/ui/static/historypage-template.html ---------------------------------------------------------------------- diff --git a/core/src/main/resources/org/apache/spark/ui/static/historypage-template.html b/core/src/main/resources/org/apache/spark/ui/static/historypage-template.html index 66d111e..a2b3826 100644 --- a/core/src/main/resources/org/apache/spark/ui/static/historypage-template.html +++ b/core/src/main/resources/org/apache/spark/ui/static/historypage-template.html @@ -64,7 +64,7 @@ <tbody> {{#applications}} <tr> - <td class="rowGroupColumn"><a href="/history/{{id}}/{{num}}/jobs/">{{id}}</a></td> + <td class="rowGroupColumn"><span title="{{id}}"><a href="/history/{{id}}/{{num}}/jobs/">{{id}}</a></span></td> <td class="rowGroupColumn">{{name}}</td> {{#attempts}} <td class="attemptIDSpan"><a href="/history/{{id}}/{{attemptId}}/jobs/">{{attemptId}}</a></td> http://git-wip-us.apache.org/repos/asf/spark/blob/4d1e5f92/core/src/main/resources/org/apache/spark/ui/static/historypage.js ---------------------------------------------------------------------- diff --git a/core/src/main/resources/org/apache/spark/ui/static/historypage.js b/core/src/main/resources/org/apache/spark/ui/static/historypage.js index 689c92e..6195916 100644 --- a/core/src/main/resources/org/apache/spark/ui/static/historypage.js +++ b/core/src/main/resources/org/apache/spark/ui/static/historypage.js @@ -37,6 +37,22 @@ function formatDuration(milliseconds) { return hours.toFixed(1) + " h"; } +function makeIdNumeric(id) { + var strs = id.split("_"); + if (strs.length < 3) { + return id; + } + var appSeqNum = strs[2]; + var resl = strs[0] + "_" + strs[1] + "_"; + var diff = 10 - appSeqNum.length; + while (diff > 0) { + resl += "0"; // padding 0 before the app sequence number to make sure it has 10 characters + diff--; + } + resl += appSeqNum; + return resl; +} + function formatDate(date) { return date.split(".")[0].replace("T", " "); } @@ -62,6 +78,21 @@ jQuery.extend( jQuery.fn.dataTableExt.oSort, { } } ); +jQuery.extend( jQuery.fn.dataTableExt.oSort, { + "appid-numeric-pre": function ( a ) { + var x = a.match(/title="*(-?[0-9a-zA-Z\-\_]+)/)[1]; + return makeIdNumeric(x); + }, + + "appid-numeric-asc": function ( a, b ) { + return ((a < b) ? -1 : ((a > b) ? 1 : 0)); + }, + + "appid-numeric-desc": function ( a, b ) { + return ((a < b) ? 1 : ((a > b) ? -1 : 0)); + } +} ); + $(document).ajaxStop($.unblockUI); $(document).ajaxStart(function(){ $.blockUI({ message: '<h3>Loading history summary...</h3>'}); @@ -109,7 +140,7 @@ $(document).ready(function() { var selector = "#history-summary-table"; var conf = { "columns": [ - {name: 'first'}, + {name: 'first', type: "appid-numeric"}, {name: 'second'}, {name: 'third'}, {name: 'fourth'}, --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org