[ https://issues.apache.org/jira/browse/PIG-4299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14202951#comment-14202951 ]
Prashant Kommireddi commented on PIG-4299: ------------------------------------------ Thanks Daniel! Seems like our commits to branch 0.14 went around the same time and mine messed up the earlier commit. I just did a fresh commit once again. I didn't touch trunk so your commit was fine. > SpillableMemoryManager assumes tenured heap incorrectly > ------------------------------------------------------- > > Key: PIG-4299 > URL: https://issues.apache.org/jira/browse/PIG-4299 > Project: Pig > Issue Type: Bug > Affects Versions: 0.13.0 > Reporter: Prashant Kommireddi > Assignee: Prashant Kommireddi > Fix For: 0.14.0 > > Attachments: PIG-4299_1.patch > > > {code} > for (MemoryPoolMXBean b: mpbeans) { > log.debug("Found heap (" + b.getName() + > ") of type " + b.getType()); > if (b.getType() == MemoryType.HEAP) { > /* Here we are making the leap of faith that the biggest > * heap is the tenured heap > */ > long size = b.getUsage().getMax(); > totalSize += size; > if (size > biggestSize) { > biggestSize = size; > biggestHeap = b; > } > } > } > {code} > A memory pool being the biggest MemoryType.HEAP does not guarantee it being > tenured. Moreover, we must check whether usage threshold is supported by heap > before trying to set usage threshold on it. > Here is the stacktrace that resulted from this bug > java.lang.UnsupportedOperationException: Usage threshold is not supported > at sun.management.MemoryPoolImpl.setUsageThreshold(MemoryPoolImpl.java:114) > at > org.apache.pig.impl.util.SpillableMemoryManager.<init>(SpillableMemoryManager.java:130) > at > org.apache.pig.impl.util.SpillableMemoryManager.getInstance(SpillableMemoryManager.java:135) > at org.apache.pig.data.BagFactory.<init>(BagFactory.java:123) > at org.apache.pig.data.DefaultBagFactory.<init>(DefaultBagFactory.java:69) > at org.apache.pig.data.BagFactory.getInstance(BagFactory.java:81) > at > search.dashboard.VariableLengthTupleToBag.<clinit>(VariableLengthTupleToBag.java:27) -- This message was sent by Atlassian JIRA (v6.3.4#6332)