Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Page Inconsistency Recovery and Avoidance

IP.com Disclosure Number: IPCOM000037515D
Original Publication Date: 1989-Mar-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Levine, FE: AUTHOR

Abstract

Disclosed is a process for recovering from and avoiding page inconsistency (due to file system non-atomic write and allocate space operations) using a write ahead logging protocol. In particular, during a restart redo phase, we may have allocated a page to a file, but not yet initialized the page to correspond to the new allocation. In this case, we need to prevent an old consistency indicator and/or an old Log Sequence Number (LSN) from being inadvertently used. The condition could occur wherein a valid page format is detected because the file was created on an old database and then deleted. Also, if the same file name has been deleted and recreated, during the redo process, we could be applying an update to a page which had actually belonged to a different database, causing unpredictable results.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 64% of the total text.

Page 1 of 1

Page Inconsistency Recovery and Avoidance

Disclosed is a process for recovering from and avoiding page inconsistency (due to file system non-atomic write and allocate space operations) using a write ahead logging protocol. In particular, during a restart redo phase, we may have allocated a page to a file, but not yet initialized the page to correspond to the new allocation. In this case, we need to prevent an old consistency indicator and/or an old Log Sequence Number (LSN) from being inadvertently used. The condition could occur wherein a valid page format is detected because the file was created on an old database and then deleted. Also, if the same file name has been deleted and recreated, during the redo process, we could be applying an update to a page which had actually belonged to a different database, causing unpredictable results.

In one embodiment, the Log Sequence Number is an always increasing number for the life of a database; it may represent a displacement in a log file where wrapping the log is represented by having a new base which represents the size of the log. When a page is written to disk, the LSN in the page header, representing the last log record written on the page is copied to the trailer. When a page is read [during restart], the header LSN is compared to the trailer LSN and, if they do not match, we know that the page has not been completely written to disk.

Instead of following the normal write ahead logging protocol, we

(1) write ou...