You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Gopal V (JIRA)" <ji...@apache.org> on 2016/03/08 05:31:40 UTC
[jira] [Resolved] (HIVE-13225) LLAP: Stripe metadata cache holds
unreachable keys
[ https://issues.apache.org/jira/browse/HIVE-13225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gopal V resolved HIVE-13225.
----------------------------
Resolution: Invalid
Cache issue seems to be entirely related to the linked patch - back to inspecting that patch for cache hit-rate metrics.
> 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)