Recovery buffer size 16B smaller (#50100)

G1GC will use humongous allocations when an allocation exceeds half the
chosen region size, which is minimum 1MB. By reducing the recovery
buffer size by 16 bytes we ensure that the recovery buffer is never
allocated as a humongous allocation.
This commit is contained in:
Henning Andersen 2019-12-16 21:59:54 +01:00 committed by Henning Andersen
parent 620b84c84d
commit 8391b974c5
1 changed files with 2 additions and 1 deletions

View File

@ -81,7 +81,8 @@ public class RecoverySettings {
INDICES_RECOVERY_INTERNAL_LONG_ACTION_TIMEOUT_SETTING::get, TimeValue.timeValueSeconds(0),
Property.Dynamic, Property.NodeScope);
public static final ByteSizeValue DEFAULT_CHUNK_SIZE = new ByteSizeValue(512, ByteSizeUnit.KB);
// choose 512KB-16B to ensure that the resulting byte[] is not a humongous allocation in G1.
public static final ByteSizeValue DEFAULT_CHUNK_SIZE = new ByteSizeValue(512 * 1024 - 16, ByteSizeUnit.BYTES);
private volatile ByteSizeValue maxBytesPerSec;
private volatile int maxConcurrentFileChunks;