summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/dist/api_data.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/dist/api_data.py')
-rw-r--r--src/third_party/wiredtiger/dist/api_data.py111
1 files changed, 62 insertions, 49 deletions
diff --git a/src/third_party/wiredtiger/dist/api_data.py b/src/third_party/wiredtiger/dist/api_data.py
index 0d995a3e2e2..44fc935d5d3 100644
--- a/src/third_party/wiredtiger/dist/api_data.py
+++ b/src/third_party/wiredtiger/dist/api_data.py
@@ -170,7 +170,7 @@ file_config = format_meta + [
It is stored in clear text, and thus is available when
the wiredtiger database is reopened. On the first use
of a (name, keyid) combination, the WT_ENCRYPTOR::customize
- function is called with the keyid as an argument.'''),
+ function is called with the keyid as an argument'''),
]),
Config('format', 'btree', r'''
the file format''',
@@ -238,17 +238,17 @@ file_config = format_meta + [
min=0, undoc=True),
Config('log', '', r'''
the transaction log configuration for this object. Only valid if
- log is enabled in ::wiredtiger_open.''',
+ log is enabled in ::wiredtiger_open''',
type='category', subconfig=[
Config('enabled', 'true', r'''
- if false, this object has checkpoint-level durability.''',
+ if false, this object has checkpoint-level durability''',
type='boolean'),
]),
Config('memory_page_max', '5MB', r'''
the maximum size a page can grow to in memory before being
reconciled to disk. The specified size will be adjusted to a lower
- bound of <code>50 * leaf_page_max</code>, and an upper bound of
- <code>cache_size / 2</code>. This limit is soft - it is possible
+ bound of <code>leaf_page_max</code>, and an upper bound of
+ <code>cache_size / 10</code>. This limit is soft - it is possible
for pages to be temporarily larger than this value. This setting
is ignored for LSM trees, see \c chunk_size''',
min='512B', max='10TB'),
@@ -352,7 +352,7 @@ connection_runtime_config = [
Config('threads', '2', r'''
the number of worker threads to service asynchronous requests.
Each worker thread uses a session from the configured
- session_max.''',
+ session_max''',
min='1', max='20'), # !!! Must match WT_ASYNC_MAX_WORKERS
]),
Config('cache_size', '100MB', r'''
@@ -373,11 +373,10 @@ connection_runtime_config = [
periodically checkpoint the database. Enabling the checkpoint server
uses a session from the configured session_max''',
type='category', subconfig=[
- Config('name', '"WiredTigerCheckpoint"', r'''
- the checkpoint name'''),
Config('log_size', '0', r'''
wait for this amount of log record bytes to be written to
- the log between each checkpoint. A database can configure
+ the log between each checkpoint. If non-zero, this value will
+ use a minimum of the log file size. A database can configure
both log_size and wait to set an upper bound for checkpoints;
setting this value above 0 configures periodic checkpoints''',
min='0', max='2GB'),
@@ -388,24 +387,46 @@ connection_runtime_config = [
]),
Config('error_prefix', '', r'''
prefix string for error messages'''),
- Config('eviction_dirty_target', '80', r'''
- continue evicting until the cache has less dirty memory than the
- value, as a percentage of the total cache size. Dirty pages will
- only be evicted if the cache is full enough to trigger eviction''',
- min=5, max=99),
- Config('eviction_dirty_trigger', '95', r'''
- trigger eviction when the cache is using this much memory for dirty
- content, as a percentage of the total cache size. This setting only
- alters behavior if it is lower than eviction_trigger''',
- min=5, max=99),
+ Config('eviction', '', r'''
+ eviction configuration options''',
+ type='category', subconfig=[
+ Config('threads_max', '1', r'''
+ maximum number of threads WiredTiger will start to help evict
+ pages from cache. The number of threads started will vary
+ depending on the current eviction load. Each eviction worker
+ thread uses a session from the configured session_max''',
+ min=1, max=20),
+ Config('threads_min', '1', r'''
+ minimum number of threads WiredTiger will start to help evict
+ pages from cache. The number of threads currently running will
+ vary depending on the current eviction load''',
+ min=1, max=20),
+ ]),
+ Config('eviction_checkpoint_target', '15', r'''
+ perform eviction at the beginning of checkpoints to bring the dirty
+ content in cache to this level, expressed as a percentage of the total
+ cache size. Ignored if set to zero or \c in_memory is \c true''',
+ min=0, max=99),
+ Config('eviction_dirty_target', '5', r'''
+ perform eviction in worker threads when the cache contains at least
+ this much dirty content, expressed as a percentage of the total cache
+ size. Ignored if \c in_memory is \c true''',
+ min=1, max=99),
+ Config('eviction_dirty_trigger', '20', r'''
+ trigger application threads to perform eviction when the cache contains
+ at least this much dirty content, expressed as a percentage of the
+ total cache size. This setting only alters behavior if it is lower than
+ eviction_trigger. Ignored if \c in_memory is \c true''',
+ min=1, max=99),
Config('eviction_target', '80', r'''
- continue evicting until the cache has less total memory than the
- value, as a percentage of the total cache size. Must be less than
- \c eviction_trigger''',
+ perform eviction in worker threads when the cache contains at least
+ this much content, expressed as a percentage of the total cache size.
+ Must be less than \c eviction_trigger''',
min=10, max=99),
Config('eviction_trigger', '95', r'''
- trigger eviction when the cache is using this much memory, as a
- percentage of the total cache size''', min=10, max=99),
+ trigger application threads to perform eviction when the cache contains
+ at least this much content, expressed as a percentage of the
+ total cache size''', min=10, max=99),
Config('file_manager', '', r'''
control how file handles are managed''',
type='category', subconfig=[
@@ -423,7 +444,7 @@ connection_runtime_config = [
Config('lsm_manager', '', r'''
configure database wide options for LSM tree management. The LSM
manager is started automatically the first time an LSM tree is opened.
- The LSM manager uses a session from the configured session_max.''',
+ The LSM manager uses a session from the configured session_max''',
type='category', subconfig=[
Config('worker_thread_max', '4', r'''
Configure a set of threads to manage merging LSM trees in
@@ -438,21 +459,6 @@ connection_runtime_config = [
Config('lsm_merge', 'true', r'''
merge LSM chunks where possible (deprecated)''',
type='boolean', undoc=True),
- Config('eviction', '', r'''
- eviction configuration options.''',
- type='category', subconfig=[
- Config('threads_max', '1', r'''
- maximum number of threads WiredTiger will start to help evict
- pages from cache. The number of threads started will vary
- depending on the current eviction load. Each eviction worker
- thread uses a session from the configured session_max''',
- min=1, max=20),
- Config('threads_min', '1', r'''
- minimum number of threads WiredTiger will start to help evict
- pages from cache. The number of threads currently running will
- vary depending on the current eviction load''',
- min=1, max=20),
- ]),
Config('shared_cache', '', r'''
shared cache configuration options. A database should configure
either a cache_size or a shared_cache not both. Enabling a
@@ -518,6 +524,7 @@ connection_runtime_config = [
'shared_cache',
'split',
'temporary',
+ 'thread_group',
'transaction',
'verify',
'version',
@@ -530,7 +537,7 @@ log_configuration_common = [
automatically archive unneeded log files''',
type='boolean'),
Config('prealloc', 'true', r'''
- pre-allocate log files.''',
+ pre-allocate log files''',
type='boolean'),
Config('zero_fill', 'false', r'''
manually write zeroes into log files''',
@@ -651,7 +658,7 @@ wiredtiger_open_common =\
direct I/O, and including \c "checkpoint" will cause WiredTiger data
files opened at a checkpoint (i.e: read only) to use direct I/O.
\c direct_io should be combined with \c write_through to get the
- equivalent of \c O_DIRECT on Windows.''',
+ equivalent of \c O_DIRECT on Windows''',
type='list', choices=['checkpoint', 'data', 'log']),
Config('encryption', '', r'''
configure an encryptor for system wide metadata and logs.
@@ -670,13 +677,13 @@ wiredtiger_open_common =\
It is stored in clear text, and thus is available when
the wiredtiger database is reopened. On the first use
of a (name, keyid) combination, the WT_ENCRYPTOR::customize
- function is called with the keyid as an argument.'''),
+ function is called with the keyid as an argument'''),
Config('secretkey', '', r'''
A string that is passed to the WT_ENCRYPTOR::customize function.
It is never stored in clear text, so must be given to any
subsequent ::wiredtiger_open calls to reopen the database.
It must also be provided to any "wt" commands used with
- this database.'''),
+ this database'''),
]),
Config('extensions', '', r'''
list of shared library extensions to load (using dlopen).
@@ -737,7 +744,7 @@ wiredtiger_open_common =\
files to write through cache, including \c "log" will cause WiredTiger
log files to write through cache. \c write_through should be combined
with \c direct_io to get the equivalent of POSIX \c O_DIRECT on
- Windows.''',
+ Windows''',
type='list', choices=['data', 'log']),
]
@@ -822,8 +829,9 @@ methods = {
'WT_SESSION.drop' : Method([
Config('checkpoint_wait', 'true', r'''
- wait for the checkpoint lock, if \c checkpoint_wait=false, fail if
- this lock is not available immediately''',
+ wait for the checkpoint lock, if \c checkpoint_wait=false, perform
+ the drop operation without taking a lock, returning EBUSY if the
+ operation conflicts with a running checkpoint''',
type='boolean', undoc=True),
Config('force', 'false', r'''
return success if the object does not exist''',
@@ -904,6 +912,11 @@ methods = {
"WiredTigerCheckpoint" opens the most recent internal
checkpoint taken for the object). The cursor does not
support data modification'''),
+ Config('checkpoint_wait', 'true', r'''
+ wait for the checkpoint lock, if \c checkpoint_wait=false, open the
+ cursor without taking a lock, returning EBUSY if the operation
+ conflicts with a running checkpoint''',
+ type='boolean', undoc=True),
Config('dump', '', r'''
configure the cursor for dump format inputs and outputs: "hex"
selects a simple hexadecimal format, "json" selects a JSON format
@@ -978,7 +991,7 @@ methods = {
Config('timeout_ms', '1200000', r'''
maximum amount of time to wait for background sync to complete in
milliseconds. A value of zero disables the timeout and returns
- immediately.''',
+ immediately''',
type='int'),
]),
@@ -1081,7 +1094,7 @@ methods = {
Config('names', '', r'''
drop specific named snapshots''', type='list'),
Config('to', '', r'''
- drop all snapshots up to and including the specified name.'''),
+ drop all snapshots up to and including the specified name'''),
]),
Config('name', '', r'''specify a name for the snapshot'''),
]),