diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java index a367f27b012015b12272a8b17343c0a15f805e3b..655a80fc4c48dc428f0cc4ae499054d147689756 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Driver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Driver.java @@ -540,7 +540,7 @@ public void run() { plan.getFetchTask().initialize(queryState, plan, null, ctx.getOpContext()); } - configureScheduling(conf, userName); + configureScheduling(conf, conf.getUser()); //do the authorization check if (!sem.skipAuthorization() && diff --git a/shims/scheduler/src/main/java/org/apache/hadoop/hive/schshim/FairSchedulerShim.java b/shims/scheduler/src/main/java/org/apache/hadoop/hive/schshim/FairSchedulerShim.java index 4856c100df4c05602e9d96270aaa7e77b4152577..9c7bca980cc3136ab6c55d6de550a7f0c89ca954 100644 --- a/shims/scheduler/src/main/java/org/apache/hadoop/hive/schshim/FairSchedulerShim.java +++ b/shims/scheduler/src/main/java/org/apache/hadoop/hive/schshim/FairSchedulerShim.java @@ -93,14 +93,19 @@ private void setJobQueueForUserInternal(Configuration conf, String queueName, St QueuePlacementPolicy queuePolicy = queueAllocator.makeConfigurationFor(conf, forUser).get().getPlacementPolicy(); if (queuePolicy != null) { - String requestedQueue = queuePolicy.assignAppToQueue(queueName, forUser); - if (StringUtils.isNotBlank(requestedQueue)) { - LOG.info("Setting queue name to: '{}' for user '{}'", requestedQueue, forUser); - conf.set(MR2_JOB_QUEUE_PROPERTY, requestedQueue); + if (forUser != null && !forUser.isEmpty()) { + String requestedQueue = queuePolicy.assignAppToQueue(queueName, forUser); + if (StringUtils.isNotBlank(requestedQueue)) { + LOG.info("Setting queue name to: '{}' for user '{}'", requestedQueue, forUser); + conf.set(MR2_JOB_QUEUE_PROPERTY, requestedQueue); + } else { + LOG.warn("Unable to set queue: {} for user: {}, resetting to user's default queue.", requestedQueue, forUser); + conf.set(MR2_JOB_QUEUE_PROPERTY, queuePolicy.assignAppToQueue(YarnConfiguration.DEFAULT_QUEUE_NAME, forUser)); + } } else { - LOG.warn("Unable to set queue: {} for user: {}, resetting to user's default queue.", requestedQueue, forUser); - conf.set(MR2_JOB_QUEUE_PROPERTY, queuePolicy.assignAppToQueue(YarnConfiguration.DEFAULT_QUEUE_NAME, forUser)); + LOG.warn("Unable to set queue: user name is null or empty"); } + } } } \ No newline at end of file