[
https://issues.apache.org/jira/browse/PHOENIX-3484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15677786#comment-15677786
]
James Taylor commented on PHOENIX-3484:
---------------------------------------
FYI - a little explanation. For the case of major compaction, we depend on the
DefaultStatisticsCollector constructor setting up the guidePostsInfoWriterMap
here:
{code}
if (family != null) {
ImmutableBytesPtr cfKey = new ImmutableBytesPtr(family);
cachedGuidePosts = new Pair<Long, GuidePostsInfoBuilder>(0l, new
GuidePostsInfoBuilder());
guidePostsInfoWriterMap.put(cfKey, cachedGuidePosts);
{code}
The relatively new init() method was clearing this map which wasn't correct.
The DefaultStatisticsCollector is used once during compaction or update
statistics, so there's no need to reset any state.
> Major compaction does not update statistics based on table specific
> GUIDE_POSTS_WIDTH
> -------------------------------------------------------------------------------------
>
> Key: PHOENIX-3484
> URL: https://issues.apache.org/jira/browse/PHOENIX-3484
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.9.0
> Environment: HBase 0.98.17
> Reporter: Mujtaba Chohan
> Assignee: James Taylor
> Fix For: 4.9.0
>
> Attachments: PHOENIX-3484.patch
>
>
> 1. Create table T and upsert data
> 2. Set {{GUIDE_POSTS_WIDTH}} using {{ALTER T SET GUIDE_POSTS_WIDTH=x}}
> 3. truncate {{SYSTEM.STATS}} and restart HBase
> 4. Major compact T
> Stats are not updated in {{SYSTEM.STATS}} however running {{UPDATE
> STATISTICS}} work fine.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)