summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/wiredtiger.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/include/wiredtiger.in')
-rw-r--r--src/third_party/wiredtiger/src/include/wiredtiger.in154
1 files changed, 84 insertions, 70 deletions
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in
index 0e022048835..10141cd34c1 100644
--- a/src/third_party/wiredtiger/src/include/wiredtiger.in
+++ b/src/third_party/wiredtiger/src/include/wiredtiger.in
@@ -1785,7 +1785,8 @@ struct __wt_connection {
* Enabling the checkpoint server uses a session from the configured
* session_max., a set of related configuration options defined below.}
* @config{    log_size, wait for this amount of log
- * record bytes to be written to the log between each checkpoint. A
+ * record bytes to be written to 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., an integer between 0 and 2GB; default \c 0.}
@@ -1807,21 +1808,23 @@ struct __wt_connection {
* number of threads currently running will vary depending on the
* current eviction load., an integer between 1 and 20; default \c 1.}
* @config{ ),,}
- * @config{eviction_dirty_target, 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., an integer between 1 and 99; default \c 5.}
- * @config{eviction_dirty_trigger, 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., an integer between 1 and 99; default \c 20.}
- * @config{eviction_target, 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., an integer between 10
- * and 99; default \c 80.}
- * @config{eviction_trigger, trigger eviction when the cache is using
- * this much memory\, as a percentage of the total cache size., an
- * integer between 10 and 99; default \c 95.}
+ * @config{eviction_dirty_target, perform eviction in worker threads
+ * when the cache contains at least this much dirty content\, expressed
+ * as a percentage of the total cache size., an integer between 1 and
+ * 99; default \c 5.}
+ * @config{eviction_dirty_trigger, 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.,
+ * an integer between 1 and 99; default \c 20.}
+ * @config{eviction_target, 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., an
+ * integer between 10 and 99; default \c 80.}
+ * @config{eviction_trigger, trigger application threads to perform
+ * eviction when the cache contains at least this much content\,
+ * expressed as a percentage of the total cache size., an integer
+ * between 10 and 99; default \c 95.}
* @config{file_manager = (, control how file handles are managed., a
* set of related configuration options defined below.}
* @config{    close_handle_minimum, number of
@@ -1924,8 +1927,8 @@ struct __wt_connection {
* \c "lsm_manager"\, \c "metadata"\, \c "mutex"\, \c "overflow"\, \c
* "read"\, \c "rebalance"\, \c "reconcile"\, \c "recovery"\, \c
* "salvage"\, \c "shared_cache"\, \c "split"\, \c "temporary"\, \c
- * "transaction"\, \c "verify"\, \c "version"\, \c "write"; default
- * empty.}
+ * "thread_group"\, \c "transaction"\, \c "verify"\, \c "version"\, \c
+ * "write"; default empty.}
* @configend
* @errors
*/
@@ -2201,14 +2204,14 @@ struct __wt_connection {
* checkpoint server uses a session from the configured session_max., a set of
* related configuration options defined below.}
* @config{    log_size, wait for this amount of log record
- * bytes to be written to the log between each checkpoint. A database can
- * configure both log_size and wait to set an upper bound for checkpoints;
- * setting this value above 0 configures periodic checkpoints., an integer
- * between 0 and 2GB; default \c 0.}
- * @config{    wait,
- * seconds to wait between each checkpoint; setting this value above 0
- * configures periodic checkpoints., an integer between 0 and 100000; default \c
- * 0.}
+ * bytes to be written to 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., an integer between 0 and 2GB;
+ * default \c 0.}
+ * @config{    wait, seconds to wait between
+ * each checkpoint; setting this value above 0 configures periodic checkpoints.,
+ * an integer between 0 and 100000; default \c 0.}
* @config{ ),,}
* @config{checkpoint_sync, flush files to stable storage when closing or
* writing checkpoints., a boolean flag; default \c true.}
@@ -2266,20 +2269,22 @@ struct __wt_connection {
* current eviction load., an integer between 1 and 20; default \c 1.}
* @config{
* ),,}
- * @config{eviction_dirty_target, 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.,
- * an integer between 1 and 99; default \c 5.}
- * @config{eviction_dirty_trigger, 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., an
- * integer between 1 and 99; default \c 20.}
- * @config{eviction_target, 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., an integer between 10 and 99; default \c 80.}
- * @config{eviction_trigger, trigger eviction when the cache is using this much
- * memory\, as a percentage of the total cache size., an integer between 10 and
- * 99; default \c 95.}
+ * @config{eviction_dirty_target, perform eviction in worker threads when the
+ * cache contains at least this much dirty content\, expressed as a percentage
+ * of the total cache size., an integer between 1 and 99; default \c 5.}
+ * @config{eviction_dirty_trigger, 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., an integer between 1 and 99; default
+ * \c 20.}
+ * @config{eviction_target, 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., an integer between 10
+ * and 99; default \c 80.}
+ * @config{eviction_trigger, trigger application threads to perform eviction
+ * when the cache contains at least this much content\, expressed as a
+ * percentage of the total cache size., an integer between 10 and 99; default \c
+ * 95.}
* @config{exclusive, fail if the database already exists\, generally used with
* the \c create option., a boolean flag; default \c false.}
* @config{extensions, list of shared library extensions to load (using dlopen).
@@ -2440,7 +2445,8 @@ struct __wt_connection {
* \c "handleops"\, \c "log"\, \c "lsm"\, \c "lsm_manager"\, \c "metadata"\, \c
* "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c "reconcile"\, \c
* "recovery"\, \c "salvage"\, \c "shared_cache"\, \c "split"\, \c "temporary"\,
- * \c "transaction"\, \c "verify"\, \c "version"\, \c "write"; default empty.}
+ * \c "thread_group"\, \c "transaction"\, \c "verify"\, \c "version"\, \c
+ * "write"; default empty.}
* @config{write_through, Use \c FILE_FLAG_WRITE_THROUGH on Windows to write to
* files. Ignored on non-Windows systems. Options are given as a list\, such
* as <code>"write_through=[data]"</code>. Configuring \c write_through requires
@@ -3923,48 +3929,54 @@ struct __wt_file_handle {
WT_SESSION *session, wt_off_t offset, wt_off_t len, int advice);
/*!
- * Ensure disk space is allocated for the file, based on the POSIX
- * 1003.1 standard fallocate.
+ * Extend the file.
*
* This method is not required, and should be set to NULL when not
* supported by the file.
*
+ * Any allocated disk space must read as 0 bytes, and no existing file
+ * data may change. Allocating all necessary underlying storage (not
+ * changing just the file's metadata), is likely to result in increased
+ * performance.
+ *
* This method is not called by multiple threads concurrently (on the
- * same file handle). If the file handle's fallocate method supports
- * concurrent calls, set the WT_FILE_HANDLE::fallocate_nolock method
- * instead.
+ * same file handle). If the file handle's extension method supports
+ * concurrent calls, set the WT_FILE_HANDLE::fh_extend_nolock method
+ * instead. See @ref custom_file_systems for more information.
*
* @errors
*
* @param file_handle the WT_FILE_HANDLE
* @param session the current WiredTiger session
- * @param offset the file offset
- * @param len the size of the advisory
+ * @param offset desired file size after extension
*/
- int (*fh_allocate)(WT_FILE_HANDLE *file_handle,
- WT_SESSION *session, wt_off_t, wt_off_t);
+ int (*fh_extend)(
+ WT_FILE_HANDLE *file_handle, WT_SESSION *session, wt_off_t offset);
/*!
- * Ensure disk space is allocated for the file, based on the POSIX
- * 1003.1 standard fallocate.
+ * Extend the file.
*
* This method is not required, and should be set to NULL when not
* supported by the file.
*
+ * Any allocated disk space must read as 0 bytes, and no existing file
+ * data may change. Allocating all necessary underlying storage (not
+ * only changing the file's metadata), is likely to result in increased
+ * performance.
+ *
* This method may be called by multiple threads concurrently (on the
- * same file handle). If the file handle's fallocate method does not
- * support concurrent calls, set the WT_FILE_HANDLE::fallocate method
- * instead.
+ * same file handle). If the file handle's extension method does not
+ * support concurrent calls, set the WT_FILE_HANDLE::fh_extend method
+ * instead. See @ref custom_file_systems for more information.
*
* @errors
*
* @param file_handle the WT_FILE_HANDLE
* @param session the current WiredTiger session
- * @param offset the file offset
- * @param len the size of the advisory
+ * @param offset desired file size after extension
*/
- int (*fh_allocate_nolock)(WT_FILE_HANDLE *file_handle,
- WT_SESSION *session, wt_off_t, wt_off_t);
+ int (*fh_extend_nolock)(
+ WT_FILE_HANDLE *file_handle, WT_SESSION *session, wt_off_t offset);
/*!
* Lock/unlock a file from the perspective of other processes running
@@ -4111,20 +4123,22 @@ struct __wt_file_handle {
int (*fh_sync_nowait)(WT_FILE_HANDLE *file_handle, WT_SESSION *session);
/*!
- * Lengthen or shorten a file to the specified length, based on the
- * POSIX 1003.1 standard ftruncate.
+ * Truncate the file.
*
- * This method is not required for read-only files, and should be set
- * to NULL when not supported by the file.
+ * This method is not required, and should be set to NULL when not
+ * supported by the file.
+ *
+ * This method is not called by multiple threads concurrently (on the
+ * same file handle).
*
* @errors
*
* @param file_handle the WT_FILE_HANDLE
* @param session the current WiredTiger session
- * @param length desired file size after truncate
+ * @param offset desired file size after truncate
*/
int (*fh_truncate)(
- WT_FILE_HANDLE *file_handle, WT_SESSION *session, wt_off_t length);
+ WT_FILE_HANDLE *file_handle, WT_SESSION *session, wt_off_t offset);
/*!
* Write to a file, based on the POSIX 1003.1 standard pwrite.
@@ -4275,15 +4289,15 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection);
#define WT_STAT_CONN_CACHE_EVICTION_QUEUE_NOT_EMPTY 1042
/*! cache: eviction server evicting pages */
#define WT_STAT_CONN_CACHE_EVICTION_SERVER_EVICTING 1043
-/*! cache: eviction server populating queue, but not evicting pages */
-#define WT_STAT_CONN_CACHE_EVICTION_SERVER_NOT_EVICTING 1044
/*! cache: eviction server skipped very large page */
-#define WT_STAT_CONN_CACHE_EVICTION_SERVER_TOOBIG 1045
+#define WT_STAT_CONN_CACHE_EVICTION_SERVER_TOOBIG 1044
/*! cache: eviction server slept, because we did not make progress with
* eviction */
-#define WT_STAT_CONN_CACHE_EVICTION_SERVER_SLEPT 1046
+#define WT_STAT_CONN_CACHE_EVICTION_SERVER_SLEPT 1045
/*! cache: eviction server unable to reach eviction goal */
-#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1047
+#define WT_STAT_CONN_CACHE_EVICTION_SLOW 1046
+/*! cache: eviction state */
+#define WT_STAT_CONN_CACHE_EVICTION_STATE 1047
/*! cache: eviction worker thread evicting pages */
#define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING 1048
/*! cache: failed eviction of pages that exceeded the in-memory maximum */