[
https://issues.apache.org/jira/browse/PHOENIX-2903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15295898#comment-15295898
]
Rajeshbabu Chintaguntla commented on PHOENIX-2903:
--------------------------------------------------
There are two case NotServingRegionException will be thrown
1) When the region closed/closing(because of region split or move) while
creating scanner. This can happen between preScannerOpen and postScannerOpen.
We have the region closing checks in region.startRegionOperation and it will
throw NSRE.
Code snippet from HBase.
{noformat}
if (this.closing.get()) {
throw new
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is
closing");
}
lock(lock.readLock());
if (this.closed.get()) {
lock.readLock().unlock();
throw new
NotServingRegionException(getRegionInfo().getRegionNameAsString() + " is
closed");
}
{noformat}
2) Second when we have stale cache of regions at hbase client and try to create
scanners we try to contact the server with cached region then server throw NSRE
this hbase client itself automatically handle by getting proper region of scan
boundaries and contact the server holding the regions. When there is a split
first we try to contact server with parent region info but since it's not
present we get two split regions and create scanners on it. But for child
regions we see scan range out of boundary to region we throw Stale region
boundary exception.
> Handle split during scan for row key ordered aggregations
> ---------------------------------------------------------
>
> Key: PHOENIX-2903
> URL: https://issues.apache.org/jira/browse/PHOENIX-2903
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: James Taylor
> Attachments: PHOENIX-2903_v1.patch, PHOENIX-2903_wip.patch
>
>
> Currently a hole in our split detection code
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)