Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2841#discussion_r227246446
--- Diff:
core/src/main/java/org/apache/carbondata/core/memory/UnsafeMemoryManager.java
---
@@ -124,8 +116,21 @@ private synchronized MemoryBlock
allocateMemory(MemoryType memoryType, String ta
+ "Bytes");
}
return allocate;
+ } else {
+ MemoryBlock allocate =
MemoryAllocator.HEAP.allocate(memoryRequested);
+ Set<MemoryBlock> listOfMemoryBlock =
taskIdToMemoryBlockMap.get(taskId);
+ if (null == listOfMemoryBlock) {
+ listOfMemoryBlock = new HashSet<>();
+ taskIdToMemoryBlockMap.put(taskId, listOfMemoryBlock);
+ }
+ listOfMemoryBlock.add(allocate);
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug("Memory block (" + allocate + ") is created with size
" + allocate.size()
+ + ". Total memory used " + memoryUsed + "Bytes, left " +
(totalMemory - memoryUsed)
+ + "Bytes");
--- End diff --
for On-Heap case totalMemory can be 0 also if not configured...so bytes
left cannot be printed in the debug logs. For printing memory used add the
allocated size to memory used for on-heap case
---