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