Skip to content

Commit 80d233e

Browse files
committed
Bug#25152165 DATA NODES RESTART AFTER ALTER ONLINE TABLE REORGANIZE PARTITION
Never send keydata in KEYINFO20 to SUMA. Make Suma ignore sections for KEYINFO20.
1 parent a051fb0 commit 80d233e

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13206,8 +13206,9 @@ Uint32 Dblqh::sendKeyinfo20(Signal* signal,
1320613206
* messing with if's below...
1320713207
*/
1320813208
Uint32 keyLen ;
13209-
if (refToMain(ref) == SUMA && nodeId == getOwnNodeId())
13209+
if (refToMain(ref) == SUMA)
1321013210
{
13211+
ndbassert(refToNode(ref) == getOwnNodeId());
1321113212
keyLen = 0;
1321213213
}
1321313214
else

storage/ndb/src/kernel/blocks/suma/Suma.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
33
44
This program is free software; you can redistribute it and/or modify
55
it under the terms of the GNU General Public License as published by
@@ -4457,6 +4457,17 @@ Suma::execKEYINFO20(Signal* signal)
44574457
ndbrequire(syncPtr.p->m_headersSection != RNIL);
44584458
ndbrequire(syncPtr.p->m_dataSection != RNIL);
44594459

4460+
/* SUMA requests a special 'scanInfo only' KeyInfo */
4461+
ndbassert(data->keyLen == 0);
4462+
ndbassert(signal->getNoOfSections() == 0);
4463+
4464+
/* If there are sections, ignore them. This should never happen. */
4465+
if (signal->getNoOfSections() > 0)
4466+
{
4467+
SectionHandle handle(this, signal);
4468+
releaseSections(handle);
4469+
}
4470+
44604471
sendScanSubTableData(signal, syncPtr, takeOver);
44614472
}
44624473

0 commit comments

Comments
 (0)