Commit 00d95a8b authored by stewart@mysql.com's avatar stewart@mysql.com
Browse files

BUG#15425 Small window for NF during backup failing without error

parent 12d1bf12
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -786,13 +786,17 @@ Backup::checkNodeFail(Signal* signal,
      pos= &ref->nodeId - signal->getDataPtr();
      break;
    }
    case GSN_WAIT_GCP_REQ:
    case GSN_DROP_TRIG_REQ:
    case GSN_CREATE_TRIG_REQ:
    case GSN_ALTER_TRIG_REQ:
    case GSN_WAIT_GCP_REQ:
      ptr.p->setErrorCode(AbortBackupOrd::BackupFailureDueToNodeFail);
      return;
    case GSN_UTIL_SEQUENCE_REQ:
    case GSN_UTIL_LOCK_REQ:
    case GSN_DROP_TRIG_REQ:
      return;
    default:
      ndbrequire(false);
    }
    
    for(Uint32 i = 0; (i = mask.find(i+1)) != NdbNodeBitmask::NotFound; )
@@ -1880,7 +1884,7 @@ Backup::execBACKUP_FRAGMENT_REF(Signal* signal)
      }
    }
  }
  ndbrequire(false);
  goto err;

done:
  ptr.p->masterData.sendCounter--;
@@ -1893,6 +1897,7 @@ Backup::execBACKUP_FRAGMENT_REF(Signal* signal)
    return;
  }//if

err:
  AbortBackupOrd *ord = (AbortBackupOrd*)signal->getDataPtrSend();
  ord->backupId = ptr.p->backupId;
  ord->backupPtr = ptr.i;
+0 −1
Original line number Diff line number Diff line
@@ -11694,7 +11694,6 @@ Dbdict::alterTrigger_toDropLocal(Signal* signal, OpAlterTriggerPtr opPtr)
    // broken trigger allowed if force
    if (! (triggerPtr.p->triggerLocal & TriggerRecord::TL_CREATED_LQH)) {
      jam();
      ndbrequire(opPtr.p->m_requestFlag & RequestFlag::RF_FORCE);
      alterTrigger_sendReply(signal, opPtr, false);
      return;
    }