You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2015/09/29 20:57:01 UTC
hive git commit: HIVE-11724 : WebHcat get jobs to order jobs on time
order with latest at top (Kiran Kumar Kolli, reviewed by Hari Subramaniyan)
Repository: hive
Updated Branches:
refs/heads/master a4c43f033 -> a5ffa7190
HIVE-11724 : WebHcat get jobs to order jobs on time order with latest at top (Kiran Kumar Kolli, reviewed by Hari Subramaniyan)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/a5ffa719
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/a5ffa719
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/a5ffa719
Branch: refs/heads/master
Commit: a5ffa71908f5f15c5acaef476ad557d98583f2fa
Parents: a4c43f0
Author: Hari Subramaniyan <ha...@apache.org>
Authored: Tue Sep 29 11:56:51 2015 -0700
Committer: Hari Subramaniyan <ha...@apache.org>
Committed: Tue Sep 29 11:56:51 2015 -0700
----------------------------------------------------------------------
.../hive/hcatalog/templeton/AppConfig.java | 21 ++++++++++++++++++++
.../apache/hive/hcatalog/templeton/Server.java | 12 +++++++++--
2 files changed, 31 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/a5ffa719/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
----------------------------------------------------------------------
diff --git a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
index 062d5a0..403ff14 100644
--- a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
+++ b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
@@ -89,6 +89,11 @@ public class AppConfig extends Configuration {
"webhcat-site.xml"
};
+ public enum JobsListOrder {
+ lexicographicalasc,
+ lexicographicaldesc,
+ }
+
public static final String PORT = "templeton.port";
public static final String EXEC_ENCODING_NAME = "templeton.exec.encoding";
public static final String EXEC_ENVS_NAME = "templeton.exec.envs";
@@ -105,6 +110,7 @@ public class AppConfig extends Configuration {
public static final String HIVE_PATH_NAME = "templeton.hive.path";
public static final String MAPPER_MEMORY_MB = "templeton.mapper.memory.mb";
public static final String MR_AM_MEMORY_MB = "templeton.mr.am.memory.mb";
+ public static final String TEMPLETON_JOBSLIST_ORDER = "templeton.jobs.listorder";
/**
* see webhcat-default.xml
@@ -281,6 +287,21 @@ public class AppConfig extends Configuration {
}
}
+ public JobsListOrder getListJobsOrder() {
+ String requestedOrder = get(TEMPLETON_JOBSLIST_ORDER);
+ if (requestedOrder != null) {
+ try {
+ return JobsListOrder.valueOf(requestedOrder.toLowerCase());
+ }
+ catch(IllegalArgumentException ex) {
+ LOG.warn("Ignoring setting " + TEMPLETON_JOBSLIST_ORDER + " configured with in-correct value " + requestedOrder);
+ }
+ }
+
+ // Default to lexicographicalasc
+ return JobsListOrder.lexicographicalasc;
+ }
+
public void startCleanup() {
JobState.getStorageInstance(this).startCleanup(this);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/a5ffa719/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java
----------------------------------------------------------------------
diff --git a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java
index 27b8e38..bba16c5 100644
--- a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java
+++ b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/Server.java
@@ -1002,8 +1002,16 @@ public class Server {
throw new BadParam("Invalid numrecords format: numrecords should be an integer > 0");
}
- // Sort the list lexicographically
- Collections.sort(list);
+ // Sort the list as requested
+ switch (appConf.getListJobsOrder()) {
+ case lexicographicaldesc:
+ Collections.sort(list, Collections.reverseOrder());
+ break;
+ case lexicographicalasc:
+ default:
+ Collections.sort(list);
+ break;
+ }
for (String job : list) {
// If numRecords = -1, fetch all records.