[ https://issues.apache.org/jira/browse/HIVE-9622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14317113#comment-14317113 ]
Aihua Xu commented on HIVE-9622: -------------------------------- The first 4 tests passed locally while they gave the error "The forked VM terminated without saying properly goodbye. VM crash or System.exit called" in here. I haven't found out why but seems unrelated. > Getting NPE when trying to restart HS2 when metastore is configured to use > org.apache.hadoop.hive.thrift.DBTokenStore > --------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-9622 > URL: https://issues.apache.org/jira/browse/HIVE-9622 > Project: Hive > Issue Type: Bug > Reporter: Aihua Xu > Assignee: Aihua Xu > Labels: HiveServer2, Security > Fix For: 1.2.0 > > Attachments: HIVE-9622.1.patch, HIVE-9622.2.patch > > > # Configure the cluster to use kerberos for HS2 and Metastore. > ## > http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-3-0/CDH4-Security-Guide/cdh4sg_topic_9_1.html > ## > http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-6-0/CDH4-Security-Guide/cdh4sg_topic_9_2.html > # Set hive metastore delegation token to > org.apache.hadoop.hive.thrift.DBTokenStore in hive-site.xml > {code} > <property> > <name>hive.cluster.delegation.token.store.class</name> > <value>org.apache.hadoop.hive.thrift.DBTokenStore</value> > </property> > {code} > # Then trying to restart hive service, HS2 fails to start the NPE below: > {code} > 9:43:10.711 AM ERROR > org.apache.hive.service.cli.thrift.ThriftCLIService > Error: > org.apache.thrift.transport.TTransportException: Failed to start token manager > at > org.apache.hive.service.auth.HiveAuthFactory.<init>(HiveAuthFactory.java:107) > at > org.apache.hive.service.cli.thrift.ThriftBinaryCLIService.run(ThriftBinaryCLIService.java:51) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.io.IOException: Failed to initialize master key > at > org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.startThreads(TokenStoreDelegationTokenSecretManager.java:223) > at > org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server.startDelegationTokenSecretManager(HadoopThriftAuthBridge20S.java:438) > at > org.apache.hive.service.auth.HiveAuthFactory.<init>(HiveAuthFactory.java:105) > ... 2 more > Caused by: java.lang.reflect.InvocationTargetException > 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:483) > at > org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.startThreads(TokenStoreDelegationTokenSecretManager.java:221) > ... 4 more > Caused by: java.lang.NullPointerException > at > org.apache.hadoop.hive.thrift.DBTokenStore.invokeOnRawStore(DBTokenStore.java:145) > at > org.apache.hadoop.hive.thrift.DBTokenStore.addMasterKey(DBTokenStore.java:41) > at > org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.logUpdateMasterKey(TokenStoreDelegationTokenSecretManager.java:203) > at > org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.updateCurrentKey(AbstractDelegationTokenSecretManager.java:339) > ... 9 more > 9:43:10.719 AM INFO org.apache.hive.service.server.HiveServer2 > SHUTDOWN_MSG: > /************************************************************ > SHUTDOWN_MSG: Shutting down HiveServer2 at > a1909.halxg.cloudera.com/10.20.202.109 > ************************************************************/ > {code} > The problem appears that we didn't pass a {{RawStore}} object in the > following: > https://github.com/apache/hive/blob/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java#L111 -- This message was sent by Atlassian JIRA (v6.3.4#6332)