You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alluxio Version:
2.10.0-SNAPSHOT and master branch
Describe the bug
Problem1.
When the acquire and release methods of BUF_POOL are frequently called, a large number of ByteBuffers are created, which occupy direct memory and are not released.
Assuming that direct memory left 2 , and the BUF_POOL currently only contains the following entries:
10 -> {}
20 -> {ByteBuffer,ByteBuffer}
Subsequently, when a request for acquire(8) arrives, it will satisfy the condition entry == null || entry.getValue().size() == 0, triggering the allocation of a new ByteBuffer with ByteBuffer.allocateDirect(8). However, since there are only 2 units of direct memory available, this will result in an OutOfMemoryError (OOM).
Alluxio Version:
2.10.0-SNAPSHOT and master branch
Describe the bug
Problem1.
When the
acquire
andrelease
methods of BUF_POOL are frequently called, a large number of ByteBuffers are created, which occupy direct memory and are not released.Assuming that direct memory left 2 , and the BUF_POOL currently only contains the following entries:
Subsequently, when a request for
acquire(8)
arrives, it will satisfy the conditionentry == null || entry.getValue().size() == 0
, triggering the allocation of a new ByteBuffer withByteBuffer.allocateDirect(8)
. However, since there are only 2 units of direct memory available, this will result in an OutOfMemoryError (OOM).To Reproduce
alluxio fs load xxxxx (large directory) --submit;
Expected behavior
For Problem1
After executing
entry.getValue().pop()
, ifentry.getValue()==0
, then the entry should be removed from the BUF_POOL.Urgency
If your cluster has ever run out of off-heap memory, you can check for this problem;
Are you planning to fix it
Additional context
The text was updated successfully, but these errors were encountered: