|
1 | 1 | /* |
2 | | - Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. |
| 2 | + Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. |
3 | 3 |
|
4 | 4 | This program is free software; you can redistribute it and/or modify |
5 | 5 | it under the terms of the GNU General Public License as published by |
@@ -806,7 +806,7 @@ void Dblqh::execNDB_STTOR(Signal* signal) |
806 | 806 | case ZSTART_PHASE1: |
807 | 807 | jam(); |
808 | 808 | preComputedRequestInfoMask = 0; |
809 | | - LqhKeyReq::setKeyLen(preComputedRequestInfoMask, RI_KEYLEN_MASK); |
| 809 | + // Dont setDisableFkconstraints - handled on primary |
810 | 810 | LqhKeyReq::setLastReplicaNo(preComputedRequestInfoMask, RI_LAST_REPL_MASK); |
811 | 811 | // Dont LqhKeyReq::setApplicationAddressFlag |
812 | 812 | LqhKeyReq::setDirtyFlag(preComputedRequestInfoMask, 1); |
@@ -4916,6 +4916,24 @@ void Dblqh::execLQHKEYREQ(Signal* signal) |
4916 | 4916 | (Operation_t) op == ZUNLOCK ? ZREAD : // lockType not relevant for unlock req |
4917 | 4917 | (Operation_t) op; |
4918 | 4918 | } |
| 4919 | +#ifdef VM_TRACE |
| 4920 | + if (unlikely(isLongReq && |
| 4921 | + LqhKeyReq::getLongClearBits(Treqinfo) != 0)) |
| 4922 | + { |
| 4923 | + jam(); |
| 4924 | + /* Bits set which should not be - definite error on same version */ |
| 4925 | + const Uint32 ownVersion = getNodeInfo(getOwnNodeId()).m_version; |
| 4926 | + if (senderVersion == ownVersion) |
| 4927 | + { |
| 4928 | + jam(); |
| 4929 | + ndbout_c("Received bad long request info %x from same version node %x %x", |
| 4930 | + Treqinfo, |
| 4931 | + senderVersion, |
| 4932 | + ownVersion); |
| 4933 | + ndbrequire(false); |
| 4934 | + } |
| 4935 | + } |
| 4936 | +#endif |
4919 | 4937 |
|
4920 | 4938 | if (regTcPtr->dirtyOp) |
4921 | 4939 | { |
@@ -13349,8 +13367,6 @@ void Dblqh::copyTupkeyConfLab(Signal* signal) |
13349 | 13367 | return; |
13350 | 13368 | } |
13351 | 13369 |
|
13352 | | - LqhKeyReq::setKeyLen(tcConP->reqinfo, len); |
13353 | | - |
13354 | 13370 | /*---------------------------------------------------------------------------*/ |
13355 | 13371 | // To avoid using up to many operation records in ACC we will increase the |
13356 | 13372 | // constant to ensure that we never send more than 40 records at a time. |
@@ -21843,7 +21859,6 @@ void Dblqh::initReqinfoExecSr(Signal* signal) |
21843 | 21859 | { |
21844 | 21860 | UintR Treqinfo = 0; |
21845 | 21861 | TcConnectionrec * const regTcPtr = tcConnectptr.p; |
21846 | | - LqhKeyReq::setKeyLen(Treqinfo, regTcPtr->primKeyLen); |
21847 | 21862 | /* ------------------------------------------------------------------------- */ |
21848 | 21863 | /* NUMBER OF BACKUPS AND STANDBYS ARE ZERO AND NEED NOT BE SET. */ |
21849 | 21864 | /* REPLICA TYPE IS CLEARED BY SEND_LQHKEYREQ. */ |
|
0 commit comments