A recent refactor of '__wt_verbose_multi' has resulted in producing the following output:
[1636358101:467891][95866:0x7f2e7fcf0680], t, txn rollback_to_stable: [(((((((WT_CONNECTION_IMPL *)(session)->iface.connection))->flags) & (0x100000u)) != 0) ? ((WT_VERBOSE_MULTI_CATEGORY){.categories = (((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS})), .cnt = (sizeof(((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS})) / sizeof((((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS}))[0]))}) : ((WT_VERBOSE_MULTI_CATEGORY){.categories = (((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS})), .cnt = (sizeof(((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS})) / sizeof((((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS}))[0]))}))] recovered checkpoint snapshot min: 0, snapshot max: 0, snapshot count: 0 [1636358101:467930][95866:0x7f2e7fcf0680], t, txn rollback_to_stable: [(((((((WT_CONNECTION_IMPL *)(session)->iface.connection))->flags) & (0x100000u)) != 0) ? ((WT_VERBOSE_MULTI_CATEGORY){.categories = (((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS})), .cnt = (sizeof(((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS})) / sizeof((((WT_VERBOSE_CATEGORY[]){WT_VERB_RECOVERY, WT_VERB_RTS}))[0]))}) : ((WT_VERBOSE_MULTI_CATEGORY){.categories = (((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS})), .cnt = (sizeof(((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS})) / sizeof((((WT_VERBOSE_CATEGORY[]){WT_VERB_RTS}))[0]))}))] skip rollback to stable on file file:__wt0000.wt because its checkpoint address length is 0
Since '__wt_verbose_multi' is now wrapping over another macro, the 'WT_VERBOSE_MULTI_CATEGORY' expression gets completely expanded in the underlying macro, resulting in the overly verbose category message field.
Definition of Done:
- Fix uses '__wt_verbose_multi' such that the category field isn't completely expanded.