[
https://issues.apache.org/jira/browse/PHOENIX-4224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16180217#comment-16180217
]
Ankit Singhal commented on PHOENIX-4224:
----------------------------------------
bq. From the end user perspective that looks like the query fail by timeout or
crash with StackOverflow exception
It should not crash with StackOverflow exception as the number of
retries/recursion is limited to hashjoin.client.retries.number(default is 5).
Anyways, wasting even single retry for this particular case where the cache at
the server is expired is unnecessary overhead. +1 for the fix.
> Automatic resending cache for HashJoin doesn't work when cache has expired on
> server side
> ------------------------------------------------------------------------------------------
>
> Key: PHOENIX-4224
> URL: https://issues.apache.org/jira/browse/PHOENIX-4224
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.12.0
> Reporter: Sergey Soldatov
> Assignee: Sergey Soldatov
> Priority: Blocker
> Fix For: 4.12.0
>
> Attachments: PHOENIX-4224-1.patch
>
>
> The problem occurs when the cache has expired on server side and client want
> to resend it. This problem has been introduced in PHOENIX-4010. Actual result
> in this case is that client doesn't send the cache because of the following
> check:
> {noformat}
> if (cache.addServer(tableRegionLocation) ... )) {
> success = addServerCache(table,
> startkeyOfRegion, pTable, cacheId, cache.getCachePtr(), cacheFactory,
> txState);
> }
> {noformat}
> Since the region location hasn't been changed, we actually don't send cache
> again, but produce new scanner which will fail with the same error and client
> will fall to recursion.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)