Skip to content

Commit cc47661

Browse files
author
Maitrayi Sabaratnam
committed
Bug 23539857 - WL#8069: NODE GOT CRASHED WITH ERROR "LCP_SCANNED_BIT == 0 FAILED"
Add some debug. Reviewed by: Frazer Clement <[email protected]> Change-Id: Iffb0f39d688627f7a94f476d11f78568b6b60f04
1 parent ecc95e3 commit cc47661

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,6 +1000,7 @@ Dbtup::releaseFragPage(Fragrecord* fragPtrP,
10001000
Uint32 last_lcp_state = (*prev) & LAST_LCP_FREE_BIT;
10011001
Uint32 lcp_scan_ptr_i = fragPtrP->m_lcp_scan_op;
10021002
bool lcp_to_scan = false;
1003+
bool rowid_in_remaining_lcp_set = false;
10031004
if (lcp_scan_ptr_i != RNIL)
10041005
{
10051006
/**
@@ -1011,16 +1012,19 @@ Dbtup::releaseFragPage(Fragrecord* fragPtrP,
10111012
* duplicate some DELETE BY ROWID, but it should only have a minor
10121013
* performance impact. Otherwise we will ignore it.
10131014
*/
1015+
jam();
10141016
ScanOpPtr scanOp;
10151017
Local_key key;
10161018
c_scanOpPool.getPtr(scanOp, lcp_scan_ptr_i);
10171019
key.m_page_no = logicalPageId;
10181020
key.m_page_idx = ZNIL;
1019-
if (is_rowid_in_remaining_lcp_set(pagePtr.p,
1020-
fragPtrP,
1021-
key,
1022-
*scanOp.p,
1023-
1 /* Debug for LCP scanned bit */) ||
1021+
rowid_in_remaining_lcp_set =
1022+
is_rowid_in_remaining_lcp_set(pagePtr.p,
1023+
fragPtrP,
1024+
key,
1025+
*scanOp.p,
1026+
1 /* Debug for LCP scanned bit */);
1027+
if (rowid_in_remaining_lcp_set ||
10241028
pagePtr.p->is_page_to_skip_lcp())
10251029
{
10261030
jam();
@@ -1161,10 +1165,18 @@ Dbtup::releaseFragPage(Fragrecord* fragPtrP,
11611165
if (unlikely(lcp_scanned_bit != 0))
11621166
{
11631167
g_eventLogger->info("(%u)tab(%u,%u):%u crash lcp_scanned_bit set",
1168+
" is lcp_scan_ptr_i RNIL %u,"
1169+
" last_lcp_state %u,"
1170+
" is_rowid_in_remaining_lcp_set %u"
1171+
" is_page_to_skip_lcp %u",
11641172
instance(),
11651173
fragPtrP->fragTableId,
11661174
fragPtrP->fragmentId,
1167-
logicalPageId);
1175+
logicalPageId,
1176+
lcp_scan_ptr_i == RNIL,
1177+
last_lcp_state,
1178+
rowid_in_remaining_lcp_set,
1179+
pagePtr.p->is_page_to_skip_lcp());
11681180
ndbrequire(lcp_scanned_bit == 0);
11691181
}
11701182
}

0 commit comments

Comments
 (0)