-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:
-
Storage Engines - 2022-07-11
In adding tiered support to test/checkpoint I've come across a bug in an error path. If test/checkpoint tries to use an LSM table it gets an error:
[1655307657:271040][17096:0x7f6a07293740], test_checkpoint, WT_SESSION.create: [WT_VERB_DEFAULT][ERROR]: int __schema_create_config_check(WT_SESSION_IMPL *, const char *, const char *, _Bool), 1231: unsupported type configuration: lsm URI type must be file for tiered storage: Operation not supported
But that is followed by an assertion failure about re-entering the library:
[1655307657:271164][17096:0x7f6a07293740], test_checkpoint, file:WiredTiger.wt, WT_CURSOR.close: [WT_VERB_DEFAULT][ERROR]: int __curfile_close(WT_CURSOR *), 603: (session)->id == 0 || (session)->api_tid == 0 || (session)->api_tid == __tmp_api_tid
Note that the thread that got the create error is the same one calling close (0x7f6a07293740). There is no callback here, so that implies that the exit path from the create error left the session with the api_tid set, and therefore missed the API_END call somehow.