-
Priyanka Sangam authored
mt-backup Modify signal flow for multithreaded backup so that the major 'control' signals which control backup execution are sent to all LDM instances instead of to LDM1 alone. These signals are DEFINE_BACKUP_REQ, START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD. 1) Add signal handling to BackupProxy to accept DEFINE_BACKUP_REQ, START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD. These signals are forwarded to all LDMs. 2) Modify BACKUP to check backup type and send control signals accordingly: send to LDM1 for single-threaded backup and to proxy for multithreaded backup. 3) Add masterRef to DEFINE_BACKUP_REQ so that all participants set a masterRef explicitly specified by the master. 4) Use senderRef instead of masterRef as destination for all DEFINE/START/STOP_BACKUP_CONFs and REFs. The masterRef is the BACKUP block which coordinates the backup across all the nodes, i.e. LDM1 on the master node. The senderRef is the BACKUP block which sent the last REQ signal. The masterRef sends signals to the BackupProxies on all the nodes, and each BackupProxy sends the signals to the LDMs. So the LDMs need to reply to the BackupProxy, not the master. - For single-threaded backup: backup master directly controls participants on all nodes, so masterRef = senderRef = LDM1_on_master_node. - For multithreaded backup: backup master sends control signals to BackupProxy on each node + each BackupProxy controls backup exec across LDMs, so: For all LDMs on node N, senderRef = BackupProxy_on_node_N For all LDMs on all nodes, masterRef = LDM1_on_master_node. 5) Add checks to detect and handle case where BackupProxy failed to clean up SignalSenders from previous backups.
Priyanka Sangam authoredmt-backup Modify signal flow for multithreaded backup so that the major 'control' signals which control backup execution are sent to all LDM instances instead of to LDM1 alone. These signals are DEFINE_BACKUP_REQ, START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD. 1) Add signal handling to BackupProxy to accept DEFINE_BACKUP_REQ, START_BACKUP_REQ, STOP_BACKUP_REQ and ABORT_BACKUP_ORD. These signals are forwarded to all LDMs. 2) Modify BACKUP to check backup type and send control signals accordingly: send to LDM1 for single-threaded backup and to proxy for multithreaded backup. 3) Add masterRef to DEFINE_BACKUP_REQ so that all participants set a masterRef explicitly specified by the master. 4) Use senderRef instead of masterRef as destination for all DEFINE/START/STOP_BACKUP_CONFs and REFs. The masterRef is the BACKUP block which coordinates the backup across all the nodes, i.e. LDM1 on the master node. The senderRef is the BACKUP block which sent the last REQ signal. The masterRef sends signals to the BackupProxies on all the nodes, and each BackupProxy sends the signals to the LDMs. So the LDMs need to reply to the BackupProxy, not the master. - For single-threaded backup: backup master directly controls participants on all nodes, so masterRef = senderRef = LDM1_on_master_node. - For multithreaded backup: backup master sends control signals to BackupProxy on each node + each BackupProxy controls backup exec across LDMs, so: For all LDMs on node N, senderRef = BackupProxy_on_node_N For all LDMs on all nodes, masterRef = LDM1_on_master_node. 5) Add checks to detect and handle case where BackupProxy failed to clean up SignalSenders from previous backups.
Loading