US 12,346,319 B2
Technique for parallel recovery on read replica
Anjan Kumar Amirishetty, Fremont, CA (US); Simhachala Sasikanth Gottapu, Dublin, CA (US); Niranjan Nilakantan, Cupertino, CA (US); Anthony Hsu, Sunnyvale, CA (US); and Junjie Liang, San Francisco, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Dec. 20, 2023, as Appl. No. 18/390,005.
Claims priority of provisional application 63/486,684, filed on Feb. 24, 2023.
Prior Publication US 2024/0289329 A1, Aug. 29, 2024
Int. Cl. G06F 16/2453 (2019.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/24532 (2019.01) [G06F 16/2343 (2019.01); G06F 16/27 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method for performing parallel write ahead log (WAL) record processing, the method comprising:
receiving, by one or more processors, a batch of log records, each log record having a log sequence number (LSN);
identifying, by the one or more processors, disjoint subsets of log records in the batch;
assigning, by the one or more processors, the disjoint subsets of log records to respective parallel processes based on one or more block references, wherein each log record of the batch is processed in LSN order by the parallel process to which that log record is assigned;
determining, by the one or more processors, that a log record of the batch affects multiple blocks of data;
locking, by the one or more processors, the multiple blocks of data for applying the log record affecting the multiple blocks of data;
determining, by the one or more processors, that a read transaction is reading a block of data being modified in the batch of log records; and
instructing, by the one or more processors, the read transaction to wait for the log records of the batch to be applied on the block of data being modified in response to the block of data not being the first block of data being modified in the batch.