diff --git ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultAuthenticator.java ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultAuthenticator.java index 18e4e00..b8dcf1c 100644 --- ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultAuthenticator.java +++ ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultAuthenticator.java @@ -23,8 +23,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.ql.metadata.HiveException; -import org.apache.hadoop.hive.ql.session.SessionState; -import org.apache.hadoop.hive.shims.ShimLoader; +import org.apache.hadoop.hive.ql.session.ISessionAuthState; import org.apache.hadoop.hive.shims.Utils; import org.apache.hadoop.security.UserGroupInformation; @@ -77,7 +76,7 @@ public Configuration getConf() { } @Override - public void setSessionState(SessionState ss) { + public void setSessionState(ISessionAuthState ss) { //no op } diff --git ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultMetastoreAuthenticator.java ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultMetastoreAuthenticator.java index c372027..07b506e 100644 --- ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultMetastoreAuthenticator.java +++ ql/src/java/org/apache/hadoop/hive/ql/security/HadoopDefaultMetastoreAuthenticator.java @@ -18,13 +18,13 @@ package org.apache.hadoop.hive.ql.security; -import org.apache.hadoop.hive.metastore.HiveMetaStore.HMSHandler; +import org.apache.hadoop.hive.metastore.IHMSHandler; public class HadoopDefaultMetastoreAuthenticator extends HadoopDefaultAuthenticator implements HiveMetastoreAuthenticationProvider { @Override - public void setMetaStoreHandler(HMSHandler handler) { + public void setMetaStoreHandler(IHMSHandler handler) { setConf(handler.getConf()); } diff --git ql/src/java/org/apache/hadoop/hive/ql/security/HiveAuthenticationProvider.java ql/src/java/org/apache/hadoop/hive/ql/security/HiveAuthenticationProvider.java index 7befff8..ee138b3 100644 --- ql/src/java/org/apache/hadoop/hive/ql/security/HiveAuthenticationProvider.java +++ ql/src/java/org/apache/hadoop/hive/ql/security/HiveAuthenticationProvider.java @@ -22,7 +22,7 @@ import org.apache.hadoop.conf.Configurable; import org.apache.hadoop.hive.ql.metadata.HiveException; -import org.apache.hadoop.hive.ql.session.SessionState; +import org.apache.hadoop.hive.ql.session.ISessionAuthState; /** * HiveAuthenticationProvider is an interface for authentication. The @@ -41,6 +41,6 @@ * SessionState is not a public interface. * @param ss SessionState that created this instance */ - public void setSessionState(SessionState ss); + public void setSessionState(ISessionAuthState ss); } diff --git ql/src/java/org/apache/hadoop/hive/ql/security/HiveMetastoreAuthenticationProvider.java ql/src/java/org/apache/hadoop/hive/ql/security/HiveMetastoreAuthenticationProvider.java index 73e9bfb..9b83c23 100644 --- ql/src/java/org/apache/hadoop/hive/ql/security/HiveMetastoreAuthenticationProvider.java +++ ql/src/java/org/apache/hadoop/hive/ql/security/HiveMetastoreAuthenticationProvider.java @@ -18,7 +18,7 @@ package org.apache.hadoop.hive.ql.security; -import org.apache.hadoop.hive.metastore.HiveMetaStore.HMSHandler; +import org.apache.hadoop.hive.metastore.IHMSHandler; /** @@ -36,6 +36,6 @@ * authentication that needs to be done. * @param handler */ - void setMetaStoreHandler(HMSHandler handler); + void setMetaStoreHandler(IHMSHandler handler); } diff --git ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateConfigUserAuthenticator.java ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateConfigUserAuthenticator.java index 8c7809e..700efd6 100644 --- ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateConfigUserAuthenticator.java +++ ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateConfigUserAuthenticator.java @@ -23,6 +23,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.session.ISessionAuthState; import org.apache.hadoop.hive.ql.session.SessionState; /** @@ -35,7 +36,7 @@ private final List groupNames = new ArrayList(); protected Configuration conf; - private SessionState sessionState; + private ISessionAuthState sessionState; @Override public List getGroupNames() { @@ -67,7 +68,7 @@ public void setConf(Configuration arg0) { } @Override - public void setSessionState(SessionState sessionState) { + public void setSessionState(ISessionAuthState sessionState) { this.sessionState = sessionState; } diff --git ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateUserAuthenticator.java ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateUserAuthenticator.java index a77e93f..3cb1657 100644 --- ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateUserAuthenticator.java +++ ql/src/java/org/apache/hadoop/hive/ql/security/SessionStateUserAuthenticator.java @@ -23,7 +23,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.ql.metadata.HiveException; -import org.apache.hadoop.hive.ql.session.SessionState; +import org.apache.hadoop.hive.ql.session.ISessionAuthState; /** * Authenticator that returns the userName set in SessionState. For use when authorizing with HS2 @@ -34,7 +34,7 @@ private final List groupNames = new ArrayList(); protected Configuration conf; - private SessionState sessionState; + private ISessionAuthState sessionState; @Override public List getGroupNames() { @@ -61,7 +61,7 @@ public void setConf(Configuration arg0) { } @Override - public void setSessionState(SessionState sessionState) { + public void setSessionState(ISessionAuthState sessionState) { this.sessionState = sessionState; } diff --git ql/src/java/org/apache/hadoop/hive/ql/session/ISessionAuthState.java ql/src/java/org/apache/hadoop/hive/ql/session/ISessionAuthState.java new file mode 100644 index 0000000..83438fa --- /dev/null +++ ql/src/java/org/apache/hadoop/hive/ql/session/ISessionAuthState.java @@ -0,0 +1,36 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.hadoop.hive.ql.session; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; + +/** + * Exposes the authentication related methods of SessionState + * + * intended for internal usage only + */ +@InterfaceAudience.Private +public interface ISessionAuthState { + + Configuration getConf(); + + String getUserName(); + +} diff --git ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java index bfef255..2159641 100644 --- ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java +++ ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java @@ -104,7 +104,7 @@ * from any point in the code to interact with the user and to retrieve * configuration information */ -public class SessionState { +public class SessionState implements ISessionAuthState{ private static final Logger LOG = LoggerFactory.getLogger(SessionState.class); private static final String TMP_PREFIX = "_tmp_space.db";