The method for processing BackupInstanceFaulty from nodes
        and removing replicas with performance were degraded
        :param backup_faulty: BackupInstanceFaulty message with instances for removing
        :param frm:
        :return:

def process_backup_instance_faulty_msg(self,
                                           backup_faulty: BackupInstanceFaulty,
                                           frm: str) -> None:
        '''
        The method for processing BackupInstanceFaulty from nodes
        and removing replicas with performance were degraded
        :param backup_faulty: BackupInstanceFaulty message with instances for removing
        :param frm:
        :return:
        '''
        logger.debug("{} receive BackupInstanceFaulty "
                     "from {}: {}".format(self.node, frm, backup_faulty))
        instances = getattr(backup_faulty, f.INSTANCES.nm)
        if getattr(backup_faulty, f.VIEW_NO.nm) != self.node.viewNo or \
                self.node.master_replica.instId in instances:
            return

        # Don't process BackupInstanceFaulty if strategy for this reason is not need quorum
        reason = Suspicions.get_by_code(getattr(backup_faulty, f.REASON.nm))
        if (
                reason == Suspicions.BACKUP_PRIMARY_DISCONNECTED and
                not self.is_quorum_strategy(self.node.config.REPLICAS_REMOVING_WITH_PRIMARY_DISCONNECTED)
        ) or (
                reason == Suspicions.BACKUP_PRIMARY_DEGRADED and
                not self.is_quorum_strategy(self.node.config.REPLICAS_REMOVING_WITH_DEGRADATION)
        ):
            return

        for inst_id in getattr(backup_faulty, f.INSTANCES.nm):
            if inst_id not in self.node.replicas.keys():
                continue
            self.backup_instances_faulty.setdefault(inst_id, dict()).setdefault(frm, 0)
            self.backup_instances_faulty[inst_id][frm] += 1
            all_nodes_condition = self.node.quorums.backup_instance_faulty.is_reached(
                len(self.backup_instances_faulty[inst_id].keys()))
            this_node_condition = (self.node.name in self.backup_instances_faulty[inst_id] and
                                   self.node.quorums.backup_instance_faulty.is_reached(
                                       self.backup_instances_faulty[inst_id][self.node.name]))
            if all_nodes_condition or this_node_condition:
                self.node.replicas.remove_replica(inst_id)
                self.backup_instances_faulty.pop(inst_id)