You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Sergey Soldatov (JIRA)" <ji...@apache.org> on 2017/09/26 21:47:01 UTC

[jira] [Updated] (PHOENIX-4225) Using Google cache may lead to lock up on RS side.

     [ https://issues.apache.org/jira/browse/PHOENIX-4225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Soldatov updated PHOENIX-4225:
-------------------------------------
    Attachment: PHOENIX-4225-1.patch

Easy fix with calling cache cleanup when we try to get/add cache. Two test cases added :
1. check that after accessing expired cache the memory manager reports the correct value of available memory
2. Check that if cache has expired and never was accessed, adding new cache would not block the memory manager. 

> Using Google cache may lead to lock up on RS side. 
> ---------------------------------------------------
>
>                 Key: PHOENIX-4225
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4225
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Sergey Soldatov
>            Assignee: Sergey Soldatov
>             Fix For: 4.12.0
>
>         Attachments: PHOENIX-4225-1.patch
>
>
> On the server side we are using google cache with life time bounds. This is integrated with GlobalMemoryManager which is used for almost all tasks that requires memory allocation. The problem is that when the cache member get removed, it doesn't send remove notification until next write/get operation happen. But in some cases once the large cache was removed (but memory manager doesn't know that since it relies on the notification), we try to resend it and memory manager get stuck waiting for free space, blocking all other operations with the memory manager.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)