Patent ID: 11874796
Assignee: AMAZON TECHNOLOGIES, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A system, comprising:
one or more hardware processors with associated memory that implement a plurality of database engine nodes, configured to:
send page write requests to update pages of a database to a storage service that stores the pages;

one or more hardware processors with associated memory that implement the storage service, wherein the storage service is configured to act as an arbiter of conflicts between page write requests of different database engine nodes, including to:
store the page write requests of the database engine nodes in a write queue in a timestamp order, wherein the write queue includes a set of conflict-free page write requests followed by a set of page write requests with potential conflicts;
detect a conflict between two page write requests in the write queue sent by two database engine nodes;
select one of the two database engine nodes as a loser of the detected conflict; and
reject the write request of the loser and notify the loser of the rejection;

wherein at least one of the plurality of database engine nodes is configured to:
identify a range of different versions of objects in the database that are older than a committed state of the database and not finally deleted at the storage service;
perform a local delete of the different versions of objects locally at the database engine node;
send respective page write requests to finally delete the different versions of objects in the range to the storage service, wherein the page write requests are sent to the storage service optimistically before checking for conflicts with page write requests of other database engine nodes;
receive, from the storage service, a notification of rejection of one of the respective page write requests to finally delete one of the different versions in the range; and
in response to the notification of rejection, resend the one page write request to finally delete one of the different versions in the range to the storage service optimistically and without a rollback of the local delete.