diff options
author | Luke Chen <luke.chen@mongodb.com> | 2020-11-13 15:57:42 +1100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-11-13 05:15:33 +0000 |
commit | 8bb9ed7824835cdfd146d642468508c01ea087ad (patch) | |
tree | 25118dd8dabdc8e892057067583845f47547aaad /src/third_party/wiredtiger/src/include | |
parent | 6dc4a4eaf4acc7472590040fa5795901b5140fc5 (diff) | |
download | mongo-8bb9ed7824835cdfd146d642468508c01ea087ad.tar.gz |
Import wiredtiger: 0ab3e59875ecfabbe3cd9d19c0c3e05b72bad1cf from branch mongodb-5.0
ref: 5f9a0178f2..0ab3e59875
for: 4.9.0
WT-6449 Hang analyzer for WT Evergreen tests
WT-6706 Add table import repair functionality
WT-6816 Design write gen scheme to allow dhandles with active history to get closed/re-opened
WT-6857 Define a new cursor for the history store access.
Diffstat (limited to 'src/third_party/wiredtiger/src/include')
-rw-r--r-- | src/third_party/wiredtiger/src/include/btmem.h | 12 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/btree.h | 1 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/cursor.h | 6 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/extern.h | 8 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/meta.h | 3 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/session.h | 51 | ||||
-rw-r--r-- | src/third_party/wiredtiger/src/include/wt_internal.h | 2 |
7 files changed, 50 insertions, 33 deletions
diff --git a/src/third_party/wiredtiger/src/include/btmem.h b/src/third_party/wiredtiger/src/include/btmem.h index b066bcde18f..3cc12d78e74 100644 --- a/src/third_party/wiredtiger/src/include/btmem.h +++ b/src/third_party/wiredtiger/src/include/btmem.h @@ -235,11 +235,13 @@ struct __wt_ovfl_reuse { #else #define WT_HS_COMPRESSOR "none" #endif -#define WT_HS_CONFIG \ - "key_format=" WT_UNCHECKED_STRING(IuQQ) ",value_format=" WT_UNCHECKED_STRING( \ - QQQu) ",block_compressor=" WT_HS_COMPRESSOR \ - ",leaf_value_max=64MB" \ - ",prefix_compression=false" +#define WT_HS_KEY_FORMAT WT_UNCHECKED_STRING(IuQQ) +#define WT_HS_VALUE_FORMAT WT_UNCHECKED_STRING(QQQu) +#define WT_HS_CONFIG \ + "key_format=" WT_HS_KEY_FORMAT ",value_format=" WT_HS_VALUE_FORMAT \ + ",block_compressor=" WT_HS_COMPRESSOR \ + ",leaf_value_max=64MB" \ + ",prefix_compression=false" /* * WT_PAGE_MODIFY -- diff --git a/src/third_party/wiredtiger/src/include/btree.h b/src/third_party/wiredtiger/src/include/btree.h index 19eea8088ae..4af6ea90f67 100644 --- a/src/third_party/wiredtiger/src/include/btree.h +++ b/src/third_party/wiredtiger/src/include/btree.h @@ -167,6 +167,7 @@ struct __wt_btree { uint64_t write_gen; /* Write generation */ uint64_t base_write_gen; /* Write generation on startup. */ + uint64_t run_write_gen; /* Runtime write generation. */ uint64_t rec_max_txn; /* Maximum txn seen (clean trees) */ wt_timestamp_t rec_max_timestamp; diff --git a/src/third_party/wiredtiger/src/include/cursor.h b/src/third_party/wiredtiger/src/include/cursor.h index 5460978d09f..1c5cd5dcb6b 100644 --- a/src/third_party/wiredtiger/src/include/cursor.h +++ b/src/third_party/wiredtiger/src/include/cursor.h @@ -282,6 +282,12 @@ struct __wt_cursor_dump { WT_CURSOR *child; }; +struct __wt_cursor_hs { + WT_CURSOR iface; + + WT_CURSOR *file_cursor; /* Queries of regular history store data */ +}; + struct __wt_cursor_index { WT_CURSOR iface; diff --git a/src/third_party/wiredtiger/src/include/extern.h b/src/third_party/wiredtiger/src/include/extern.h index 0a6f3d79a9b..d902d72ff01 100644 --- a/src/third_party/wiredtiger/src/include/extern.h +++ b/src/third_party/wiredtiger/src/include/extern.h @@ -486,6 +486,8 @@ extern int __wt_curfile_next_random(WT_CURSOR *cursor) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curfile_open(WT_SESSION_IMPL *session, const char *uri, WT_CURSOR *owner, const char *cfg[], WT_CURSOR **cursorp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); +extern int __wt_curhs_open(WT_SESSION_IMPL *session, WT_CURSOR *owner, WT_CURSOR **cursorp) + WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curindex_open(WT_SESSION_IMPL *session, const char *uri, WT_CURSOR *owner, const char *cfg[], WT_CURSOR **cursorp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_curjoin_join(WT_SESSION_IMPL *session, WT_CURSOR_JOIN *cjoin, WT_INDEX *idx, @@ -775,7 +777,7 @@ extern int __wt_huffman_encode(WT_SESSION_IMPL *session, void *huffman_arg, cons size_t from_len, WT_ITEM *to_buf) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_huffman_open(WT_SESSION_IMPL *session, void *symbol_frequency_array, u_int symcnt, u_int numbytes, void *retp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); -extern int __wt_import_repair(WT_SESSION_IMPL *session, const char *uri, char **fileconfp) +extern int __wt_import_repair(WT_SESSION_IMPL *session, const char *uri, char **configp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_inmem_unsupported_op(WT_SESSION_IMPL *session, const char *tag) WT_GCC_FUNC_DECL_ATTRIBUTE((cold)) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); @@ -1036,12 +1038,14 @@ extern int __wt_meta_checkpoint_last_name(WT_SESSION_IMPL *session, const char * const char **namep) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_meta_ckptlist_get(WT_SESSION_IMPL *session, const char *fname, bool update, WT_CKPT **ckptbasep) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); -extern int __wt_meta_ckptlist_get_with_config(WT_SESSION_IMPL *session, bool update, +extern int __wt_meta_ckptlist_get_from_config(WT_SESSION_IMPL *session, bool update, WT_CKPT **ckptbasep, const char *config) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_meta_ckptlist_set(WT_SESSION_IMPL *session, const char *fname, WT_CKPT *ckptbase, WT_LSN *ckptlsn) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_meta_ckptlist_to_meta(WT_SESSION_IMPL *session, WT_CKPT *ckptbase, WT_ITEM *buf) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); +extern int __wt_meta_ckptlist_update_config(WT_SESSION_IMPL *session, WT_CKPT *ckptbase, + const char *oldcfg, char **newcfgp) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_meta_sysinfo_set(WT_SESSION_IMPL *session) WT_GCC_FUNC_DECL_ATTRIBUTE((warn_unused_result)); extern int __wt_meta_track_checkpoint(WT_SESSION_IMPL *session) diff --git a/src/third_party/wiredtiger/src/include/meta.h b/src/third_party/wiredtiger/src/include/meta.h index 9e274e9f3cc..b4902740837 100644 --- a/src/third_party/wiredtiger/src/include/meta.h +++ b/src/third_party/wiredtiger/src/include/meta.h @@ -137,7 +137,8 @@ struct __wt_ckpt { uint64_t size; /* Checkpoint size */ - uint64_t write_gen; /* Write generation */ + uint64_t write_gen; /* Write generation */ + uint64_t run_write_gen; /* Runtime write generation. */ char *block_metadata; /* Block-stored metadata */ char *block_checkpoint; /* Block-stored checkpoint */ diff --git a/src/third_party/wiredtiger/src/include/session.h b/src/third_party/wiredtiger/src/include/session.h index 3492905ec0b..0186b98f4cc 100644 --- a/src/third_party/wiredtiger/src/include/session.h +++ b/src/third_party/wiredtiger/src/include/session.h @@ -170,31 +170,32 @@ struct __wt_session_impl { #define WT_SESSION_CACHE_CURSORS 0x00000004u #define WT_SESSION_CAN_WAIT 0x00000008u #define WT_SESSION_IGNORE_CACHE_SIZE 0x00000010u -#define WT_SESSION_IMPORT_REPAIR 0x00000020u -#define WT_SESSION_INSTANTIATE_PREPARE 0x00000040u -#define WT_SESSION_INTERNAL 0x00000080u -#define WT_SESSION_LOCKED_CHECKPOINT 0x00000100u -#define WT_SESSION_LOCKED_HANDLE_LIST_READ 0x00000200u -#define WT_SESSION_LOCKED_HANDLE_LIST_WRITE 0x00000400u -#define WT_SESSION_LOCKED_HOTBACKUP_READ 0x00000800u -#define WT_SESSION_LOCKED_HOTBACKUP_WRITE 0x00001000u -#define WT_SESSION_LOCKED_METADATA 0x00002000u -#define WT_SESSION_LOCKED_PASS 0x00004000u -#define WT_SESSION_LOCKED_SCHEMA 0x00008000u -#define WT_SESSION_LOCKED_SLOT 0x00010000u -#define WT_SESSION_LOCKED_TABLE_READ 0x00020000u -#define WT_SESSION_LOCKED_TABLE_WRITE 0x00040000u -#define WT_SESSION_LOCKED_TURTLE 0x00080000u -#define WT_SESSION_LOGGING_INMEM 0x00100000u -#define WT_SESSION_NO_DATA_HANDLES 0x00200000u -#define WT_SESSION_NO_LOGGING 0x00400000u -#define WT_SESSION_NO_RECONCILE 0x00800000u -#define WT_SESSION_NO_SCHEMA_LOCK 0x01000000u -#define WT_SESSION_QUIET_CORRUPT_FILE 0x02000000u -#define WT_SESSION_READ_WONT_NEED 0x04000000u -#define WT_SESSION_RESOLVING_TXN 0x08000000u -#define WT_SESSION_ROLLBACK_TO_STABLE 0x10000000u -#define WT_SESSION_SCHEMA_TXN 0x20000000u +#define WT_SESSION_IMPORT 0x00000020u +#define WT_SESSION_IMPORT_REPAIR 0x00000040u +#define WT_SESSION_INSTANTIATE_PREPARE 0x00000080u +#define WT_SESSION_INTERNAL 0x00000100u +#define WT_SESSION_LOCKED_CHECKPOINT 0x00000200u +#define WT_SESSION_LOCKED_HANDLE_LIST_READ 0x00000400u +#define WT_SESSION_LOCKED_HANDLE_LIST_WRITE 0x00000800u +#define WT_SESSION_LOCKED_HOTBACKUP_READ 0x00001000u +#define WT_SESSION_LOCKED_HOTBACKUP_WRITE 0x00002000u +#define WT_SESSION_LOCKED_METADATA 0x00004000u +#define WT_SESSION_LOCKED_PASS 0x00008000u +#define WT_SESSION_LOCKED_SCHEMA 0x00010000u +#define WT_SESSION_LOCKED_SLOT 0x00020000u +#define WT_SESSION_LOCKED_TABLE_READ 0x00040000u +#define WT_SESSION_LOCKED_TABLE_WRITE 0x00080000u +#define WT_SESSION_LOCKED_TURTLE 0x00100000u +#define WT_SESSION_LOGGING_INMEM 0x00200000u +#define WT_SESSION_NO_DATA_HANDLES 0x00400000u +#define WT_SESSION_NO_LOGGING 0x00800000u +#define WT_SESSION_NO_RECONCILE 0x01000000u +#define WT_SESSION_NO_SCHEMA_LOCK 0x02000000u +#define WT_SESSION_QUIET_CORRUPT_FILE 0x04000000u +#define WT_SESSION_READ_WONT_NEED 0x08000000u +#define WT_SESSION_RESOLVING_TXN 0x10000000u +#define WT_SESSION_ROLLBACK_TO_STABLE 0x20000000u +#define WT_SESSION_SCHEMA_TXN 0x40000000u /* AUTOMATIC FLAG VALUE GENERATION STOP */ uint32_t flags; diff --git a/src/third_party/wiredtiger/src/include/wt_internal.h b/src/third_party/wiredtiger/src/include/wt_internal.h index b0e0b4c4585..a64fb5acdfe 100644 --- a/src/third_party/wiredtiger/src/include/wt_internal.h +++ b/src/third_party/wiredtiger/src/include/wt_internal.h @@ -141,6 +141,8 @@ struct __wt_cursor_data_source; typedef struct __wt_cursor_data_source WT_CURSOR_DATA_SOURCE; struct __wt_cursor_dump; typedef struct __wt_cursor_dump WT_CURSOR_DUMP; +struct __wt_cursor_hs; +typedef struct __wt_cursor_hs WT_CURSOR_HS; struct __wt_cursor_index; typedef struct __wt_cursor_index WT_CURSOR_INDEX; struct __wt_cursor_join; |