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)