Skip to content

Commit

Permalink
release ByteBuf off heap memory block
Browse files Browse the repository at this point in the history
  • Loading branch information
Pengzna committed Oct 26, 2024
1 parent d9cf408 commit aaeacb5
Show file tree
Hide file tree
Showing 16 changed files with 124 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,7 @@ public interface MemoryAllocator {

Object forceAllocate(long size);

void releaseMemory(long size);
void returnMemoryToManager(long size);

void releaseMemoryBlock(Object memoryBlock);
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import io.netty.buffer.ByteBuf;
import io.netty.buffer.PooledByteBufAllocator;
import io.netty.util.ReferenceCountUtil;

/**
* This class makes fully use of Netty's efficient memory management strategy.
Expand Down Expand Up @@ -50,7 +51,24 @@ public ByteBuf tryToAllocate(long size) {
}

@Override
public void releaseMemory(long size) {
public void returnMemoryToManager(long size) {
memoryManager.getCurrentOffHeapAllocatedMemory().addAndGet(-size);
}

Check warning on line 56 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java#L55-L56

Added lines #L55 - L56 were not covered by tests

@Override
public void releaseMemoryBlock(Object memoryBlock) {
if (!(memoryBlock instanceof ByteBuf)) {
throw new IllegalArgumentException("memoryBlock must be ByteBuf");

Check warning on line 61 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java#L61

Added line #L61 was not covered by tests
}
ByteBuf buf = (ByteBuf) memoryBlock;
ReferenceCountUtil.safeRelease(buf, ReferenceCountUtil.refCnt(buf));
}

Check warning on line 65 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java#L63-L65

Added lines #L63 - L65 were not covered by tests

public static void main(String[] args) {
MemoryAllocator netty = new NettyMemoryAllocator(null);
ByteBuf buf = (ByteBuf) netty.forceAllocate(1024);
System.out.println(ReferenceCountUtil.refCnt(buf));
netty.releaseMemoryBlock(buf);
System.out.println(ReferenceCountUtil.refCnt(buf));
}

Check warning on line 73 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/NettyMemoryAllocator.java#L68-L73

Added lines #L68 - L73 were not covered by tests
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,12 @@ public byte[] forceAllocate(long size) {
}

@Override
public void releaseMemory(long size) {
public void returnMemoryToManager(long size) {
memoryManager.getCurrentOnHeapAllocatedMemory().addAndGet(-size);
}

Check warning on line 53 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/OnHeapMemoryStrategy.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/OnHeapMemoryStrategy.java#L52-L53

Added lines #L52 - L53 were not covered by tests

@Override
public void releaseMemoryBlock(Object memoryBlock) {
memoryBlock = null;
}

Check warning on line 58 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/OnHeapMemoryStrategy.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/allocator/OnHeapMemoryStrategy.java#L57-L58

Added lines #L57 - L58 were not covered by tests
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@

package org.apache.hugegraph.memory.consumer;

import java.util.List;

import org.apache.hugegraph.memory.pool.MemoryPool;

import io.netty.buffer.ByteBuf;

/**
* This interface is used by immutable, memory-heavy objects which will be stored in off heap.
*/
Expand All @@ -44,4 +48,6 @@ public interface MemoryConsumer {
void releaseOriginalOnHeapVars();

MemoryPool getOperatorMemoryPool();

List<ByteBuf> getAllOffHeapByteBuf();
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@

package org.apache.hugegraph.memory.consumer.impl.id;

import java.util.Collections;
import java.util.List;

import org.apache.hugegraph.backend.id.Id;
import org.apache.hugegraph.backend.serializer.BinaryBackendEntry;
import org.apache.hugegraph.memory.consumer.MemoryConsumer;
Expand Down Expand Up @@ -59,6 +62,11 @@ public MemoryPool getOperatorMemoryPool() {
return this.memoryPool;

Check warning on line 62 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/BinaryIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/BinaryIdOffHeap.java#L62

Added line #L62 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(bytesOffHeap);

Check warning on line 67 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/BinaryIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/BinaryIdOffHeap.java#L67

Added line #L67 was not covered by tests
}

@Override
public void releaseOriginalOnHeapVars() {
this.bytes = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
package org.apache.hugegraph.memory.consumer.impl.id;

import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Objects;

import org.apache.hugegraph.backend.id.EdgeId;
Expand All @@ -29,6 +30,8 @@
import org.apache.hugegraph.structure.HugeVertex;
import org.apache.hugegraph.type.define.Directions;

import com.google.common.collect.Lists;

import io.netty.buffer.ByteBuf;

// TODO: rewrite static method in EdgeId
Expand Down Expand Up @@ -140,6 +143,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 143 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/EdgeIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/EdgeIdOffHeap.java#L143

Added line #L143 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Lists.newArrayList(this.sortValuesOffHeap, this.cacheOffHeap);

Check warning on line 148 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/EdgeIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/EdgeIdOffHeap.java#L148

Added line #L148 was not covered by tests
}

@Override
public EdgeId switchDirection() {
Directions newDirection = this.direction.opposite();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@

import static org.apache.hugegraph.backend.id.IdGenerator.compareType;

import java.util.Collections;
import java.util.List;
import java.util.Objects;

import org.apache.hugegraph.backend.id.Id;
Expand Down Expand Up @@ -75,6 +77,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 77 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/LongIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/LongIdOffHeap.java#L77

Added line #L77 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(idOffHeap);

Check warning on line 82 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/LongIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/LongIdOffHeap.java#L82

Added line #L82 was not covered by tests
}

@Override
public long asLong() {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package org.apache.hugegraph.memory.consumer.impl.id;

import java.util.Collections;
import java.util.List;
import java.util.Objects;

import org.apache.hugegraph.backend.id.IdGenerator;
Expand Down Expand Up @@ -63,6 +65,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 65 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/ObjectIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/ObjectIdOffHeap.java#L65

Added line #L65 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(objectOffHeap);

Check warning on line 70 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/ObjectIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/ObjectIdOffHeap.java#L70

Added line #L70 was not covered by tests
}

@Override
public Object asObject() {
return FurySerializationUtils.FURY.deserialize(ByteBufUtil.getBytes(objectOffHeap));

Check warning on line 75 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/ObjectIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/ObjectIdOffHeap.java#L75

Added line #L75 was not covered by tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
package org.apache.hugegraph.memory.consumer.impl.id;

import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;

import org.apache.hugegraph.backend.cache.CachedBackendStore;
import org.apache.hugegraph.backend.id.Id;
Expand Down Expand Up @@ -69,6 +71,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 71 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/QueryIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/QueryIdOffHeap.java#L71

Added line #L71 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(queryOffHeap);

Check warning on line 76 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/QueryIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/QueryIdOffHeap.java#L76

Added line #L76 was not covered by tests
}

@Override
public boolean equals(Object other) {
if (!(other instanceof QueryIdOffHeap)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import static org.apache.hugegraph.backend.id.IdGenerator.compareType;

import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;

import org.apache.hugegraph.backend.id.Id;
import org.apache.hugegraph.backend.id.IdGenerator;
Expand Down Expand Up @@ -75,6 +77,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 77 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/StringIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/StringIdOffHeap.java#L77

Added line #L77 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(idOffHeap);

Check warning on line 82 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/StringIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/StringIdOffHeap.java#L82

Added line #L82 was not covered by tests
}

@Override
public Object asObject() {
return this.asString();

Check warning on line 87 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/StringIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/StringIdOffHeap.java#L87

Added line #L87 was not covered by tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import static org.apache.hugegraph.backend.id.IdGenerator.compareType;

import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.UUID;

import org.apache.hugegraph.backend.id.Id;
Expand Down Expand Up @@ -87,6 +89,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 89 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/UuidIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/UuidIdOffHeap.java#L89

Added line #L89 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(idOffHeap);

Check warning on line 94 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/UuidIdOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/id/UuidIdOffHeap.java#L94

Added line #L94 was not covered by tests
}

@Override
public Object asObject() {
return FurySerializationUtils.FURY.deserialize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package org.apache.hugegraph.memory.consumer.impl.property;

import java.util.Collections;
import java.util.List;
import java.util.NoSuchElementException;

import org.apache.hugegraph.memory.consumer.MemoryConsumer;
Expand Down Expand Up @@ -68,6 +70,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 70 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeEdgePropertyOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeEdgePropertyOffHeap.java#L70

Added line #L70 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(valueOffHeap);

Check warning on line 75 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeEdgePropertyOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeEdgePropertyOffHeap.java#L75

Added line #L75 was not covered by tests
}

@Override
public HugeEdgeProperty<V> switchEdgeOwner() {
assert this.owner instanceof HugeEdge;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

package org.apache.hugegraph.memory.consumer.impl.property;

import java.util.Collections;
import java.util.List;
import java.util.NoSuchElementException;

import org.apache.hugegraph.memory.consumer.MemoryConsumer;
Expand Down Expand Up @@ -67,6 +69,11 @@ public MemoryPool getOperatorMemoryPool() {
return memoryPool;

Check warning on line 69 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeVertexPropertyOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeVertexPropertyOffHeap.java#L69

Added line #L69 was not covered by tests
}

@Override
public List<ByteBuf> getAllOffHeapByteBuf() {
return Collections.singletonList(valueOffHeap);

Check warning on line 74 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeVertexPropertyOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeVertexPropertyOffHeap.java#L74

Added line #L74 was not covered by tests
}

@Override
public Object serialValue(boolean encodeNumber) {
return this.pkey.serialValue(this.value(), encodeNumber);

Check warning on line 79 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeVertexPropertyOffHeap.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/consumer/impl/property/HugeVertexPropertyOffHeap.java#L79

Added line #L79 was not covered by tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import java.util.concurrent.locks.ReentrantLock;

import org.apache.hugegraph.memory.MemoryManager;
import org.apache.hugegraph.memory.consumer.MemoryConsumer;
import org.apache.hugegraph.memory.pool.impl.MemoryPoolStats;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -139,6 +140,11 @@ public Object tryToAcquireMemoryInternal(long bytes) {
return null;

Check warning on line 140 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/AbstractMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/AbstractMemoryPool.java#L138-L140

Added lines #L138 - L140 were not covered by tests
}

@Override
public void bindMemoryConsumer(MemoryConsumer memoryConsumer) {
// default do nothing
}

Check warning on line 146 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/AbstractMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/AbstractMemoryPool.java#L146

Added line #L146 was not covered by tests

@Override
public Object requireMemory(long bytes) {
return null;

Check warning on line 150 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/AbstractMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/AbstractMemoryPool.java#L150

Added line #L150 was not covered by tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

package org.apache.hugegraph.memory.pool;

import org.apache.hugegraph.memory.consumer.MemoryConsumer;
import org.apache.hugegraph.memory.pool.impl.MemoryPoolStats;
import org.apache.hugegraph.memory.util.QueryOutOfMemoryException;

Expand Down Expand Up @@ -49,4 +50,6 @@ public interface MemoryPool {
MemoryPool getParentPool();

MemoryPool findRootQueryPool();

void bindMemoryConsumer(MemoryConsumer memoryConsumer);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@

package org.apache.hugegraph.memory.pool.impl;

import java.util.HashSet;
import java.util.Set;

import org.apache.hugegraph.memory.MemoryManager;
import org.apache.hugegraph.memory.allocator.MemoryAllocator;
import org.apache.hugegraph.memory.consumer.MemoryConsumer;
import org.apache.hugegraph.memory.pool.AbstractMemoryPool;
import org.apache.hugegraph.memory.pool.MemoryPool;
import org.apache.hugegraph.memory.util.MemoryManageUtils;
Expand All @@ -30,16 +34,27 @@ public class OperatorMemoryPool extends AbstractMemoryPool {

private static final Logger LOG = LoggerFactory.getLogger(OperatorMemoryPool.class);

Check warning on line 35 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java#L35

Added line #L35 was not covered by tests
private final MemoryAllocator memoryAllocator;
private final Set<MemoryConsumer> memoryConsumers;

public OperatorMemoryPool(MemoryPool parent, String poolName,
MemoryAllocator memoryAllocator, MemoryManager memoryManager) {
super(parent, poolName, memoryManager);
this.memoryAllocator = memoryAllocator;
this.memoryConsumers = new HashSet<>();
}

Check warning on line 44 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java#L41-L44

Added lines #L41 - L44 were not covered by tests

@Override
public void bindMemoryConsumer(MemoryConsumer memoryConsumer) {
this.memoryConsumers.add(memoryConsumer);
}

Check warning on line 49 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java#L48-L49

Added lines #L48 - L49 were not covered by tests

@Override
public synchronized void releaseSelf(String reason) {
this.memoryAllocator.releaseMemory(getAllocatedBytes());
this.memoryAllocator.returnMemoryToManager(getAllocatedBytes());
this.memoryConsumers.forEach(memoryConsumer -> {
memoryConsumer.getAllOffHeapByteBuf().forEach(memoryAllocator::releaseMemoryBlock);
});
this.memoryConsumers.clear();
super.releaseSelf(reason);

Check warning on line 58 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java#L53-L58

Added lines #L53 - L58 were not covered by tests
// TODO: release memory consumer, release byte buffer.
}

Check warning on line 60 in hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java

View check run for this annotation

Codecov / codecov/patch

hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/memory/pool/impl/OperatorMemoryPool.java#L60

Added line #L60 was not covered by tests
Expand Down

0 comments on commit aaeacb5

Please sign in to comment.