[SERVER-37730] Make the index catalog timestamp aware Created: 24/Oct/18 Updated: 06/Dec/22 Resolved: 16/Mar/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | execution_intern_2019 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||||||||||
| Sprint: | Storage NYC 2019-01-14 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
Add 'birth' and 'death' timestamps to in-memory index catalog entries so that we can keep the in-memory index catalog entry objects and know when it is appropriate to use them. Handle standalones, too, they should default to zero timestamp for both 'birth' and 'death'. And built indexes loaded into memory can default to zero for the 'birth' timestamp as well, since PIT reads are not possible to before the index existed.
2nd Phase (when death timestamp is old enough):
PIT accesses will see PIT version of __mdb_catalog that still has the index entry if the in-memory index entry allows index access at that PIT. Then the table still exists at that PIT and everything works. Rollback via refetch works:
RTT works:
Question: does something bad happen if we checkpoint a timestamp that is newer than oldest timestamp? I imagine WT handles that situation, maybe checkpoints further back in time, earlier than oldest_timestamp. In case oldest_timestamp ever was set that far back in time, since the calculation doesn't currently refer to the checkpointed timestamp at all. |
| Comments |
| Comment by Connie Chen [ 16/Mar/20 ] |
|
We'll be doing this another way |
| Comment by Benety Goh [ 16/Jul/19 ] |
|
This ticket was originally intended to support the work in |
| Comment by Eric Milkie [ 25/Jan/19 ] |
|
Temporarily putting work on this ticket on hold (not critical path work); may pick it up later. |