Context
The KEK key/store design modifies the turtle page to indicate which LSN to use to reference the KEK page. As such we need to add a placeholder configuration to the turtle file and create functions to able to read/write the turtle file.
The end result should look something like:
checkpoint=(WiredTigerCheckpoint.6=(addr="018481e4332369e08581e4601f33788681e46edf6153808080e28fc0dfc0",order=6,time=1756999147,size=12288,newest_start_durable_ts=0,oldest_start_ts=0,newest_txn=9,newest_stop_durable_ts=0,newest_stop_ts=-1,newest_stop_txn=-11,prepare=0,write_gen=17,run_write_gen=1,next_page_id=100))
key_management=(pages=("page_id=1,lsn=123,checksum=abcd","page_id=2,lsn=345,checksum=defg")),version=1)
We will also need to decide whether ASC should have this new field. Depends on
Definition of Done
key_management default page configuration is added to turtle file only with disaggregate information.Will be done in WT-16054Ensure backward compatability of older versions reference to checkpoint_lsn- Implement page log handle open and close()
Update
As per my last comment, There is not a need to do original intention of WT-16053. The default turtle config will need to be added in ckpt_set() which is effectively doing the write path WT-16054. There is also no point in have an empty key_management config. Backward compatability shouldn't be an issue, since customers will be onboarding straight to disagg feature with KEK.
I see there will be a problem of the page log handle for the key provider code being duplicated in WT-16054 and WT-16055. I will repurpose this ticket to implement the opening and close of the handle instead.