[ 
https://issues.apache.org/jira/browse/PHOENIX-4224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16177732#comment-16177732
 ] 

Ankit Singhal commented on PHOENIX-4224:
----------------------------------------

yep, PHOENIX-4010 was not expected to take care of this case because we expect 
the user to increase expiry time of the cache if they see such errors.

The purpose of this snippet is to send hash cache to the regionserver(who has 
never received cache) only once even if many scans belonging to it fail. once 
the cache has been sent, we will retry all the failed scans of that 
regionserver. 

{code}
if (cache.addServer(tableRegionLocation) ... )) {
                                success = addServerCache(table, 
startkeyOfRegion, pTable, cacheId, cache.getCachePtr(), cacheFactory, txState);
                        }
{code}

The code should eventually come out from recursion after configured no. of 
retries. Are you saying it's not happening or recursion propagating failure 
slow?


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