[
https://issues.apache.org/jira/browse/OMID-194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17274206#comment-17274206
]
Istvan Toth commented on OMID-194:
----------------------------------
We hit the same bug from inside Phoenix:
This is with Hbase superuse principal.
{noformat}
0: jdbc:phoenix:> CREATE TABLE trans_table (k BIGINT PRIMARY KEY, v VARCHAR)
TRANSACTIONAL=true;
Error: ERROR 1077 (44A08): Transaction Failure failure to login: for
principal: not set from keytab not set
javax.security.auth.login.LoginException: Unable to obtain password from user
(state=44A08,code=1077)
java.sql.SQLException: ERROR 1077 (44A08): Transaction Failure failure to
login: for principal: not set from keytab not set
javax.security.auth.login.LoginException: Unable to obtain password from user
at
org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:603)
at
org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:217)
at
org.apache.phoenix.transaction.OmidTransactionProvider.getTransactionClient(OmidTransactionProvider.java:96)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.initTransactionClient(ConnectionQueryServicesImpl.java:5737)
at
org.apache.phoenix.transaction.OmidTransactionContext.<init>(OmidTransactionContext.java:60)
at
org.apache.phoenix.transaction.OmidTransactionProvider.getTransactionContext(OmidTransactionProvider.java:82)
at
org.apache.phoenix.execute.MutationState.startTransaction(MutationState.java:358)
at
org.apache.phoenix.util.TransactionUtil.getTableTimestamp(TransactionUtil.java:109)
at
org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2376)
at
org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1105)
at
org.apache.phoenix.compile.CreateTableCompiler$CreateTableMutationPlan.execute(CreateTableCompiler.java:420)
at
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:415)
at
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:397)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:396)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:384)
at
org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1925)
at sqlline.Commands.executeSingleQuery(Commands.java:1054)
at sqlline.Commands.execute(Commands.java:1003)
at sqlline.Commands.sql(Commands.java:967)
at sqlline.SqlLine.dispatch(SqlLine.java:734)
at sqlline.SqlLine.begin(SqlLine.java:541)
at sqlline.SqlLine.start(SqlLine.java:267)
at sqlline.SqlLine.main(SqlLine.java:206)
Caused by: org.apache.hadoop.security.KerberosAuthException: failure to login:
for principal: not set from keytab not set
javax.security.auth.login.LoginException: Unable to obtain password from user
at
org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:2015)
at
org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1360)
at
org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:1140)
at
org.apache.omid.tools.hbase.HBaseLogin.loginIfNeeded(HBaseLogin.java:42)
at
org.apache.omid.transaction.HBaseTransactionManager.newInstance(HBaseTransactionManager.java:75)
at
org.apache.phoenix.transaction.OmidTransactionProvider.getTransactionClient(OmidTransactionProvider.java:91)
... 21 more
Caused by: javax.security.auth.login.LoginException: Unable to obtain password
from user
at
jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:874)
at
jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:737)
at
jdk.security.auth/com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:592)
at
java.base/javax.security.auth.login.LoginContext.invoke(LoginContext.java:726)
at
java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:665)
at
java.base/javax.security.auth.login.LoginContext$4.run(LoginContext.java:663)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at
java.base/javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:663)
at
java.base/javax.security.auth.login.LoginContext.login(LoginContext.java:574)
at
org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2094)
at
org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:2005)
... 26 more
{noformat}
> OmidTableManager cannot create commit and timestamp tables in kerberos
> cluster
> -------------------------------------------------------------------------------
>
> Key: OMID-194
> URL: https://issues.apache.org/jira/browse/OMID-194
> Project: Phoenix Omid
> Issue Type: Bug
> Reporter: Rajeshbabu Chintaguntla
> Priority: Blocker
> Fix For: 1.0.3
>
>
> Omid table manager cannot create commit and timestamp tables in kerberos
> cluster because it's not loading any configurations having keytab and
> principal information. So alway creation of those table failing always
> {noformat}
> [root@rajeshph-1 conf]# omid create-hbase-commit-table
> WARNING: HADOOP_CONF_DIR is unset
> HBASE_CONF_DIR is set to '/etc/hbase/conf'
> Exception in thread "main" org.apache.hadoop.security.KerberosAuthException:
> failure to login: for principal: not set from keytab not set
> javax.security.auth.login.LoginException: Unable to obtain password from user
> at
> org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:2015)
> at
> org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1360)
> at
> org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:1140)
> at
> org.apache.omid.tools.hbase.HBaseLogin.loginIfNeeded(HBaseLogin.java:42)
> at
> org.apache.omid.tools.hbase.OmidTableManager.executeActionsOnHBase(OmidTableManager.java:82)
> at
> org.apache.omid.tools.hbase.OmidTableManager.main(OmidTableManager.java:120)
> Caused by: javax.security.auth.login.LoginException: Unable to obtain
> password from user
> at
> com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:901)
> at
> com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:764)
> at
> com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:617)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
> at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
> at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
> at
> org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:2094)
> at
> org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:2005)
> ... 5 more
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)