US 12,007,976 B2
System and method for consistent metadata access based on local locks semantics in a multi-node cluster
Vladimir Shveidel, Pardes-Hana (IL); Bar David, Rishon Lezion (IL); David Bernard, Westford, MA (US); Jason E. Raff, Bedford, NH (US); and Shari A. Vietry, Merrimack, NH (US)
Assigned to EMC IP Holding Company, LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company, LLC, Hopkinton, MA (US)
Filed on Apr. 28, 2021, as Appl. No. 17/243,252.
Prior Publication US 2022/0350787 A1, Nov. 3, 2022
Int. Cl. G06F 16/23 (2019.01); G06F 16/172 (2019.01)
CPC G06F 16/2343 (2019.01) [G06F 16/2379 (2019.01); G06F 16/172 (2019.01)] 17 Claims
OG exemplary drawing
 
13. A computing system including one or more processors and one or more memories configured to perform operations comprising:
acquiring, by a first node, local locks of the first node associated with a metadata log transaction, wherein the first node acquires the local locks of the first node prior to sending a commit message to a second node;
acquiring, by the second node, local locks of the second node associated with the metadata log transaction, wherein the second node acquires the local locks of the second node based upon, at least in part, receiving the commit message from the first node;
acquiring a shared lock for all metadata pages involved with the metadata log transaction at the first node independently of whether all the metadata pages involved with the metadata log transaction at the first node is a cache hit or cache miss to avoid concurrent loading a same metadata page; and
executing an atomic operation on a loading page associated with all the metadata pages involved with the metadata log transaction at the first node,
wherein during a first time interval between when a metadata commit began on the first node and when the commit message is received by the second node, the first node has no access to locked data, and the second node sees old data,
wherein during a second time interval when the second node is processing the metadata commit based upon, at least in part, the received commit message, both the first node and the second node have no access to the locked data, and
wherein during a third time interval between when the metadata commit being done on the second node and when the metadata commit is completed on the first node, the first node has no access to the locked data, and the second node sees new data.