CPC G06F 16/21 (2019.01) [G06F 16/245 (2019.01)] | 20 Claims |
1. A method comprising:
storing, by a page server, a first page of a database, the first page including first data;
receiving, by the page server, a database read request for the first data that includes an expected next page identifier of a page of the database that is logically adjacent to the first page at a time the database read request was generated;
identifying, by the page server, an actual next page identifier from the first page, the actual next page identifier identifying a page of the database that is logically adjacent to the first page at a second point in time, the second point in time occurring after receiving the database read request by the page server;
comparing, by the page server, the expected next page identifier and the actual next page identifier;
determining, by the page server and during fulfillment of the database read request, that there is a mismatch between the expected next page identifier and the actual next page identifier, the mismatch indicating that a concurrent database operation has caused a page split in the first page to occur during the fulfillment of the database read request by the page server; and
in response to determining that a mismatch exists, fulfilling, by the page server, the database read request using a portion of data from the first page, and a portion of data from the page of the database that is logically adjacent to the first page at the second point in time.
|