public class IndexingMemoryController extends AbstractLifecycleComponent<IndexingMemoryController>
Modifier and Type | Field and Description |
---|---|
static ByteSizeValue |
INACTIVE_SHARD_INDEXING_BUFFER
Once a shard becomes inactive, we reduce the
IndexWriter buffer to this value (500 KB) to let active shards use the heap instead. |
static ByteSizeValue |
INACTIVE_SHARD_TRANSLOG_BUFFER
Once a shard becomes inactive, we reduce the
Translog buffer to this value (1 KB) to let active shards use the heap instead. |
static String |
INDEX_BUFFER_SIZE_SETTING
How much heap (% or bytes) we will share across all actively indexing shards on this node (default: 10%).
|
static String |
MAX_INDEX_BUFFER_SIZE_SETTING
Only applies when
indices.memory.index_buffer_size is a %, to set a ceiling on the actual size in bytes (default: not set). |
static String |
MAX_SHARD_INDEX_BUFFER_SIZE_SETTING
Sets a ceiling on the per-shard index buffer size (default: 512 MB).
|
static String |
MAX_SHARD_TRANSLOG_BUFFER_SIZE_SETTING
Sets a ceiling on the per-shard translog buffer size (default: 64 KB).
|
static String |
MAX_TRANSLOG_BUFFER_SIZE_SETTING
Only applies when
indices.memory.translog_buffer_size is a %, to set a ceiling on the actual size in bytes (default: not set). |
static String |
MIN_INDEX_BUFFER_SIZE_SETTING
Only applies when
indices.memory.index_buffer_size is a %, to set a floor on the actual size in bytes (default: 48 MB). |
static String |
MIN_SHARD_INDEX_BUFFER_SIZE_SETTING
Sets a floor on the per-shard index buffer size (default: 4 MB).
|
static String |
MIN_SHARD_TRANSLOG_BUFFER_SIZE_SETTING
Sets a floor on the per-shard translog buffer size (default: 2 KB).
|
static String |
MIN_TRANSLOG_BUFFER_SIZE_SETTING
Only applies when
indices.memory.translog_buffer_size is a %, to set a floor on the actual size in bytes (default: 256 KB). |
static String |
SHARD_INACTIVE_INTERVAL_TIME_SETTING
How frequently we check shards to find inactive ones (default: 30 seconds).
|
static String |
SHARD_INACTIVE_TIME_SETTING
If we see no indexing operations after this much time for a given shard, we consider that shard inactive (default: 5 minutes).
|
static String |
TRANSLOG_BUFFER_SIZE_SETTING
How much heap (% or bytes) we will share across all actively indexing shards for the translog buffer (default: 1%).
|
lifecycle
deprecationLogger, logger, settings
Modifier | Constructor and Description |
---|---|
|
IndexingMemoryController(Settings settings,
ThreadPool threadPool,
IndicesService indicesService) |
protected |
IndexingMemoryController(Settings settings,
ThreadPool threadPool,
IndicesService indicesService,
long jvmMemoryInBytes) |
Modifier and Type | Method and Description |
---|---|
protected List<IndexShard> |
availableShards() |
protected boolean |
checkIdle(IndexShard shard,
long inactiveTimeNS)
ask this shard to check now whether it is inactive, and reduces its indexing and translog buffers if so.
|
protected long |
currentTimeInNanos() |
protected void |
doClose() |
protected void |
doStart() |
protected void |
doStop() |
void |
forceCheck()
check if any shards active status changed, now.
|
ByteSizeValue |
indexingBufferSize()
returns the current budget for the total amount of indexing buffers of
active shards on this node
|
protected boolean |
shardAvailable(IndexShard shard)
returns true if shard exists and is availabe for updates
|
ByteSizeValue |
translogBufferSize()
returns the current budget for the total amount of translog buffers of
active shards on this node
|
protected void |
updateShardBuffers(IndexShard shard,
ByteSizeValue shardIndexingBufferSize,
ByteSizeValue shardTranslogBufferSize)
set new indexing and translog buffers on this shard.
|
addLifecycleListener, close, lifecycleState, removeLifecycleListener, start, stop
logDeprecatedSetting, logRemovedSetting, nodeName
public static final String INDEX_BUFFER_SIZE_SETTING
public static final String MIN_INDEX_BUFFER_SIZE_SETTING
indices.memory.index_buffer_size
is a %, to set a floor on the actual size in bytes (default: 48 MB).public static final String MAX_INDEX_BUFFER_SIZE_SETTING
indices.memory.index_buffer_size
is a %, to set a ceiling on the actual size in bytes (default: not set).public static final String MIN_SHARD_INDEX_BUFFER_SIZE_SETTING
public static final String MAX_SHARD_INDEX_BUFFER_SIZE_SETTING
public static final String TRANSLOG_BUFFER_SIZE_SETTING
public static final String MIN_TRANSLOG_BUFFER_SIZE_SETTING
indices.memory.translog_buffer_size
is a %, to set a floor on the actual size in bytes (default: 256 KB).public static final String MAX_TRANSLOG_BUFFER_SIZE_SETTING
indices.memory.translog_buffer_size
is a %, to set a ceiling on the actual size in bytes (default: not set).public static final String MIN_SHARD_TRANSLOG_BUFFER_SIZE_SETTING
public static final String MAX_SHARD_TRANSLOG_BUFFER_SIZE_SETTING
public static final String SHARD_INACTIVE_TIME_SETTING
public static final String SHARD_INACTIVE_INTERVAL_TIME_SETTING
public static final ByteSizeValue INACTIVE_SHARD_INDEXING_BUFFER
IndexWriter
buffer to this value (500 KB) to let active shards use the heap instead.public static final ByteSizeValue INACTIVE_SHARD_TRANSLOG_BUFFER
Translog
buffer to this value (1 KB) to let active shards use the heap instead.@Inject public IndexingMemoryController(Settings settings, ThreadPool threadPool, IndicesService indicesService)
protected IndexingMemoryController(Settings settings, ThreadPool threadPool, IndicesService indicesService, long jvmMemoryInBytes)
protected void doStart()
doStart
in class AbstractLifecycleComponent<IndexingMemoryController>
protected void doStop()
doStop
in class AbstractLifecycleComponent<IndexingMemoryController>
protected void doClose()
doClose
in class AbstractLifecycleComponent<IndexingMemoryController>
public ByteSizeValue indexingBufferSize()
public ByteSizeValue translogBufferSize()
protected List<IndexShard> availableShards()
protected boolean shardAvailable(@Nullable IndexShard shard)
protected void updateShardBuffers(IndexShard shard, ByteSizeValue shardIndexingBufferSize, ByteSizeValue shardTranslogBufferSize)
public void forceCheck()
protected long currentTimeInNanos()
protected boolean checkIdle(IndexShard shard, long inactiveTimeNS)
Copyright © 2009–2016. All rights reserved.