Details
Description
When a block is allocated but not written back into the DB file (this can happen due to various reasons), both block cache and DB file don't contain the block so that garbage data is read if we
call filemgr_read() on the block. If the block marker of the garbage block on the file side
accidentally same as document block marker, various kinds of unexpected behavior can happen.
To avoid this issue, we need to insert a dummy block with a specific block marker into buffer cache once it is allocated. This happens on the B+tree index blocks only so that we don't do the
same work for document blocks.