[
https://issues.apache.org/jira/browse/HIVE-17994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16264901#comment-16264901
]
Gopal V commented on HIVE-17994:
--------------------------------
The TypeInfo is a singleton object (from the the factory object), so it looks
like I've got class-loader sharing race conditions with this (i.e thread 1
class loader showing up for thread 2).
Is there some way to restrict this patch to just vectorization code on the task
side (like holding the PrimitiveType[] in the initialize in the operator?) and
not accidentally kick-in because the HS2 planner hasn't got locks (& separate
class loaders for each query).
> Vectorization: Serialization bottlenecked on irrelevant hashmap lookup
> ----------------------------------------------------------------------
>
> Key: HIVE-17994
> URL: https://issues.apache.org/jira/browse/HIVE-17994
> Project: Hive
> Issue Type: Bug
> Reporter: Gopal V
> Assignee: Matt McCline
> Priority: Minor
> Attachments: HIVE-17994.01.patch, HIVE-17994.02.patch,
> HIVE-17994.03.patch, HIVE-17994.04.patch, HIVE-17994.05.patch,
> vec-serialize-hashmap.png
>
>
> On machines with slower NUMA, the hashmap lookup for
> TypeInfo::getPrimitiveCategory is the slowest part of the vectorized
> serialization loops. The static object references run hot with the NUMA
> access speeds penalizing half the threads.
> This lookup is done for every column, for every row - though vectorization
> enforces that this type cannot change at all.
> !vec-serialize-hashmap.png!
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)