US 11,875,198 B2
Synchronization object issue detection using object type queues and associated monitor threads in a storage system
Vladimir Shveidel, Pardes-Hana (IL); and Lior Kamran, Rishon LeZion (IL)
Assigned to EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Mar. 22, 2021, as Appl. No. 17/208,295.
Prior Publication US 2022/0300349 A1, Sep. 22, 2022
Int. Cl. G06F 9/52 (2006.01); G06F 9/48 (2006.01); G06F 9/38 (2018.01); G06F 9/30 (2018.01); G06F 9/50 (2006.01)
CPC G06F 9/522 (2013.01) [G06F 9/30087 (2013.01); G06F 9/3877 (2013.01); G06F 9/4881 (2013.01); G06F 9/5038 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
said at least one processing device being configured:
to establish at least first and second groups of synchronization objects in a storage system based at least in part on synchronization object type, the first group of synchronization objects being established for a first synchronization object type, the second group of synchronization objects being established for a second synchronization object type different than the first synchronization object type, and the first and second groups of synchronization objects being associated with respective ones of a first synchronization object type queue and a second synchronization object type queue, with each such synchronization object type queue being implemented at least in part utilizing the memory; and
for each of the first and second groups of synchronization objects:
to insert entries into a corresponding one of the synchronization object type queues for respective synchronization objects of a corresponding one of the first and second groups of synchronization objects;
to execute on the processor an associated one of a plurality of monitor threads, the associated monitor thread being for the corresponding group, the associated monitor thread being configured to scan the entries of the corresponding synchronization object type queue for synchronization object issue detection, in accordance with one or more designated detection conditions, wherein different detection conditions are designated for use with different ones of the first and second groups of synchronization objects; and
responsive to at least one of the scanned entries meeting the one or more designated detection conditions, to take at least one automated action for its associated synchronization object;
wherein the associated monitor thread is configured to operate in accordance with a series of monitoring cycles and wherein one or more synchronization objects added to the corresponding group in a given one of the monitoring cycles have corresponding entries inserted into an additional queue, and further wherein the entries inserted into the additional queue are subsequently merged into the synchronization object type queue for the corresponding group; and
wherein taking at least one automated action comprises executing a callback function specified for the corresponding group, the callback function being specified for the corresponding group in conjunction with establishing the corresponding group for the synchronization object type.