[ https://issues.apache.org/jira/browse/HIVE-19776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16499208#comment-16499208 ]
Thejas M Nair commented on HIVE-19776: -------------------------------------- The change is mainly to refactor the initialization of server and that of stop so that stop doesn't go ahead and try to stop before initialization thread has actually initialized the server. Also added thread.interrupt to interrupt the background thread. The blocking call to the server (server.join() ) do check for interrupts and would stop. > HiveServer2.startHiveServer2 retries of start has concurrency issues > -------------------------------------------------------------------- > > Key: HIVE-19776 > URL: https://issues.apache.org/jira/browse/HIVE-19776 > Project: Hive > Issue Type: Improvement > Reporter: Thejas M Nair > Assignee: Thejas M Nair > Priority: Major > Labels: pull-request-available > Attachments: HIVE-19776.1.patch > > > HS2 starts the thrift binary/http servers in background, while it proceeds to > do other setup (eg create zookeeper entries). If there is a ZK error and it > attempts to stop and start in the retry loop within > HiveServer2.startHiveServer2, the retry fails because the thrift server > doesn't get stopped if it was still getting initialized. > The thrift server initialization and stopping needs to be synchronized. -- This message was sent by Atlassian JIRA (v7.6.3#76005)