-
Type: Bug
-
Resolution: Fixed
-
Priority: Critical - P2
-
Affects Version/s: None
-
Component/s: None
-
v5.3
WT-8601 introduced a bug where rollback_to_stable on an inmemory WT database would rollback writes to "logged" tables. That behavior differs from non-inmemory databases.
WT-8849 fixed this in the main branch. However, WT-8601 was also introduced into the mongodb-5.3 branch. We attempted to revert WT-8601 from 5.3. I believe that revert didn't go in correctly.
A checkout of develop demonstrates the correct behavior of rolling back updates only on "regular" tables:
dgottlieb@chimichurri ~/xgen/scratch$ ./run.bash rollback_inmem.cpp rm: cannot remove './WT_HOME/*': No such file or directory SS: create,cache_size=1GB,log=(enabled=true),debug_mode=(cursor_copy=true),debug_mode=(table_logging=true),in_memory=true,log=(enabled=false) Logged Table. Key: 1 Value: 5 Logged Table. Key: 2 Value: 20 Regular Table. Key: 1 Value: 5 Regular Table. Key: 2 Value: Key not found, returning -1. Key: 2 -1 Using timestamps on close.
But a checkout of mongodb-5.3 which includes the revert:
commit 80459af31c973f9a04896318750c6879ef06a90b Author: Luke Chen <luke.chen@mongodb.com> Date: Thu Mar 3 10:44:34 2022 +1100 Revert "WT-8601 Timestamps do not work with logged tables. (#7371)" This reverts commit 460513f9f4bc3948a85ef4b772dfbb9ab7949778.
seems to still be rolling back in memory tables:
dgottlieb@chimichurri ~/xgen/scratch$ ./run.bash rollback_inmem.cpp SS: create,cache_size=1GB,log=(enabled=true),debug_mode=(cursor_copy=true),debug_mode=(table_logging=true),in_memory=true,log=(enabled=false) Logged Table. Key: 1 Value: 5 Logged Table. Key: 2 Value: Key not found, returning -1. Key: 2 -1 Regular Table. Key: 1 Value: 5 Regular Table. Key: 2 Value: Key not found, returning -1. Key: 2 -1 Using timestamps on close.
- is related to
-
WT-8921 Add a test to verify RTS won't update "logged" tables under in-memory configuration
- Closed