Skip to content

Commit dc54cda

Browse files
authored
AllocationListener should be called in BufferLedger#transferBalance(...) (apache#51)
1 parent 5893941 commit dc54cda

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

java/memory/memory-core/src/main/java/org/apache/arrow/memory/BufferLedger.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,12 @@ boolean transferBalance(final ReferenceManager targetReferenceManager) {
369369
targetReferenceManager.getAllocator().getName());
370370
}
371371

372-
boolean overlimit = targetAllocator.forceAllocate(memoryChunkManager.getSize());
373-
allocator.releaseBytes(memoryChunkManager.getSize());
372+
long size = memoryChunkManager.getSize();
373+
targetAllocator.getListener().onPreAllocation(size);
374+
boolean overlimit = targetAllocator.forceAllocate(size);
375+
targetAllocator.getListener().onAllocation(size);
376+
allocator.releaseBytes(size);
377+
allocator.getListener().onRelease(size);
374378
// since the transfer can only happen from the owning reference manager,
375379
// we need to set the target ref manager as the new owning ref manager
376380
// for the chunk of memory in MemoryChunkManager

0 commit comments

Comments
 (0)