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