You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2015/04/07 20:28:12 UTC

[jira] [Commented] (HIVE-10219) BytesBytesMultiHashMap::clear() can't be concurrently used with reads

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

Sergey Shelukhin commented on HIVE-10219:
-----------------------------------------

Hmm... this is interesting. Do you think we should not clear HT at all and rely on GC? Is there any way to get notification of eviction from object cache?
Right now as I see it MapJoinOperator would clear HT after every run, so no sharing would work. I've no idea how it even works for some cases as it is

> BytesBytesMultiHashMap::clear() can't be concurrently used with reads
> ---------------------------------------------------------------------
>
>                 Key: HIVE-10219
>                 URL: https://issues.apache.org/jira/browse/HIVE-10219
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Gopal V
>            Assignee: Sergey Shelukhin
>
> The semantics of the HashMap::clear() is unclear for concurrent access.
> With HIVE-10128 fixes, the only remaining thread-safety concern is the behaviour of clear() calls.
> Concurrent usage + clearing from HybridHash and VectorMapJoin operator will result in race conditions.
> There is no valid clear() operations possible without knowledge of the cached nature and the ref-count of each hashtable.



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