Major - P3
Storage - Ra 2020-06-29, Storage - Ra 2020-07-13, Storage - Ra 2020-07-27
format-stress-sanitizer-test failed on Ubuntu 18.04 Stress tests
Project: WiredTiger (develop)
WT-6302 move format operations tracing into WiredTiger log files (#5712)
- Change format's logging configuration to create a second WiredTiger database used only to log
format operations. There's an optional configuration that puts the format logging information
into the primary's database logs, more about that in a second.
Add a new wiredtiger_open() configuration, "debug_mode.log_retain=##" which configures how
many log files we keep.
Add the "-m" option to the wt utility printlog command to minimize the output, discarding
everything but the message content.
Add a new WT_SESSION method, "WT_SESSION.log_vprintf" so it's easy to push a variadic argument
list into the log.
Refactor the format database open/close code so all of the code is consistently opening and
- Moving operation logging into the WiredTiger log files means we no longer need to get the
extension API reference.
- Use "oplog" as a prefix instead of "wts_log", try to differentiate operation logging from general
- The only handle we init/teardown is the replay RNG file handle, cleanup up the calls and naming.
- This branch is likely to be merged, fix a random typo in a comment.
- wts.c:461:21: error: variable 'session' may be uninitialized when used here
- Remove the -r (replay) option. There's enough random number generation being done during
configuration that it no longer works as originally intended and it's not a particularly
useful test scenario any more.
- Naming pass: use "trace" for operations logging instead of "logging"/"oplog", there are too
many kinds of logging already to add another one.
- Remove "debug_mode.log_verbose", that work will get done in a separate ticket.
- I forgot to put the in-memory configuration support back in, fix it.
- Fix a function header comment.
- Comment wordsmithing.
- Switch -L/-l to -T/-t, trace not log.
- Correct a comment to match the code.
- Add a comment.
- Switch from "log_retain" to "log_retention" and "debug_log_retain" to "debug_log_cnt",
for consistency with checkpoint's log retention naming.
- Fix a comment.
- Simplify the trace macros.
- Remove WT_SESSION.log_vprintf() API.
Allow WT_SESSION.log_printf() after WT_SESSION.prepare().
- Add warnings to the code and documentation that debug_mod.log_retain can potentially remove
log files required for recovery, if the number of log files exceeds the configured value and
no checkpoint has yet been performed.
- Document the meaning of debug_mode.log_retention=0. | 27 May 20 17:05 UTC
Evergreen Subscription: ; Evergreen Event:
- is duplicated by
WT-6512 test/format timed out with prepare-conflict
- is related to
WT-6168 Ignore history store visibility when resolving prepared updates
WT-6267 Fix not deleting prepared update when hs cursor is placed on another key