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 2016/03/08 21:16:40 UTC

[jira] [Commented] (HIVE-13225) LLAP: Stripe metadata cache holds unreachable keys

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

Sergey Shelukhin commented on HIVE-13225:
-----------------------------------------

Probably some bug there, I'll take a look. 

> LLAP: Stripe metadata cache holds unreachable keys 
> ---------------------------------------------------
>
>                 Key: HIVE-13225
>                 URL: https://issues.apache.org/jira/browse/HIVE-13225
>             Project: Hive
>          Issue Type: Bug
>          Components: llap
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Gopal V
>            Assignee: Gopal V
>
> The Hash inspection reported that there were some unreachable keys in the metadata hashmap.
> {code}
> for (...) {
>       if (hasFileId && metadataCache != null) {
>         stripeKey.stripeIx = stripeIx;
>         value = metadataCache.getStripeMetadata(stripeKey);
>       }
>       if (value == null || !value.hasAllIndexes(globalInc)) {
>           if (hasFileId && metadataCache != null) {
>             value = metadataCache.putStripeMetadata(value);
> ...
> }
> {code}
> Means that the hashCode of the key changes after the put if there are > 1 stripes in the file.
> {code}
>   public OrcStripeMetadata putStripeMetadata(OrcStripeMetadata metaData) {
> ....
>     OrcStripeMetadata val = stripeMetadata.putIfAbsent(metaData.getKey(), metaData);
> {code}
> needs to make a copy of the Key, if it needs to preserve hash consistency.



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