Optimization to skip invisible records in writer

Registered by Vladimir Kolesnikov

For frequently updated rows we can get into situation where we have in the x-log a long list of old records for this row that are not visible anymore by any active transactions. Currently the writer still has to process these records. The optimal behavior would be to simply skip them.

Notes:
In some cases such optimization could break the version list, this should be taken into account.

A Simple Effectiveness Test:
To check how many records (upper limit) could be skipped in a certain scenario we could write a patch to the writer that would increment a counter every time it processes a record which is not the most recent version of a row and has xn_id < oldest_active_xn

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.