Skip to content

Commit 49ae3ac

Browse files
dssanjusreedhars
authored andcommitted
Revert "Bug #27584165 TUPLE CORRUPTION DETECTED AND DATA NODE CRASH IN DBTUPEXECQUERY.CPP"
This reverts commit 7d01d8d94784da07d8bec2ab072f8f39aba21f6d. Reverting due to the following autotest failures: > testNodeRestart -l 1 -n MixedPkReadPkUpdate > testNodeRestart -l 1 -n MixedReadUpdateScan (cherry picked from commit fd05b58532934c6be53d8123bfd506793c9cc6e8)
1 parent b7d00b5 commit 49ae3ac

File tree

3 files changed

+3
-21
lines changed

3 files changed

+3
-21
lines changed

storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1416,15 +1416,6 @@ typedef Ptr<HostBuffer> HostBufferPtr;
14161416
data. In the case of abort, the varpart must then be shrunk. For a
14171417
MM_GROWN tuple, the original size is stored in the last word of the
14181418
varpart until commit.
1419-
1420-
DELETE_WAIT: When a tuple has been marked to be deleted, the tuple header
1421-
has the DELETE_WAIT bit set. Note that DELETE_WAIT means that the tuple
1422-
hasn't actually been deleted. When a tuple has been deleted, it is marked
1423-
with the FREE flag and DELETE_WAIT is reset.
1424-
The need for DELETE_WAIT arises due to the real-time break between the
1425-
marking of the tuple and the actual deletion of the tuple for disk data
1426-
rows. This information would be useful for reads since they'd know the
1427-
proper state of the row. (Related Bug #27584165)
14281419
*/
14291420
STATIC_CONST( TUP_VERSION_MASK = 0xFFFF );
14301421
STATIC_CONST( COPY_TUPLE = 0x00010000 ); // Is this a copy tuple
@@ -1439,7 +1430,6 @@ typedef Ptr<HostBuffer> HostBufferPtr;
14391430
STATIC_CONST( LCP_SKIP = 0x01000000 ); // Should not be returned in LCP
14401431
STATIC_CONST( VAR_PART = 0x04000000 ); // Is there a varpart
14411432
STATIC_CONST( REORG_MOVE = 0x08000000 );
1442-
STATIC_CONST( DELETE_WAIT = 0x20000000 ); // Waiting for delete tuple page
14431433

14441434
Tuple_header() {}
14451435
Uint32 get_tuple_version() const {

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -895,8 +895,6 @@ void Dbtup::execTUP_COMMITREQ(Signal* signal)
895895
regOperPtr,
896896
diskPagePtr) == 0)
897897
{
898-
// set bit
899-
tuple_ptr->m_header_bits = tuple_ptr->m_header_bits | Tuple_header::DELETE_WAIT;
900898
return; // Data page has not been retrieved yet.
901899
}
902900
get_page = true;
@@ -966,9 +964,6 @@ void Dbtup::execTUP_COMMITREQ(Signal* signal)
966964
regFragPtr.p,
967965
regTabPtr.p,
968966
diskPagePtr);
969-
970-
//reset bit
971-
tuple_ptr->m_header_bits = tuple_ptr->m_header_bits & (~Tuple_header::DELETE_WAIT);
972967
}
973968
else if(regOperPtr.p->op_type != ZREFRESH)
974969
{

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,8 +1118,7 @@ Dbtup::scanNext(Signal* signal, ScanOpPtr scanPtr)
11181118
{
11191119
jam();
11201120
thbits = th->m_header_bits;
1121-
if (! ((thbits & Tuple_header::FREE) ||
1122-
(thbits & Tuple_header::DELETE_WAIT)))
1121+
if (! (thbits & Tuple_header::FREE))
11231122
{
11241123
goto found_tuple;
11251124
}
@@ -1136,8 +1135,7 @@ Dbtup::scanNext(Signal* signal, ScanOpPtr scanPtr)
11361135
if ((foundGCI = *th->get_mm_gci(tablePtr.p)) > scanGCI ||
11371136
foundGCI == 0)
11381137
{
1139-
if (! ((thbits & Tuple_header::FREE) ||
1140-
(thbits & Tuple_header::DELETE_WAIT)))
1138+
if (! (thbits & Tuple_header::FREE))
11411139
{
11421140
jam();
11431141
goto found_tuple;
@@ -1231,8 +1229,7 @@ Dbtup::scanNext(Signal* signal, ScanOpPtr scanPtr)
12311229
if ((foundGCI = *th->get_mm_gci(tablePtr.p)) > scanGCI ||
12321230
foundGCI == 0)
12331231
{
1234-
if (! ((thbits & Tuple_header::FREE) ||
1235-
(thbits & Tuple_header::DELETE_WAIT)))
1232+
if (! (thbits & Tuple_header::FREE))
12361233
break;
12371234
}
12381235
}

0 commit comments

Comments
 (0)