blob: 74b12365ffc2b3e559576ffa7ca116117c46f67e [file] [log] [blame]
<table class="configuration table table-bordered">
<thead>
<tr>
<th class="text-left" style="width: 20%">Key</th>
<th class="text-left" style="width: 15%">Default</th>
<th class="text-left" style="width: 10%">Type</th>
<th class="text-left" style="width: 55%">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><h5>state.backend.rocksdb.checkpoint.transfer.thread.num</h5></td>
<td style="word-wrap: break-word;">1</td>
<td>Integer</td>
<td>The number of threads (per stateful operator) used to transfer (download and upload) files in RocksDBStateBackend.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.localdir</h5></td>
<td style="word-wrap: break-word;">(none)</td>
<td>String</td>
<td>The local directory (on the TaskManager) where RocksDB puts its files.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.memory.fixed-per-slot</h5></td>
<td style="word-wrap: break-word;">(none)</td>
<td>MemorySize</td>
<td>The fixed total amount of memory, shared among all RocksDB instances per slot. This option overrides the 'state.backend.rocksdb.memory.managed' option when configured. If neither this option, nor the 'state.backend.rocksdb.memory.managed' optionare set, then each RocksDB column family state has its own memory caches (as controlled by the column family options).</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.memory.high-prio-pool-ratio</h5></td>
<td style="word-wrap: break-word;">0.1</td>
<td>Double</td>
<td>The fraction of cache memory that is reserved for high-priority data like index, filter, and compression dictionary blocks. This option only has an effect when 'state.backend.rocksdb.memory.managed' or 'state.backend.rocksdb.memory.fixed-per-slot' are configured.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.memory.managed</h5></td>
<td style="word-wrap: break-word;">true</td>
<td>Boolean</td>
<td>If set, the RocksDB state backend will automatically configure itself to use the managed memory budget of the task slot, and divide the memory over write buffers, indexes, block caches, etc. That way, the three major uses of memory of RocksDB will be capped.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.memory.partitioned-index-filters</h5></td>
<td style="word-wrap: break-word;">false</td>
<td>Boolean</td>
<td>With partitioning, the index/filter block of an SST file is partitioned into smaller blocks with an additional top-level index on them. When reading an index/filter, only top-level index is loaded into memory. The partitioned index/filter then uses the top-level index to load on demand into the block cache the partitions that are required to perform the index/filter query. This option only has an effect when 'state.backend.rocksdb.memory.managed' or 'state.backend.rocksdb.memory.fixed-per-slot' are configured.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.memory.write-buffer-ratio</h5></td>
<td style="word-wrap: break-word;">0.5</td>
<td>Double</td>
<td>The maximum amount of memory that write buffers may take, as a fraction of the total shared memory. This option only has an effect when 'state.backend.rocksdb.memory.managed' or 'state.backend.rocksdb.memory.fixed-per-slot' are configured.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.options-factory</h5></td>
<td style="word-wrap: break-word;">"org.apache.flink.contrib.streaming.state.DefaultConfigurableOptionsFactory"</td>
<td>String</td>
<td>The options factory class for RocksDB to create DBOptions and ColumnFamilyOptions. The default options factory is org.apache.flink.contrib.streaming.state.DefaultConfigurableOptionsFactory, and it would read the configured options which provided in 'RocksDBConfigurableOptions'.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.predefined-options</h5></td>
<td style="word-wrap: break-word;">"DEFAULT"</td>
<td>String</td>
<td>The predefined settings for RocksDB DBOptions and ColumnFamilyOptions by Flink community. Current supported candidate predefined-options are DEFAULT, SPINNING_DISK_OPTIMIZED, SPINNING_DISK_OPTIMIZED_HIGH_MEM or FLASH_SSD_OPTIMIZED. Note that user customized options and options from the RocksDBOptionsFactory are applied on top of these predefined ones.</td>
</tr>
<tr>
<td><h5>state.backend.rocksdb.timer-service.factory</h5></td>
<td style="word-wrap: break-word;">ROCKSDB</td>
<td><p>Enum</p>Possible values: [HEAP, ROCKSDB]</td>
<td>This determines the factory for timer service state implementation. Options are either HEAP (heap-based) or ROCKSDB for an implementation based on RocksDB.</td>
</tr>
</tbody>
</table>