Commit 475153be authored by unknown's avatar unknown

wl1671 - bug fix for node failure during scan


ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Put list within loop
  so that scanError can access list wo/ clashing
parent a9998d10
...@@ -6793,13 +6793,13 @@ void Dbtc::checkScanActiveInFailedLqh(Signal* signal, ...@@ -6793,13 +6793,13 @@ void Dbtc::checkScanActiveInFailedLqh(Signal* signal,
for (scanptr.i = scanPtrI; scanptr.i < cscanrecFileSize; scanptr.i++) { for (scanptr.i = scanPtrI; scanptr.i < cscanrecFileSize; scanptr.i++) {
jam(); jam();
ptrAss(scanptr, scanRecord); ptrAss(scanptr, scanRecord);
bool found = false;
if (scanptr.p->scanState != ScanRecord::IDLE){ if (scanptr.p->scanState != ScanRecord::IDLE){
jam(); jam();
ScanFragRecPtr ptr; ScanFragRecPtr ptr;
ScanFragList run(c_scan_frag_pool, scanptr.p->m_running_scan_frags); ScanFragList run(c_scan_frag_pool, scanptr.p->m_running_scan_frags);
ScanFragList comp(c_scan_frag_pool, scanptr.p->m_completed_scan_frags); ScanFragList comp(c_scan_frag_pool, scanptr.p->m_completed_scan_frags);
bool found = false;
for(run.first(ptr); !ptr.isNull(); ){ for(run.first(ptr); !ptr.isNull(); ){
jam(); jam();
ScanFragRecPtr curr = ptr; ScanFragRecPtr curr = ptr;
...@@ -6815,11 +6815,11 @@ void Dbtc::checkScanActiveInFailedLqh(Signal* signal, ...@@ -6815,11 +6815,11 @@ void Dbtc::checkScanActiveInFailedLqh(Signal* signal,
found = true; found = true;
} }
} }
}
if(found){ if(found){
jam(); jam();
scanError(signal, scanptr, ZSCAN_LQH_ERROR); scanError(signal, scanptr, ZSCAN_LQH_ERROR);
} }
}
// Send CONTINUEB to continue later // Send CONTINUEB to continue later
signal->theData[0] = TcContinueB::ZCHECK_SCAN_ACTIVE_FAILED_LQH; signal->theData[0] = TcContinueB::ZCHECK_SCAN_ACTIVE_FAILED_LQH;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment