diff --git a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpServlet.java b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpServlet.java index 350ef89ec4d2..35c54388a055 100644 --- a/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpServlet.java +++ b/sql/hive-thriftserver/src/main/java/org/apache/hive/service/cli/thrift/ThriftHttpServlet.java @@ -157,7 +157,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) SessionManager.setUserName(clientUserName); // find proxy user if any from query param - String doAsQueryParam = getDoAsQueryParam(request.getQueryString()); + String doAsQueryParam = getDoAsQueryParam(request); if (doAsQueryParam != null) { SessionManager.setProxyUserName(doAsQueryParam); } @@ -546,14 +546,15 @@ private boolean isKerberosAuthMode(String authType) { return authType.equalsIgnoreCase(HiveAuthFactory.AuthTypes.KERBEROS.toString()); } - private static String getDoAsQueryParam(String queryString) { + private static String getDoAsQueryParam(HttpServletRequest request) { + String queryString = request.getQueryString(); if (LOG.isDebugEnabled()) { LOG.debug("URL query string:" + queryString); } if (queryString == null) { return null; } - Map params = jakarta.servlet.http.HttpUtils.parseQueryString( queryString ); + Map params = request.getParameterMap(); Set keySet = params.keySet(); for (String key: keySet) { if (key.equalsIgnoreCase("doAs")) {