- Move the file ID to the end of the address cookie and to the end of the checkpoint cookie.
This allows old releases to detect address/checkpoint cookies they cannot understand and
fail gracefully, that is, they won't interpret the file ID as the block offset and drop
core or return a corruption failure. Use the length of the address/checkpoint cookie to
detect if there is a file ID included in the cookie (this means passing the cookie sizes
around; we've always had those sizes in hand, we've just never needed them before). In all
cases, assert the entire cookie is consumed.
Rename the block address cookie buffer-to-addr and addr-to-buffer functions as unpack and
pack functions to match other parts of WiredTiger.
Don't do misplaced block checks, or verbose messages, when freeing blocks that were read
from other objects. We can't free them, but we shouldn't do anything else, either.
Define WT_TIERED_CURRENT_ID as the maxium 4B value instead of a bit pattern.
Remove minor unnecessary error handling and scratch buffer logic from tiered storage
- uint32_t/uint64_t conversion
- Lint and comment cleanup based on review.
- Fail with a specific error message looking up a file we don't know about.
Move closer to the model where an object ID of 0 (there was no file ID), or the object ID in
the address is the current object ID, determines how we behave.
- Add a flags byte before the object ID.
- Revert change to test_coverage.md. | 23 Jul 21 23:37 UTC
Evergreen Subscription: ; Evergreen Event: