Index: hcatalog/shims/src/20/java/org/apache/hadoop/mapred/TempletonJobTracker.java =================================================================== --- hcatalog/shims/src/20/java/org/apache/hadoop/mapred/TempletonJobTracker.java (revision 1475939) +++ hcatalog/shims/src/20/java/org/apache/hadoop/mapred/TempletonJobTracker.java (working copy) @@ -36,9 +36,8 @@ * Create a connection to the Job Tracker. */ public TempletonJobTracker(InetSocketAddress addr, - Configuration conf) + Configuration conf, UserGroupInformation ugi) throws IOException { - UserGroupInformation ugi = UserGroupInformation.getLoginUser(); cnx = (JobSubmissionProtocol) RPC.getProxy(JobSubmissionProtocol.class, JobSubmissionProtocol.versionID, Index: hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java =================================================================== --- hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java (revision 1475939) +++ hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java (working copy) @@ -35,14 +35,14 @@ super(appConf); } - public List run(String user) + public List run(String user, boolean showall) throws NotAuthorizedException, BadParam, IOException, InterruptedException { UserGroupInformation ugi = UserGroupInformation.createRemoteUser(user); TempletonJobTracker tracker = null; try { tracker = new TempletonJobTracker(getAddress(appConf), - appConf); + appConf, ugi); ArrayList ids = new ArrayList(); @@ -54,7 +54,7 @@ try { String id = job.getJobID().toString(); state = new JobState(id, Main.getAppConfigInstance()); - if (user.equals(state.getUser())) + if (showall || user.equals(state.getUser())) ids.add(id); } finally { if (state != null) { Index: hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java =================================================================== --- hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java (revision 1475939) +++ hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java (working copy) @@ -40,7 +40,7 @@ JobState state = null; try { tracker = new TempletonJobTracker(getAddress(appConf), - appConf); + appConf, ugi); JobID jobid = StatusDelegator.StringToJobID(id); if (jobid == null) throw new BadParam("Invalid jobid: " + id); Index: hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java =================================================================== --- hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java (revision 1475939) +++ hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java (working copy) @@ -710,13 +710,13 @@ @GET @Path("queue") @Produces({MediaType.APPLICATION_JSON}) - public List showQueueList() + public List showQueueList(@QueryParam("showall") boolean showall) throws NotAuthorizedException, BadParam, IOException, InterruptedException { verifyUser(); ListDelegator d = new ListDelegator(appConf); - return d.run(getUser()); + return d.run(getUser(), showall); } /** Index: hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java =================================================================== --- hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java (revision 1475939) +++ hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java (working copy) @@ -26,6 +26,7 @@ import org.apache.hadoop.mapred.JobProfile; import org.apache.hadoop.mapred.JobStatus; import org.apache.hadoop.mapred.TempletonJobTracker; +import org.apache.hadoop.security.UserGroupInformation; import org.apache.hcatalog.templeton.tool.JobState; /** @@ -41,11 +42,12 @@ public QueueStatusBean run(String user, String id) throws NotAuthorizedException, BadParam, IOException, InterruptedException { + UserGroupInformation ugi = UserGroupInformation.createRemoteUser(user); TempletonJobTracker tracker = null; JobState state = null; try { tracker = new TempletonJobTracker(getAddress(appConf), - appConf); + appConf, ugi); JobID jobid = StatusDelegator.StringToJobID(id); if (jobid == null) throw new BadParam("Invalid jobid: " + id);