You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2015/12/14 22:55:46 UTC

[jira] [Updated] (PHOENIX-2527) InsufficientMemoryException error message is misleading

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

Enis Soztutar updated PHOENIX-2527:
-----------------------------------
    Attachment: phoenix-2527_v1.patch

Attaching one-liner. 

> InsufficientMemoryException error message is misleading
> -------------------------------------------------------
>
>                 Key: PHOENIX-2527
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2527
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>         Attachments: phoenix-2527_v1.patch
>
>
> We got an InsufficientMemoryException from user code, and was confused about why it cannot allocate more memory, while it reports as having remaining available memory: 
> {code}
> Caused by: org.apache.phoenix.memory.InsufficientMemoryException: Requested memory of 1185 bytes could not be allocated from remaining memory of 128843776 bytes from global pool of 128843776 bytes after w
> aiting for 10000ms.
>         at org.apache.phoenix.memory.GlobalMemoryManager.allocateBytes(GlobalMemoryManager.java:81)
>         at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:102)
>         at org.apache.phoenix.memory.GlobalMemoryManager.allocate(GlobalMemoryManager.java:108)
>         at org.apache.phoenix.cache.ServerCacheClient.addServerCache(ServerCacheClient.java:147)
>         at org.apache.phoenix.join.HashCacheClient.addHashCache(HashCacheClient.java:83)
>         at org.apache.phoenix.execute.HashJoinPlan$HashSubPlan.execute(HashJoinPlan.java:346)
>         at org.apache.phoenix.execute.HashJoinPlan$1.call(HashJoinPlan.java:143)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         at org.apache.phoenix.job.JobManager$InstrumentedJobFutureTask.run(JobManager.java:172)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> {code}
> Turns out that remaining memory is actually used memory. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)