You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Gopal V (JIRA)" <ji...@apache.org> on 2016/03/08 04:29:40 UTC

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

Gopal V created HIVE-13225:
------------------------------

             Summary: LLAP: Stripe metadata cache holds unreachable keys 
                 Key: HIVE-13225
                 URL: https://issues.apache.org/jira/browse/HIVE-13225
             Project: Hive
          Issue Type: Bug
            Reporter: Gopal V
            Assignee: Sergey Shelukhin


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)