diff options
author | Luke Chen <luke.chen@mongodb.com> | 2019-12-19 03:46:45 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-12-19 03:46:45 +0000 |
commit | 114ee790aaed1357f1d99dee1d610c26ae12858e (patch) | |
tree | 545a23afda994a5920a62bcf9ee4dfd7d52367a7 /src/third_party/wiredtiger/src/include | |
parent | 6adf8ad187352b0b253d4fbb282c8af9d1e89f18 (diff) | |
download | mongo-114ee790aaed1357f1d99dee1d610c26ae12858e.tar.gz |
Import wiredtiger: 77f9aebf23bb7fcb3911345741f20d67128f8da6 from branch mongodb-4.4
ref: 81a6cd2196..77f9aebf23
for: 4.3.3
WT-4969 Remove lsm_merge configuration option
WT-5006 Migrate Jenkins “wiredtiger-test-split-stress” job to Evergreen
WT-5037 Move Application Developer Resources documentation in github to WT documentation
WT-5077 Handle ENOENT without failure when copying the directory
WT-5139 WiredTiger incremental backup API
WT-5221 Bypass test_wt2853_perf in Evergreen make-check-msan-test
WT-5257 Coverity analysis bug: 113971 Dereference after null check
WT-5263 Prepared updates written to the lookaside file are not always read as needed
WT-5309 Update format.sh script to add prefix command argument
WT-5314 Avoid loading extensions that have blank name for Python tests
WT-5319 Avoid clearing the saved last-key when no instantiated key
Diffstat (limited to 'src/third_party/wiredtiger/src/include')
-rw-r--r-- | src/third_party/wiredtiger/src/include/btree.i | 7 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/connection.h | 130 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/cursor.h | 45 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/extern.h | 6 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/meta.h | 26 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/wiredtiger.in | 69 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/wt_internal.h | 2 |
7 files changed, 190 insertions, 95 deletions
diff --git a/src/third_party/wiredtiger/src/include/btree.i b/src/third_party/wiredtiger/src/include/btree.i index 18199997a19..5099bc4dce9 100644 --- a/src/third_party/wiredtiger/src/include/btree.i +++ b/src/third_party/wiredtiger/src/include/btree.i @@ -838,10 +838,6 @@ __wt_row_leaf_key_info( *ikeyp = NULL; if (cellp != NULL) *cellp = WT_PAGE_REF_OFFSET(page, WT_CELL_DECODE_OFFSET(v)); - if (datap != NULL) { - *(void **)datap = NULL; - *sizep = 0; - } return (false); case WT_K_FLAG: /* Encoded key: no instantiated key, no cell. */ @@ -999,6 +995,9 @@ __wt_row_leaf_value_cell(WT_SESSION_IMPL *session, WT_PAGE *page, WT_ROW *rip, size_t size; void *copy, *key; + size = 0; /* -Werror=maybe-uninitialized */ + key = NULL; /* -Werror=maybe-uninitialized */ + /* If we already have an unpacked key cell, use it. */ if (kpack != NULL) vcell = (WT_CELL *)((uint8_t *)kpack->cell + __wt_cell_total_len(kpack)); diff --git a/src/third_party/wiredtiger/src/include/connection.h b/src/third_party/wiredtiger/src/include/connection.h index db4b2e9b41e..ab810ee86fb 100644 --- a/src/third_party/wiredtiger/src/include/connection.h +++ b/src/third_party/wiredtiger/src/include/connection.h @@ -298,6 +298,10 @@ struct __wt_connection_impl { uint64_t ckpt_write_bytes; uint64_t ckpt_write_pages; + /* Checkpoint and incremental backup data */ + uint64_t ckpt_incr_granularity; + WT_BLKINCR incr_backups[WT_BLKINCR_MAX]; + /* Connection's maximum and base write generations. */ uint64_t max_write_gen; uint64_t base_write_gen; @@ -441,40 +445,41 @@ struct __wt_connection_impl { /* AUTOMATIC FLAG VALUE GENERATION START */ #define WT_VERB_API 0x000000001u -#define WT_VERB_BLOCK 0x000000002u -#define WT_VERB_CHECKPOINT 0x000000004u -#define WT_VERB_CHECKPOINT_PROGRESS 0x000000008u -#define WT_VERB_COMPACT 0x000000010u -#define WT_VERB_COMPACT_PROGRESS 0x000000020u -#define WT_VERB_ERROR_RETURNS 0x000000040u -#define WT_VERB_EVICT 0x000000080u -#define WT_VERB_EVICTSERVER 0x000000100u -#define WT_VERB_EVICT_STUCK 0x000000200u -#define WT_VERB_FILEOPS 0x000000400u -#define WT_VERB_HANDLEOPS 0x000000800u -#define WT_VERB_LOG 0x000001000u -#define WT_VERB_LOOKASIDE 0x000002000u -#define WT_VERB_LOOKASIDE_ACTIVITY 0x000004000u -#define WT_VERB_LSM 0x000008000u -#define WT_VERB_LSM_MANAGER 0x000010000u -#define WT_VERB_METADATA 0x000020000u -#define WT_VERB_MUTEX 0x000040000u -#define WT_VERB_OVERFLOW 0x000080000u -#define WT_VERB_READ 0x000100000u -#define WT_VERB_REBALANCE 0x000200000u -#define WT_VERB_RECONCILE 0x000400000u -#define WT_VERB_RECOVERY 0x000800000u -#define WT_VERB_RECOVERY_PROGRESS 0x001000000u -#define WT_VERB_SALVAGE 0x002000000u -#define WT_VERB_SHARED_CACHE 0x004000000u -#define WT_VERB_SPLIT 0x008000000u -#define WT_VERB_TEMPORARY 0x010000000u -#define WT_VERB_THREAD_GROUP 0x020000000u -#define WT_VERB_TIMESTAMP 0x040000000u -#define WT_VERB_TRANSACTION 0x080000000u -#define WT_VERB_VERIFY 0x100000000u -#define WT_VERB_VERSION 0x200000000u -#define WT_VERB_WRITE 0x400000000u +#define WT_VERB_BACKUP 0x000000002u +#define WT_VERB_BLOCK 0x000000004u +#define WT_VERB_CHECKPOINT 0x000000008u +#define WT_VERB_CHECKPOINT_PROGRESS 0x000000010u +#define WT_VERB_COMPACT 0x000000020u +#define WT_VERB_COMPACT_PROGRESS 0x000000040u +#define WT_VERB_ERROR_RETURNS 0x000000080u +#define WT_VERB_EVICT 0x000000100u +#define WT_VERB_EVICTSERVER 0x000000200u +#define WT_VERB_EVICT_STUCK 0x000000400u +#define WT_VERB_FILEOPS 0x000000800u +#define WT_VERB_HANDLEOPS 0x000001000u +#define WT_VERB_LOG 0x000002000u +#define WT_VERB_LOOKASIDE 0x000004000u +#define WT_VERB_LOOKASIDE_ACTIVITY 0x000008000u +#define WT_VERB_LSM 0x000010000u +#define WT_VERB_LSM_MANAGER 0x000020000u +#define WT_VERB_METADATA 0x000040000u +#define WT_VERB_MUTEX 0x000080000u +#define WT_VERB_OVERFLOW 0x000100000u +#define WT_VERB_READ 0x000200000u +#define WT_VERB_REBALANCE 0x000400000u +#define WT_VERB_RECONCILE 0x000800000u +#define WT_VERB_RECOVERY 0x001000000u +#define WT_VERB_RECOVERY_PROGRESS 0x002000000u +#define WT_VERB_SALVAGE 0x004000000u +#define WT_VERB_SHARED_CACHE 0x008000000u +#define WT_VERB_SPLIT 0x010000000u +#define WT_VERB_TEMPORARY 0x020000000u +#define WT_VERB_THREAD_GROUP 0x040000000u +#define WT_VERB_TIMESTAMP 0x080000000u +#define WT_VERB_TRANSACTION 0x100000000u +#define WT_VERB_VERIFY 0x200000000u +#define WT_VERB_VERSION 0x400000000u +#define WT_VERB_WRITE 0x800000000u /* AUTOMATIC FLAG VALUE GENERATION STOP */ uint64_t verbose; @@ -506,34 +511,35 @@ struct __wt_connection_impl { WT_FILE_SYSTEM *file_system; /* AUTOMATIC FLAG VALUE GENERATION START */ -#define WT_CONN_CACHE_CURSORS 0x0000001u -#define WT_CONN_CACHE_POOL 0x0000002u -#define WT_CONN_CKPT_SYNC 0x0000004u -#define WT_CONN_CLOSING 0x0000008u -#define WT_CONN_CLOSING_NO_MORE_OPENS 0x0000010u -#define WT_CONN_CLOSING_TIMESTAMP 0x0000020u -#define WT_CONN_COMPATIBILITY 0x0000040u -#define WT_CONN_DATA_CORRUPTION 0x0000080u -#define WT_CONN_EVICTION_NO_LOOKASIDE 0x0000100u -#define WT_CONN_EVICTION_RUN 0x0000200u -#define WT_CONN_IN_MEMORY 0x0000400u -#define WT_CONN_LEAK_MEMORY 0x0000800u -#define WT_CONN_LOOKASIDE_OPEN 0x0001000u -#define WT_CONN_LSM_MERGE 0x0002000u -#define WT_CONN_OPTRACK 0x0004000u -#define WT_CONN_PANIC 0x0008000u -#define WT_CONN_READONLY 0x0010000u -#define WT_CONN_RECONFIGURING 0x0020000u -#define WT_CONN_RECOVERING 0x0040000u -#define WT_CONN_SALVAGE 0x0080000u -#define WT_CONN_SERVER_ASYNC 0x0100000u -#define WT_CONN_SERVER_CAPACITY 0x0200000u -#define WT_CONN_SERVER_CHECKPOINT 0x0400000u -#define WT_CONN_SERVER_LOG 0x0800000u -#define WT_CONN_SERVER_LSM 0x1000000u -#define WT_CONN_SERVER_STATISTICS 0x2000000u -#define WT_CONN_SERVER_SWEEP 0x4000000u -#define WT_CONN_WAS_BACKUP 0x8000000u +#define WT_CONN_CACHE_CURSORS 0x00000001u +#define WT_CONN_CACHE_POOL 0x00000002u +#define WT_CONN_CKPT_SYNC 0x00000004u +#define WT_CONN_CLOSING 0x00000008u +#define WT_CONN_CLOSING_NO_MORE_OPENS 0x00000010u +#define WT_CONN_CLOSING_TIMESTAMP 0x00000020u +#define WT_CONN_COMPATIBILITY 0x00000040u +#define WT_CONN_DATA_CORRUPTION 0x00000080u +#define WT_CONN_EVICTION_NO_LOOKASIDE 0x00000100u +#define WT_CONN_EVICTION_RUN 0x00000200u +#define WT_CONN_INCR_BACKUP 0x00000400u +#define WT_CONN_IN_MEMORY 0x00000800u +#define WT_CONN_LEAK_MEMORY 0x00001000u +#define WT_CONN_LOOKASIDE_OPEN 0x00002000u +#define WT_CONN_LSM_MERGE 0x00004000u +#define WT_CONN_OPTRACK 0x00008000u +#define WT_CONN_PANIC 0x00010000u +#define WT_CONN_READONLY 0x00020000u +#define WT_CONN_RECONFIGURING 0x00040000u +#define WT_CONN_RECOVERING 0x00080000u +#define WT_CONN_SALVAGE 0x00100000u +#define WT_CONN_SERVER_ASYNC 0x00200000u +#define WT_CONN_SERVER_CAPACITY 0x00400000u +#define WT_CONN_SERVER_CHECKPOINT 0x00800000u +#define WT_CONN_SERVER_LOG 0x01000000u +#define WT_CONN_SERVER_LSM 0x02000000u +#define WT_CONN_SERVER_STATISTICS 0x04000000u +#define WT_CONN_SERVER_SWEEP 0x08000000u +#define WT_CONN_WAS_BACKUP 0x10000000u /* AUTOMATIC FLAG VALUE GENERATION STOP */ uint32_t flags; }; diff --git a/src/third_party/wiredtiger/src/include/cursor.h b/src/third_party/wiredtiger/src/include/cursor.h index b3d32ad8417..39740cc2be4 100644 --- a/src/third_party/wiredtiger/src/include/cursor.h +++ b/src/third_party/wiredtiger/src/include/cursor.h @@ -32,6 +32,21 @@ 0 /* uint32_t flags */ \ } +/* + * Block based incremental backup structure. These live in the connection. + */ +#define WT_BLKINCR_MAX 2 +struct __wt_blkincr { + const char *id_str; /* User's name for this backup. */ + const char *ckpt_name; /* Requires WT-5115. All checkpoints must be this name */ + void *data; +/* AUTOMATIC FLAG VALUE GENERATION START */ +#define WT_BLKINCR_INUSE 0x1u /* This entry is active */ +#define WT_BLKINCR_VALID 0x2u /* This entry is valid */ + /* AUTOMATIC FLAG VALUE GENERATION STOP */ + uint64_t flags; +}; + struct __wt_cursor_backup { WT_CURSOR iface; @@ -43,12 +58,36 @@ struct __wt_cursor_backup { size_t list_allocated; size_t list_next; + /* File offset-based incremental backup. */ + WT_BLKINCR *incr; /* Incremental backup in use */ + char *incr_file; /* File name */ + char *incr_src; /* Source identifier */ + char *incr_this; /* New base identifier */ + uint64_t incr_granularity; /* Maximum transfer size */ + + WT_CURSOR *incr_cursor; /* File cursor */ + /* Start/stop checkpoints */ + char *incr_checkpoint_start; + char *incr_checkpoint_stop; + +#define WT_BACKUP_INCR_COMPONENTS 3 + bool incr_init; /* Cursor traversal initialized */ + uint64_t *incr_list; /* List of file offset/size/type triples */ + uint64_t incr_list_count; /* Count of file offset/size/type triples */ + uint64_t incr_list_offset; /* Current offset */ + uint64_t incr_size; /* Maximum transfer size */ + WT_ITEM *incr_block; /* Current block of data */ + /* AUTOMATIC FLAG VALUE GENERATION START */ -#define WT_CURBACKUP_DUP 0x1u /* Duplicated backup cursor */ -#define WT_CURBACKUP_LOCKER 0x2u /* Hot-backup started */ - /* AUTOMATIC FLAG VALUE GENERATION STOP */ +#define WT_CURBACKUP_DUP 0x1u /* Duplicated backup cursor */ +#define WT_CURBACKUP_FORCE_STOP 0x2u /* Force stop incremental backup */ +#define WT_CURBACKUP_INCR 0x4u /* Incremental backup cursor */ +#define WT_CURBACKUP_LOCKER 0x8u /* Hot-backup started */ + /* AUTOMATIC FLAG VALUE GENERATION STOP */ uint8_t flags; }; +#define WT_CURSOR_BACKUP_CHECK_STOP(cursor) \ + WT_RET(F_ISSET(((WT_CURSOR_BACKUP *)(cursor)), WT_CURBACKUP_FORCE_STOP) ? EINVAL : 0); #define WT_CURSOR_BACKUP_ID(cursor) (((WT_CURSOR_BACKUP *)(cursor))->maxid) struct __wt_cursor_btree { diff --git a/src/third_party/wiredtiger/src/include/extern.h b/src/third_party/wiredtiger/src/include/extern.h index 3eb7583ecc6..5e530b8aaa1 100644 --- a/src/third_party/wiredtiger/src/include/extern.h +++ b/src/third_party/wiredtiger/src/include/extern.h @@ -408,8 +408,6 @@ extern int __wt_config_subgetraw(WT_SESSION_IMPL *session, WT_CONFIG_ITEM *cfg, WT_CONFIG_ITEM *value) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_config_subgets(WT_SESSION_IMPL *session, WT_CONFIG_ITEM *cfg, const char *key, WT_CONFIG_ITEM *value) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); -extern int __wt_config_upgrade(WT_SESSION_IMPL *session, WT_ITEM *buf) - WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_configure_method(WT_SESSION_IMPL *session, const char *method, const char *uri, const char *config, const char *type, const char *check) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); @@ -471,6 +469,9 @@ extern int __wt_copy_and_sync(WT_SESSION *wt_session, const char *from, const ch extern int __wt_count_birthmarks(WT_UPDATE *upd) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curbackup_open(WT_SESSION_IMPL *session, const char *uri, WT_CURSOR *other, const char *cfg[], WT_CURSOR **cursorp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); +extern int __wt_curbackup_open_incr(WT_SESSION_IMPL *session, const char *uri, WT_CURSOR *other, + WT_CURSOR *cursor, const char *cfg[], WT_CURSOR **cursorp) + WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curbulk_init(WT_SESSION_IMPL *session, WT_CURSOR_BULK *cbulk, bool bitmap, bool skip_sort_check) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curconfig_open(WT_SESSION_IMPL *session, const char *uri, const char *cfg[], @@ -1594,6 +1595,7 @@ extern void __wt_conn_config_discard(WT_SESSION_IMPL *session); extern void __wt_conn_foc_discard(WT_SESSION_IMPL *session); extern void __wt_conn_stat_init(WT_SESSION_IMPL *session); extern void __wt_connection_destroy(WT_CONNECTION_IMPL *conn); +extern void __wt_curbackup_free_incr(WT_SESSION_IMPL *session, WT_CURSOR_BACKUP *cb); extern void __wt_cursor_close(WT_CURSOR *cursor); extern void __wt_cursor_key_order_reset(WT_CURSOR_BTREE *cbt); extern void __wt_cursor_reopen(WT_CURSOR *cursor, WT_DATA_HANDLE *dhandle); diff --git a/src/third_party/wiredtiger/src/include/meta.h b/src/third_party/wiredtiger/src/include/meta.h index 574c9400f8f..9845dbd7f7d 100644 --- a/src/third_party/wiredtiger/src/include/meta.h +++ b/src/third_party/wiredtiger/src/include/meta.h @@ -14,10 +14,14 @@ #define WT_USERCONFIG "WiredTiger.config" /* User configuration */ -#define WT_BACKUP_TMP "WiredTiger.backup.tmp" /* Backup tmp file */ -#define WT_METADATA_BACKUP "WiredTiger.backup" /* Hot backup file */ -#define WT_INCREMENTAL_BACKUP "WiredTiger.ibackup" /* Incremental backup */ -#define WT_INCREMENTAL_SRC "WiredTiger.isrc" /* Incremental source */ +/* + * Backup related WiredTiger files. + */ +#define WT_BACKUP_TMP "WiredTiger.backup.tmp" /* Backup tmp file */ +#define WT_BLKINCR_BACKUP "WiredTiger.backup.block" /* Block incremental durable file */ +#define WT_METADATA_BACKUP "WiredTiger.backup" /* Hot backup file */ +#define WT_LOGINCR_BACKUP "WiredTiger.ibackup" /* Log incremental backup */ +#define WT_LOGINCR_SRC "WiredTiger.isrc" /* Log incremental source */ #define WT_METADATA_TURTLE "WiredTiger.turtle" /* Metadata metadata */ #define WT_METADATA_TURTLE_SET "WiredTiger.turtle.set" /* Turtle temp file */ @@ -91,16 +95,20 @@ struct __wt_ckpt { wt_timestamp_t newest_stop_ts; uint64_t newest_stop_txn; + uint64_t *alloc_list; /* Checkpoint allocation list */ + uint64_t alloc_list_entries; + WT_ITEM addr; /* Checkpoint cookie string */ WT_ITEM raw; /* Checkpoint cookie raw */ void *bpriv; /* Block manager private */ /* AUTOMATIC FLAG VALUE GENERATION START */ -#define WT_CKPT_ADD 0x1u /* Checkpoint to be added */ -#define WT_CKPT_DELETE 0x2u /* Checkpoint to be deleted */ -#define WT_CKPT_FAKE 0x4u /* Checkpoint is a fake */ -#define WT_CKPT_UPDATE 0x8u /* Checkpoint requires update */ - /* AUTOMATIC FLAG VALUE GENERATION STOP */ +#define WT_CKPT_ADD 0x01u /* Checkpoint to be added */ +#define WT_CKPT_BLOCK_MODS 0x02u /* Return list of modified blocks */ +#define WT_CKPT_DELETE 0x04u /* Checkpoint to be deleted */ +#define WT_CKPT_FAKE 0x08u /* Checkpoint is a fake */ +#define WT_CKPT_UPDATE 0x10u /* Checkpoint requires update */ + /* AUTOMATIC FLAG VALUE GENERATION STOP */ uint32_t flags; }; diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in index aec3014e788..e8a872178dd 100644 --- a/src/third_party/wiredtiger/src/include/wiredtiger.in +++ b/src/third_party/wiredtiger/src/include/wiredtiger.in @@ -1064,6 +1064,33 @@ struct __wt_session { * non-printing characters are hexadecimal encoded. These formats are compatible with the * @ref util_dump and @ref util_load commands., a string\, chosen from the following * options: \c "hex"\, \c "json"\, \c "print"; default empty.} + * @config{incremental = (, configure the cursor for block incremental backup usage. These + * formats are only compatible with the backup data source; see @ref backup., a set of + * related configuration options defined below.} + * @config{ enabled, + * whether to configure this backup as the starting point for a subsequent incremental + * backup., a boolean flag; default \c false.} + * @config{ file, the + * file name when opening a duplicate incremental backup cursor. That duplicate cursor will + * return the block modifications relevant to the given file name., a string; default + * empty.} + * @config{ force_stop, causes all block incremental backup + * information to be released. This is on an open_cursor call and the resources will be + * released when this cursor is closed. No other operations should be done on this open + * cursor., a boolean flag; default \c false.} + * @config{ granularity, + * this setting manages the granularity of how WiredTiger maintains modification maps + * internally. The larger the granularity\, the smaller amount of information WiredTiger + * need to maintain., an integer between 1MB and 2GB; default \c 16MB.} + * @config{ src_id, a string that identifies a previous checkpoint + * backup source as the source of this incremental backup. This identifier must have + * already been created by use of the 'this_id' configuration in an earlier backup. A + * source id is required to begin an incremental backup., a string; default empty.} + * @config{ this_id, a string that identifies the current system + * state as a future backup source for an incremental backup via 'src_id'. This identifier + * is required when opening an incremental backup cursor and an error will be returned if + * one is not provided., a string; default empty.} + * @config{ ),,} * @config{next_random, configure the cursor to return a pseudo-random record from the * object when the WT_CURSOR::next method is called; valid only for row-store cursors. See * @ref cursor_random for details., a boolean flag; default \c false.} @@ -2335,14 +2362,14 @@ struct __wt_connection { * ),,} * @config{verbose, enable messages for various events. Options are given as a list\, such * as <code>"verbose=[evictserver\,read]"</code>., a list\, with values chosen from the - * following options: \c "api"\, \c "block"\, \c "checkpoint"\, \c "checkpoint_progress"\, - * \c "compact"\, \c "compact_progress"\, \c "error_returns"\, \c "evict"\, \c - * "evict_stuck"\, \c "evictserver"\, \c "fileops"\, \c "handleops"\, \c "log"\, \c - * "lookaside"\, \c "lookaside_activity"\, \c "lsm"\, \c "lsm_manager"\, \c "metadata"\, \c - * "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c "reconcile"\, \c "recovery"\, - * \c "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c "split"\, \c "temporary"\, - * \c "thread_group"\, \c "timestamp"\, \c "transaction"\, \c "verify"\, \c "version"\, \c - * "write"; default empty.} + * following options: \c "api"\, \c "backup"\, \c "block"\, \c "checkpoint"\, \c + * "checkpoint_progress"\, \c "compact"\, \c "compact_progress"\, \c "error_returns"\, \c + * "evict"\, \c "evict_stuck"\, \c "evictserver"\, \c "fileops"\, \c "handleops"\, \c + * "log"\, \c "lookaside"\, \c "lookaside_activity"\, \c "lsm"\, \c "lsm_manager"\, \c + * "metadata"\, \c "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c "reconcile"\, + * \c "recovery"\, \c "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c "split"\, + * \c "temporary"\, \c "thread_group"\, \c "timestamp"\, \c "transaction"\, \c "verify"\, \c + * "version"\, \c "write"; default empty.} * @configend * @errors */ @@ -3017,13 +3044,13 @@ struct __wt_connection { * information., a boolean flag; default \c false.} * @config{verbose, enable messages for various events. Options are given as a list\, such as * <code>"verbose=[evictserver\,read]"</code>., a list\, with values chosen from the following - * options: \c "api"\, \c "block"\, \c "checkpoint"\, \c "checkpoint_progress"\, \c "compact"\, \c - * "compact_progress"\, \c "error_returns"\, \c "evict"\, \c "evict_stuck"\, \c "evictserver"\, \c - * "fileops"\, \c "handleops"\, \c "log"\, \c "lookaside"\, \c "lookaside_activity"\, \c "lsm"\, \c - * "lsm_manager"\, \c "metadata"\, \c "mutex"\, \c "overflow"\, \c "read"\, \c "rebalance"\, \c - * "reconcile"\, \c "recovery"\, \c "recovery_progress"\, \c "salvage"\, \c "shared_cache"\, \c - * "split"\, \c "temporary"\, \c "thread_group"\, \c "timestamp"\, \c "transaction"\, \c "verify"\, - * \c "version"\, \c "write"; default empty.} + * options: \c "api"\, \c "backup"\, \c "block"\, \c "checkpoint"\, \c "checkpoint_progress"\, \c + * "compact"\, \c "compact_progress"\, \c "error_returns"\, \c "evict"\, \c "evict_stuck"\, \c + * "evictserver"\, \c "fileops"\, \c "handleops"\, \c "log"\, \c "lookaside"\, \c + * "lookaside_activity"\, \c "lsm"\, \c "lsm_manager"\, \c "metadata"\, \c "mutex"\, \c "overflow"\, + * \c "read"\, \c "rebalance"\, \c "reconcile"\, \c "recovery"\, \c "recovery_progress"\, \c + * "salvage"\, \c "shared_cache"\, \c "split"\, \c "temporary"\, \c "thread_group"\, \c + * "timestamp"\, \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 care\, see @ref tuning_system_buffer_cache_direct_io for @@ -4787,6 +4814,18 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); * @addtogroup wt * @{ */ +/*! + * @name Incremental backup types + * @anchor backup_types + * @{ + */ +/*! invalid type */ +#define WT_BACKUP_INVALID 0 +/*! whole file */ +#define WT_BACKUP_FILE 1 +/*! file range */ +#define WT_BACKUP_RANGE 2 +/*! @} */ /*! * @name Log record and operation types diff --git a/src/third_party/wiredtiger/src/include/wt_internal.h b/src/third_party/wiredtiger/src/include/wt_internal.h index 2b281443f21..1cd8753a0ac 100644 --- a/src/third_party/wiredtiger/src/include/wt_internal.h +++ b/src/third_party/wiredtiger/src/include/wt_internal.h @@ -77,6 +77,8 @@ struct __wt_async_op_impl; typedef struct __wt_async_op_impl WT_ASYNC_OP_IMPL; struct __wt_async_worker_state; typedef struct __wt_async_worker_state WT_ASYNC_WORKER_STATE; +struct __wt_blkincr; +typedef struct __wt_blkincr WT_BLKINCR; struct __wt_block; typedef struct __wt_block WT_BLOCK; struct __wt_block_ckpt; |