Enis Soztutar created PHOENIX-2527: -------------------------------------- Summary: 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
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)