[ 
https://issues.apache.org/jira/browse/HIVE-13160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15170049#comment-15170049
 ] 

Yongzhi Chen commented on HIVE-13160:
-------------------------------------

The second patch looks good.
+1

> HS2 unable to load UDFs on startup when HMS is not ready
> --------------------------------------------------------
>
>                 Key: HIVE-13160
>                 URL: https://issues.apache.org/jira/browse/HIVE-13160
>             Project: Hive
>          Issue Type: Bug
>          Components: HiveServer2
>    Affects Versions: 1.2.1
>            Reporter: Eric Lin
>            Assignee: Aihua Xu
>         Attachments: HIVE-13160.1.patch, HIVE-13160.2.patch
>
>
> The error looks like this:
> {code}
> 2016-02-18 14:43:54,251 INFO  hive.metastore: [main]: Trying to connect to 
> metastore with URI thrift://host-10-17-81-201.coe.cloudera.com:9083
> 2016-02-18 14:48:54,692 WARN  hive.metastore: [main]: Failed to connect to 
> the MetaStore Server...
> 2016-02-18 14:48:54,692 INFO  hive.metastore: [main]: Waiting 1 seconds 
> before next connection attempt.
> 2016-02-18 14:48:55,692 INFO  hive.metastore: [main]: Trying to connect to 
> metastore with URI thrift://host-10-17-81-201.coe.cloudera.com:9083
> 2016-02-18 14:53:55,800 WARN  hive.metastore: [main]: Failed to connect to 
> the MetaStore Server...
> 2016-02-18 14:53:55,800 INFO  hive.metastore: [main]: Waiting 1 seconds 
> before next connection attempt.
> 2016-02-18 14:53:56,801 INFO  hive.metastore: [main]: Trying to connect to 
> metastore with URI thrift://host-10-17-81-201.coe.cloudera.com:9083
> 2016-02-18 14:58:56,967 WARN  hive.metastore: [main]: Failed to connect to 
> the MetaStore Server...
> 2016-02-18 14:58:56,967 INFO  hive.metastore: [main]: Waiting 1 seconds 
> before next connection attempt.
> 2016-02-18 14:58:57,994 WARN  hive.ql.metadata.Hive: [main]: Failed to 
> register all functions.
> java.lang.RuntimeException: Unable to instantiate 
> org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
>         at 
> org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1492)
>         at 
> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:64)
>         at 
> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:74)
>         at 
> org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2915)
> .......
> 016-02-18 14:58:57,997 INFO  hive.metastore: [main]: Trying to connect to 
> metastore with URI thrift://host-10-17-81-201.coe.cloudera.com:9083
> 2016-02-18 15:03:58,094 WARN  hive.metastore: [main]: Failed to connect to 
> the MetaStore Server...
> 2016-02-18 15:03:58,095 INFO  hive.metastore: [main]: Waiting 1 seconds 
> before next connection attempt.
> 2016-02-18 15:03:59,095 INFO  hive.metastore: [main]: Trying to connect to 
> metastore with URI thrift://host-10-17-81-201.coe.cloudera.com:9083
> 2016-02-18 15:08:59,203 WARN  hive.metastore: [main]: Failed to connect to 
> the MetaStore Server...
> 2016-02-18 15:08:59,203 INFO  hive.metastore: [main]: Waiting 1 seconds 
> before next connection attempt.
> 2016-02-18 15:09:00,203 INFO  hive.metastore: [main]: Trying to connect to 
> metastore with URI thrift://host-10-17-81-201.coe.cloudera.com:9083
> 2016-02-18 15:14:00,304 WARN  hive.metastore: [main]: Failed to connect to 
> the MetaStore Server...
> 2016-02-18 15:14:00,304 INFO  hive.metastore: [main]: Waiting 1 seconds 
> before next connection attempt.
> 2016-02-18 15:14:01,306 INFO  org.apache.hive.service.server.HiveServer2: 
> [main]: Shutting down HiveServer2
> 2016-02-18 15:14:01,308 INFO  org.apache.hive.service.server.HiveServer2: 
> [main]: Exception caught when calling stop of HiveServer2 before retrying 
> start
> java.lang.NullPointerException
>         at 
> org.apache.hive.service.server.HiveServer2.stop(HiveServer2.java:283)
>         at 
> org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:351)
>         at 
> org.apache.hive.service.server.HiveServer2.access$400(HiveServer2.java:69)
>         at 
> org.apache.hive.service.server.HiveServer2$StartOptionExecutor.execute(HiveServer2.java:545)
> {code}
> And then none of the functions will be available for use as HS2 does not 
> re-register them after HMS is up and ready.
> This is not desired behaviour, we shouldn't allow HS2 to be in a servicing 
> state if function list is not ready. Or, maybe instead of initialize the 
> function list when HS2 starts, try to load the function list when each Hive 
> session is created. Of course we can have a cache of function list somewhere 
> for better performance, but we would better decouple it from class Hive.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to