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)