During TC-take-over (NF) the new-TC builds up a new transaction state
And commits operation according to this state.
However, in the new state that is build, the operations does not have to be in same order, as "real" state
In the multi-update-case, this means that operations can be commit in "incorrect" order
i.e update A, delete A, insert A is normally commited in same order as prepared
but can be committed in any order
This patch changes TUP handling of these out-order commits, and previous implementation
could confuse the TUX triggers
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
new method
storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
move removeActiveOpList, cause it's now only used by DbtupAbort
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
- move tux-trigger execution *before* check of disk, since ops can be committed during a disk timeslice
- allow out-of-order commits and use tuple_ptr->m_operation_ptr_i for determening "real" commit
(instead of re-ordering operations on the fly, which confused tux-triggers)
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
use constant instead of number
storage/ndb/test/run-test/daily-basic-tests.txt:
"old-51" does not yet support --nologging
testcases
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
new error codes
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
new error codes
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
new error codes
storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
remove assert
storage/ndb/test/ndbapi/testNodeRestart.cpp:
new testcase
1) -n Bug34216
Which tests node diying during multip-op commit
Very controlled
2) -n mixedmultiop
Runs several threads "load" of same scenario...not very controlled
storage/ndb/test/run-test/daily-basic-tests.txt:
new testcases
into sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-ndb
storage/ndb/src/ndbapi/Ndb.cpp:
Auto merged
storage/ndb/test/ndbapi/testOIBasic.cpp:
Auto merged
Updated with new support function from Magnus push to dbutil
storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp:
Updated with new support function from Magnus push to dbutil
into sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug34107
storage/ndb/test/ndbapi/testInterpreter.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
ul, fix next
into sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug31477
storage/ndb/include/ndbapi/Ndb.hpp:
Auto merged
storage/ndb/src/common/util/NdbOut.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
Auto merged
storage/ndb/test/ndbapi/testOIBasic.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
mindless merge
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
mindless merge
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/include/util/Bitmask.hpp:
Auto merged
storage/ndb/src/common/util/Bitmask.cpp:
merge
storage/ndb/test/ndbapi/testBitfield.cpp:
merge
storage/ndb/test/include/DbUtil.hpp:
Add support for SqlResultSet
storage/ndb/test/ndbapi/Makefile.am:
Add testNDBT
storage/ndb/test/src/DbUtil.cpp:
Add support for SqlResultSet
storage/ndb/test/src/Makefile.am:
Build AtrtClient
storage/ndb/test/include/AtrtClient.hpp:
New BitKeeper file ``storage/ndb/test/include/AtrtClient.hpp''
storage/ndb/test/ndbapi/testNDBT.cpp:
New BitKeeper file ``storage/ndb/test/ndbapi/testNDBT.cpp''
storage/ndb/test/src/AtrtClient.cpp:
New BitKeeper file ``storage/ndb/test/src/AtrtClient.cpp''
into perch.ndb.mysql.com:/home/jonas/src/51-ndb
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
dont assume that page is "all empty"
only as gci is acked, as release_gci might not have processed it yet
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
new error codes
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
dont assume that page is "all empty"
only as gci is acked, as release_gci might not have processed it yet
storage/ndb/test/ndbapi/test_event.cpp:
testcase
storage/ndb/test/run-test/daily-basic-tests.txt:
testcase
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/mysql-5.1-new-ndb-bj
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/lgman.cpp:
Auto merged
storage/ndb/src/kernel/blocks/tsman.cpp:
Auto merged
storage/ndb/test/ndbapi/testDict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
SCCS merged
storage/ndb/src/ndbapi/ndberror.c:
SCCS merged
More code improvments
storage/ndb/test/include/DbUtil.hpp:
More code improvments
storage/ndb/test/src/DbUtil.cpp:
More code improvments
storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp:
More code improvments
Updated with suggestions from Magnus and other fixes and adjustments I found along the way
DbUtil.hpp, DbUtil.cpp:
fixes and adjustments I found along the way
storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp:
Updated with suggestions from Magnus and other fixes and adjustments I found along the way
storage/ndb/test/src/DbUtil.cpp:
fixes and adjustments I found along the way
storage/ndb/test/include/DbUtil.hpp:
fixes and adjustments I found along the way
Rename: storage/ndb/test/src/dbutil.cpp -> storage/ndb/test/src/DbUtil.cpp
DbUtil.hpp, DbUtil.cpp:
Many changes based off a review from Magnus
DbUtil.hpp:
Rename: storage/ndb/test/include/dbutil.hpp -> storage/ndb/test/include/DbUtil.hpp
storage/ndb/test/src/DbUtil.cpp:
Many changes based off a review from Magnus
storage/ndb/test/include/DbUtil.hpp:
Many changes based off a review from Magnus
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race, error insert causes 5s delay)
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race)
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race)
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race)
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race)
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race)
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
make local INCL_NODEREQ/CONF more robust (to remove testprg introduced race)
storage/ndb/test/ndbapi/testNodeRestart.cpp:
soem more printout
Fix handling of multiple redo phases
- set correct state
- handle 4 phases, by moving START_FRAGCONF to end of phase instead of beginning...
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
remove unused state ACTIVE_REMOVE_AFTER
remove unused variable nextLcp
remove unused methods (BUILD_INDX)
add counter of outstanding GSN_EXEC_FRAGREQ
remove c_redo_complete_fragments cause it fits badly with functional multi-redo-phases
storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
remove unused stuff
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
1) set correct state before starting next non-empty REDO phase
2) move GSN_START_FRAGCONF to execFRAGCONF instead of when sending GSN_EXEC_FRAGREQ
or fragments with 4 redo-phases would never be complete...
storage/ndb/test/ndbapi/testSystemRestart.cpp:
testcase
storage/ndb/test/run-test/daily-basic-tests.txt:
testcase
add new testtool that does connect/disconnect in loop
storage/ndb/test/tools/Makefile.am:
add new test tool
storage/ndb/test/tools/connect.cpp:
New BitKeeper file ``storage/ndb/test/tools/connect.cpp''
1: Create a log file which is larger than 4G in 32-bit host.
2: Create a data file (tablespace) which is larger than 4G in 32-bit host.
storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp:
Add error code for log file too large
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
Add error insert code in lgman and tsman
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Add error code definination of lgman and tsman
storage/ndb/src/kernel/blocks/lgman.cpp:
Return REF when log file more than 4G in 32-bits host
storage/ndb/src/kernel/blocks/tsman.cpp:
return FER when data file larger than 4G in 32-bits host
storage/ndb/src/ndbapi/ndberror.c:
Add describe of new errorCode
storage/ndb/test/ndbapi/testDict.cpp:
Add test case for bug29186
Updated DropDDObjects in testDict to ignore the user tables created in the MySQL database
storage/ndb/test/ndbapi/testDict.cpp:
Updated DropDDObjects in testDict to ignore the user tables created in the MySQL database
into perch.ndb.mysql.com:/home/jonas/src/51-ndb
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
merge
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
storage/ndb/test/include/dbutil.hpp:
Hearder file for SQL Database Utilities class for adding MySQL SQL abilities to NDB API tests cases.
storage/ndb/test/src/dbutil.cpp:
Implementation file for SQL Database Utilities class for adding MySQL SQL abilities to NDB API tests cases.
storage/ndb/test/src/Makefile.am:
Updated to include dbutil
partial backport from 6.2 + add fix of bug
storage/ndb/include/kernel/GlobalSignalNumbers.h:
add prep_copy_frag
storage/ndb/include/kernel/signaldata/AccScan.hpp:
add new argument specifying which page to scan to
storage/ndb/include/kernel/signaldata/CopyFrag.hpp:
add new argument specifying which page to scan to
storage/ndb/include/ndb_version.h.in:
add versioning checks for prep_copy_frag
storage/ndb/src/common/debugger/signaldata/SignalNames.cpp:
add prep_copy_frag
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
new error codes
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
add new to-step
storage/ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
add new to-step
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
add new to-step
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
add new to-step
storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
add new to-step
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
add new to-step
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
add new argument specifying which page to scan to
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
add utility to get max page used by fragment
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
add NR scan to > frag.noOfPages
storage/ndb/test/ndbapi/testSystemRestart.cpp:
add testcase
storage/ndb/test/run-test/daily-basic-tests.txt:
add testcase
storage/ndb/test/src/NdbRestarts.cpp:
add testcase
into perch.ndb.mysql.com:/home/jonas/src/51-ndb
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
Correct check for buffer/no buffer
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
new error code
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
correct check for buffer/no buffer
storage/ndb/test/ndbapi/test_event.cpp:
test prg
storage/ndb/test/run-test/daily-basic-tests.txt:
test prg
(re)impl. simple-read (read that releases lock just before LQHKEYCONF)
use simple-read for blobs
storage/ndb/include/kernel/signaldata/TcKeyConf.hpp:
rename bit
storage/ndb/include/ndbapi/NdbOperation.hpp:
add new lock-mode
storage/ndb/src/common/debugger/signaldata/TcKeyConf.cpp:
rename bit
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
remove aggregate
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
impl. simple-read = normal read + release lock just before LQHKEYCONF
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
impl. simple-read = normal read + release lock just before LQHKEYCONF
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
impl. simple-read = normal read + release lock just before LQHKEYCONF
storage/ndb/src/ndbapi/NdbBlob.cpp:
use simple read for blobs
storage/ndb/src/ndbapi/NdbIndexOperation.cpp:
no simple-read for ui (yet)
storage/ndb/src/ndbapi/NdbOperationDefine.cpp:
impl. simple-read
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
impl. simple-read
storage/ndb/src/ndbapi/NdbReceiver.cpp:
impl. simple-read
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
no simple-read for scan (yet)
storage/ndb/src/ndbapi/NdbTransaction.cpp:
rename bit
storage/ndb/test/ndbapi/testBasic.cpp:
add testcase for simlpe-read
storage/ndb/test/run-test/daily-basic-tests.txt:
add testcase
storage/ndb/test/src/HugoOperations.cpp:
add simple-read
into perch.ndb.mysql.com:/home/jonas/src/51-ndb
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
Fix bug regarding node that missed 2 LCP's (that was not included in next LCP after SR)
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
add new error codes for bug#31525
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
add new error codes for bug#31525
fix bug, i.e include missing_2 in LCP
storage/ndb/test/ndbapi/testNodeRestart.cpp:
add testcase for bug#31525
storage/ndb/test/run-test/daily-basic-tests.txt:
add testcase for bug#31525
(autotest tests)
storage/ndb/test/ndbapi/testDict.cpp:
more test prg fixes
storage/ndb/test/ndbapi/testIndex.cpp:
more test prg fixes
storage/ndb/test/ndbapi/test_event.cpp:
more test prg fixes