[ 
https://issues.apache.org/jira/browse/SPARK-19978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hyukjin Kwon resolved SPARK-19978.
----------------------------------
    Resolution: Incomplete

> spark thrift server to switch to normative hadoop 2.2+ service lifecycle
> ------------------------------------------------------------------------
>
>                 Key: SPARK-19978
>                 URL: https://issues.apache.org/jira/browse/SPARK-19978
>             Project: Spark
>          Issue Type: Improvement
>          Components: Spark Core
>    Affects Versions: 2.2.0
>            Reporter: Steve Loughran
>            Priority: Minor
>              Labels: bulk-closed
>
> Spark's hive-thriftserver module (for which there isn't a JIRA component yet, 
> BTW), contains, in {{org.apache.hive.service}}, a copy and paste of Hive's 
> service lifecyle classes.
> Hive's classes are in fact a copy and paste of the Hadoop 0.23 service 
> lifecycle classes. Those were reworked, "fixed" for Hadoop 2.2 by all the 
> changes in YARN-117
> in particular
> * restructuring of subclass point means that the state checks happen at the 
> right place to stop re-entrancy
> * no race conditions on the methods
> * resilient stop
> * composite service handles failure of child services properly
> * very handy diagnostics logging of lifecycles
> * robust listener API.
> + various other fixes
> The hive thriftserver services can and should move to the hadoop 2.2 ones, 
> which will take a couple of hours, testing included. 
> Essentially
> # change parent
> # move subclass operations from init/start/stop to serviceInit(), 
> serviceStart and serviceStop() methods
> # test
> The only troublespot is hive's calls take a HiveConf in init; I'd fix that by 
> still taking a Hadoop Configuration (the superclass) but having a 
> {[HiveService extends AbstractService}} that always makes sure the stored 
> conf is a HiveConf, and add a getHiveConf() method for subclasses to access 
> it. The subclasses will also get a guarantee that their 
> {{serviceInit(Configuration)}} call will always be supplied a config which 
> can be cast to HiveConf. I'll need to add a CompositeService.
> If people want this, I can do it. If they don't, I wont bother.
> As to why Hive have an out-of-date subclass of the original lifecycle stuff? 
> That topic has been raise in the past, it always came down to "we wanted to 
> run on older versions of Hadoop".  They can revisit that discussion...doesn't 
> mean other projects can't make their own choices



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to