During initial sync, when the stable timestamp is set to (0, 0), is that considered a valid stable timestamp by WT? It seems we assume that it is effectively a "null stable timestamp", is that assumption incorrect on our end?
0 is not a permitted value. Does the server call end up calling the WiredTiger API with a value set to 0?
It seems in WT-12032, it was mentioned that background compaction will internally trigger checkpoints. If those checkpoints are taken after initial sync has set the initial data timestamp, but before the first stable timestamp, what sort of checkpoints are they? Are they stable or unstable?
By default, background compaction triggers checkpoints with use_timestamp set to true:
Config('use_timestamp', 'true', r'''
|
if true (the default), create the checkpoint as of the last stable timestamp if timestamps
|
are in use, or with all committed updates if there is no stable timestamp set. If false,
|
always generate a checkpoint with all committed updates, ignoring any stable timestamp''',
|
type='boolean'),
|
All committed updates are included in the checkpoints when no stable timestamp is set.
|