BF-46272 reports an LSAN leak (729 bytes, 5 allocations, all indirect) on disaggregated storage AUBSAN tasks.
On a disaggregated leader, _wt_evict_file(WT_SYNC_DISCARD) returns EBUSY when the btree's rec_lsn_max is ahead of last_materialized_lsn: those pages exist only in the cache, so discarding them would lose data. _wt_conn_dhandle_close invoked it with WT_TRET, which records the error but does not branch, so execution fell through and cleared WT_DHANDLE_OPEN on a handle whose pages were still in the cache.
So on a sweep pass _wt_conn_dhandle_close calls _wt_evict_file which returns EBUSY because of the materialisation frontier not being advanced yet, but the dhandle close logic proceeds and clears WT_DHANDLE_OPEN, hiding the btree from further sweeps and leaking the memory.
- related to
-
WT-18636 Exercise the materialization frontier in test/format
-
- Open
-