Rollback to stable doesn't clean the leftover updates in the history store without a stop timestamp can lead to checkpoint cleanup doesn't clean up those pages may lead to increase in history store file size over the time.
The leftover updates with no stop timestamp in the history store are possible in the following scenarios:
- During checkpoint is in progress before syncing the history store file, eviction writes any prepared updates of a data store can lead to writing an update to history store without stop timestamp.
- The updates that are written to the history store due to writing prepared updates to data store are missed to update their stop timestamp when the prepared transaction commits due to a bug in prepare logic.
To avoid ever-increasing history store file size, RTS must check for the updates in the history store that don't have a stop timestamp and remove them.