[
https://issues.apache.org/jira/browse/PHOENIX-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15043828#comment-15043828
]
Ankit Singhal commented on PHOENIX-2249:
----------------------------------------
thanks [~jamestaylor] for the review,
{quote}Looking at this closer, I'm confused because we already delete the stats
for the regions being compacted when the InternalScanner returned from
createCompactionScanner is closed (see calls to
StatisticsWriter.deleteStats()).{quote}
This only update the parent region. Daughter regions were never updated.
{quote}
To be honest, I'm not sure what the HBase life cycle is when a merge occurs
(i.e. when admin.mergeRegions() is called) - does it come through this same
preCompact coprocessor hook?.{quote}
Yes, during postMerge (at RegionServerObserver level), we can combine them but
we need to ask the user to add this Observer in hbase configuration and also it
will not be necessary as these regions become stale only after compaction is
completed.
{quote}
Is the merge operation distinct/orthogonal to a compaction? I expected there to
be a merge coprocessor hook in which we'd just concatenate the stats
information together (as two regions are now becoming one, but the content
hasn't changed).{quote}
Merge is distinct operation than compaction.CompactSplitThread will initiate
the compaction as soon it sees the reference files(daughter region) in the
store. Merge coprocessor hook will also not necessary as compaction will create
a new stats for the new region.
{quote}One high level comment - when we update stats, we collect up all the
stats information in our StatisticsWriter and commit them in bulk so that
they're updated atomically.{quote}
Yes agreed, we should do this also atomically with update operation. so moved
the code where we are updating stats of parent region.
PFA, updated patch after incorporating your review comments.
> SYSTEM.STATS not update after region merge occurs.
> --------------------------------------------------
>
> Key: PHOENIX-2249
> URL: https://issues.apache.org/jira/browse/PHOENIX-2249
> Project: Phoenix
> Issue Type: Bug
> Environment: Ubuntu server 14.04
> Hadoop 2.6.0
> HBase 1.0.0
> Phoenix 4.4.0-HBase-1.0.0
> Reporter: Kuan-Po Tseng
> Assignee: Ankit Singhal
> Fix For: 4.7.0
>
> Attachments: PHOENIX-2249.patch
>
>
> When region merge occurs, SYSTEM.STATS does not update, it will leave stale
> information behind. And then if region splits on the merged region, this may
> cause
> "org.apache.phoenix.schema.StaleRegionBoundaryCacheException: ERROR 1108
> (XCL08): Cache of region boundaries are out of date"
> after creating parallel scans since the stale information in SYSTEM.STATS
> will let guide post list not sorted in ascending order and this will cause
> scans over regions.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)