[ 
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)

Reply via email to