I would love to get rid of the static thread local stuff. It was required to make hive work in a server model but isn't the correct solution to this problem.
I do think it will be a large amount of work so it'd be great to see whoever leads this effort to have a high level plan as opposed to an adhoc effort. On Sat, Aug 10, 2013 at 12:32 PM, Edward Capriolo <edlinuxg...@gmail.com>wrote: > I just committed https://issues.apache.org/jira/browse/HIVE-3772. > > For hive-server2 Carl and others did a lot of work to clean up un thread > safe things from hive. > > Hive was originally build as a fat client so it is not surprising that many > such constructs exist. Now since we have retrofitted multi-threaded-ness > onto the project we have a number of edge case bugs. > > My suggestions here would be for that the next release 0.13 we make a push > to remove all possible non thread safe code and explicitly pass context > objects or serialized structures everywhere thread safety is needed. > > I can see this would start with something like the Function Registry, this > would be a per session object passed around rather then a global object > with static hashmap instances in it. > > I know that this probably will not be as simple as removing all static > members from our codebase, but does anyone know of specific challenges that > will be intrinsically hard to solve? > > Please comment. > -- Apache MRUnit - Unit testing MapReduce - http://mrunit.apache.org