Correction of bug#19852 (that also revealed another bug)
Do grow noOfPagesToGrow with more than was actually allocated
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
Dont grow "noOfPagesToGrow" with more than was actually allocated
(as it will then grow indefinitly)
Fix bug in tup buddy allocator, which made it make invalid access to cfreepagelist[16] (which is not defined)
ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
loop from firstListToCheck -1 (as firstListToCheck has already been checked), when looking for less than requested pages
add if-statement for firtListToCheck == 0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
configure.in:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/federated.result:
Auto merged
mysql-test/r/func_time.result:
Auto merged
mysql-test/r/mysql.result:
Auto merged
mysql-test/r/type_ranges.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/mysql.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
ndb/test/ndbapi/testIndex.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
merge
into perch.ndb.mysql.com:/home/jonas/src/41-work
ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
handle error in TCKEYREQ during TCINDXREQ better
ndb/src/kernel/blocks/ERROR_codes.txt:
new error code
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Add 3 values to isIndexOp
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
handle error in TCKEYREQ during TCINDXREQ
ndb/test/ndbapi/testIndex.cpp:
Add testcase
ndb/test/run-test/daily-basic-tests.txt:
Add testcase
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
- Define MAX_PATH if not already defined by system header files.
- Thanks to Christian for the report and patch!
ndb/include/ndb_global.h.in:
PATH_MAX is defined in ndb_global.h for "sco", remove the conditional define for sco
so it thakes effect as soon as MAX_PATH is not available
- Since error 1186 is not found among NDB error codes, the message retuned should indicate that.
extra/perror.c:
Move the !found out one level
mysql-test/t/perror.test:
Add test case for bug#16561
ndb/src/kernel/error/ndbd_exit_codes.c:
Check not only for zero size string but also classification "unknown error" when looking for an error mesage for an error code
ndb/tools/ndb_size.pl:
disable 5.1-dd reporting as it's not ready yet.
support BLOB tables with mostly accurate space estimate (our estimates
will be slightly higher due to the fact we also calculate an ORDERED index
on the BLOB table, something that NDB doesn't have).
now have subroutine do_table that does the calculations for a table. We
call this with a "fake" blob table to get estimates for blob usage.
ndb/tools/ndb_size.tmpl:
Add column in columns table for if column is VARSIZED
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
client/mysql.cc:
Auto merged
mysql-test/r/date_formats.result:
Auto merged
mysql-test/r/func_str.result:
Auto merged
mysql-test/t/date_formats.test:
Auto merged
mysql-test/t/func_str.test:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/time.cc:
Auto merged
into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50-1.2167.1.2
ndb/include/kernel/GlobalSignalNumbers.h:
Auto merged
ndb/src/common/debugger/signaldata/SignalNames.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
ndb/src/kernel/blocks/dbdict/DictLock.txt:
wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/vm/SimulatedBlock.cpp:
wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/vm/SimulatedBlock.hpp:
wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/test/run-test/daily-basic-tests.txt:
wait until SL_STARTED before sending DICT_UNLOCK_ORD
- only force HB to data nodes
- flag for if we broadcast condition on receipt of HB
ndb/src/mgmsrv/MgmtSrvr.cpp:
Add get_connected_ndb_nodes to check status for connected data nodes only
ndb/src/mgmsrv/MgmtSrvr.hpp:
add prototype for get_connected_ndb_nodes
ndb/src/mgmsrv/Services.cpp:
only force HB to NDBD nodes
ndb/src/ndbapi/ClusterMgr.cpp:
flag to control if we send the condition
ndb/src/ndbapi/ClusterMgr.hpp:
flag for if we broadcast condition on receipt of hb
ndb/src/kernel/blocks/ERROR_codes.txt:
DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
DbtupTabDesMan: add merge with left buddies
ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
DbtupTabDesMan: add merge with left buddies
ndb/test/ndbapi/testDict.cpp:
DbtupTabDesMan: add merge with left buddies
ndb/test/run-test/daily-basic-tests.txt:
DbtupTabDesMan: add merge with left buddies
use existing transporter mutex
ndb/src/ndbapi/ClusterMgr.cpp:
just use the transporter facade mutex.
parallel 'show' will get woken up at the same time
ndb/src/ndbapi/ClusterMgr.hpp:
remove wait for heartbeat mutex
better support parallel show commands, hold mutex when touching waitForHBFromNodes
ndb/src/ndbapi/ClusterMgr.cpp:
correctly serialize ::forceHB calls and hold mutex for whole time updating
waitForHBFromNodes
Better error message when failing to read either of 2 DIH schema files
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Better error message when failing to read either of 2 DIH schema files
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
ndb/include/kernel/GlobalSignalNumbers.h:
Auto merged
ndb/src/common/debugger/signaldata/SignalNames.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Auto merged
Second half of the fix for this bug.
This patch forces a heartbeat to be sent and will wait (a little while)
for replies. This way we can get
> all status
X starting
Y started
X started
>
which is okay as the new status comes after the old status, always.
There is the slimmest of opportunities to get output like above where only half
the cluster appears started.
This is about the best we can do with a command line interactive program.
ndb/src/mgmsrv/MgmtSrvr.cpp:
Add updateStatus method to MgmtSrvr.
Used to force an update of node status for the nodes.
ndb/src/mgmsrv/MgmtSrvr.hpp:
add prototype for updateStatus(NodeBitmask) method
ndb/src/mgmsrv/Services.cpp:
When status is queried, force an update of the status in the mgm server. (i.e. send heartbeats)
ndb/src/ndbapi/ClusterMgr.cpp:
new DEBUG_REG define for debugging registration and HB code.
Add ClusterMgr::forceHB(NodeBitmask) which sends a HB signal to each node in
the bitmask and then waits for a REGCONF from them.
Will only wait for a total of 1 second, not blocking an end client for too long.
On receipt of HB, clear the nodeId in the waiting for bitmask and signal any
waiting threads.
ndb/src/ndbapi/ClusterMgr.hpp:
Add ::forceHB(NodeBitmask) and associated variables
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
Fix testNodeRestart -n DuringLCP and others (add stopTest() at end of test :-))
ndb/test/ndbapi/testNodeRestart.cpp:
Fix testNodeRestart -n DuringLCP and others
change default minimum to 3
bug is *very* timing dependent, unable to reproduce here, but theoretically possible.
ndb/src/mgmsrv/ConfigInfo.cpp:
change minimum NoOfFragmentLogFiles to 3
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
Auto merged
ndb/include/ndbapi/NdbScanOperation.hpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
mysql-test/mysql-test-run.sh:
Auto merged
ndb/include/kernel/GlobalSignalNumbers.h:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
allow user to specify scan batch size in readTuples
ndb/include/ndbapi/NdbIndexScanOperation.hpp:
Allow user to specify batch size
ndb/include/ndbapi/NdbScanOperation.hpp:
Allow user to specify batch size
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Fix so that last row works even if batch is complete
ndb/src/ndbapi/NdbReceiver.cpp:
Allow user yo specify batch size
ndb/src/ndbapi/NdbScanOperation.cpp:
Allow user to specify batchsize
- make sure to allocate just enough pages in the fragments by using the actual
row count from the backup, to avoid over allocation of pages to fragments, and
thus avoid the bug
ndb/include/kernel/GlobalSignalNumbers.h:
Bug #19852 Restoring backup made from cluster with full data memory fails
- distribute fragment complete to all participants to update row count
ndb/include/kernel/signaldata/BackupContinueB.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- time slica writing of fragment info to ctl file
ndb/include/kernel/signaldata/BackupImpl.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- 32 -> 64 bit on bytes and records
- new signal fragment complete to all participants
ndb/include/kernel/signaldata/BackupSignalData.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- 32 -> 64 bit on bytes and records
ndb/include/kernel/signaldata/DictTabInfo.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- add min and max rows to dict tab info
ndb/include/kernel/signaldata/LqhFrag.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to add frag req
ndb/include/kernel/signaldata/TupFrag.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to add frag req
ndb/include/ndbapi/NdbDictionary.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added get/set of min max rows
ndb/src/common/debugger/signaldata/BackupImpl.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- 32 -> 64 bit on bytes and records
ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- 32 -> 64 bit on bytes and records
ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to dict tab info
ndb/src/common/debugger/signaldata/LqhFrag.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to frag req
ndb/src/kernel/blocks/backup/Backup.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- new section in backup with per fragment info in ctl file
- 32 -> 64 bit on bytes and records
ndb/src/kernel/blocks/backup/Backup.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- new section in backup with per fragment info in ctl file
- 32 -> 64 bit on bytes and records
ndb/src/kernel/blocks/backup/BackupFormat.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- new section in backup with per fragment info in ctl file
- 32 -> 64 bit on bytes and records
ndb/src/kernel/blocks/backup/BackupInit.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- new signal fragment complete to all participants
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added max and min rows to dict table object
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added max and min rows to dict table object
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to frag req
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to frag req
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to frag req
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- added min and max rows to frag req
- move memory allocation to fragment to after adding of attributes to get correct headsize
- allocate pages to fragments according to min rows setting
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- grow page allocation starting from 2 irrespective of first page allocation
ndb/src/mgmsrv/MgmtSrvr.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- 32 -> 64 bits on bytes and records
ndb/src/mgmsrv/MgmtSrvr.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- 32 -> 64 bits on bytes and records
ndb/src/ndbapi/NdbDictionary.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- min and max rows in dict
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- min and max rows in dict
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- min and max rows in dict
ndb/tools/restore/Restore.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- add retrieval of fragment info
ndb/tools/restore/Restore.hpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- add retrieval of fragment info
ndb/tools/restore/consumer_restore.cpp:
Bug #19852 Restoring backup made from cluster with full data memory fails
- set min in restore to the actual row count (this is the actual bug fix)
sql/ha_ndbcluster.cc:
Bug #19852 Restoring backup made from cluster with full data memory fails
- set min and max rows according to sql definition
part 1 - make sure return code is propagated from request tracker
ndb/src/kernel/vm/RequestTracker.hpp:
propagate return value
ndb/src/kernel/vm/SafeCounter.hpp:
make sure object is not initialized in case of seize() failure, to make sure destructor doesnt assert
into clam.ndb.mysql.com:/space/pekka/ndb/version/my50-bug18781
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/ndbapi/ndberror.c:
Auto merged
also close scan which are in "delivered" state, as it's impossible to release locks afterwards
backport from 5.1
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
ndb - bug#20197
also close scan which are in "delivered" state, as it's impossible to release locks afterwards
into mysql.com:/home/stewart/Documents/MySQL/5.0/bugsmerge
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
Avoid error message trying 'windoze-dsp' in obsolete directory
compile-dist:
Avoid error message for target 'distclean' and no Makefile
BUILD/compile-dist:
Avoid error message for target 'distclean' and no Makefile
ndb/Makefile.am:
Avoid error message trying 'windoze-dsp' in obsolete directory
into mysql.com:/home/stewart/Documents/MySQL/5.0/main
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/ndbapi/ndberror.c:
distinguish blob method errors: 4265-wrong state 4275-wrong op type/lockmode
ndb/src/ndbapi/NdbBlobImpl.hpp:
distinguish blob method errors: 4265-wrong state 4275-wrong op type/lockmode
fix 4269 -> 4270
ndb/test/ndbapi/testBlobs.cpp:
test lock upgrade, test 4275 errors
ndb/include/ndbapi/NdbScanOperation.hpp:
fix comment
ndb/include/ndbapi/NdbBlob.hpp:
upgrade LM_CommittedRead to LM_Read
check if write allowed (new error 4275)
dont invalidate blob state on error (just general principle)
ndb/src/ndbapi/NdbBlob.cpp:
upgrade LM_CommittedRead to LM_Read
check if write allowed (new error 4275)
dont invalidate blob state on error (just general principle)
into mysql.com:/home/marty/MySQL/mysql-5.0
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
ndb/src/kernel/blocks/dbdict/DictLock.txt:
NR signals
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
call removeStaleDictLocks at right place, comment why it works
more checks, better logging
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
call removeStaleDictLocks at right place, comment why it works
more checks, better logging
ndb/include/kernel/signaldata/DictLock.hpp:
2 more REFs
ndb/include/ndb_version.h.in:
DICT LOCK appeared in 5.0.23
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
DICT LOCK rolling upgrade from version < 5.0.23
ndb/src/kernel/blocks/ERROR_codes.txt:
more DICT LOCK related testing
ndb/test/ndbapi/testDict.cpp:
more DICT LOCK related testing
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
VC++Files/client/mysql.dsp:
Auto merged
mysql-test/t/func_time.test:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
client/mysqldump.c:
Manual merge
mysql-test/r/func_time.result:
Manual merge
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Bug #20336 CLUSTERLOG commands have no effect
- with signal sender the clock issuing the command and the revceiver of the events are not the same
ndb/src/mgmsrv/MgmtSrvr.cpp:
Bug #20336 CLUSTERLOG commands have no effect
- make sure to actually send the update to ndb nodes, and wait for the reply
ndb/src/mgmsrv/Services.cpp:
Bug #20336 CLUSTERLOG commands have no effect
- make sure to compute max every time for log level
ndb/src/kernel/main.cpp:
signal log from start (#if 0-ed)
ndb/test/ndbapi/testDict.cpp:
test NF/NR + dict ops
ndb/src/kernel/vm/DLFifoList.hpp:
add hasPrev
ndb/src/kernel/vm/pc.hpp:
ERROR_INSERTED_CLEAR(x) test and clear if set
ndb/src/common/debugger/SignalLoggerManager.cpp:
block no fix
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
spelling
ndb/include/kernel/GlobalSignalNumbers.h:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/AlterTable.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/CreateTable.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/DictLock.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/include/kernel/signaldata/DropTable.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/common/debugger/signaldata/SignalNames.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/ERROR_codes.txt:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
locking of master DICT against schema ops, used by slave DIH under NR
ndb/src/ndbapi/ndberror.c:
locking of master DICT against schema ops, used by slave DIH under NR
into mysql.com:/home/stewart/Documents/MySQL/5.0/merge-queue
ndb/include/mgmapi/mgmapi.h:
Auto merged
ndb/src/mgmapi/mgmapi.cpp:
Auto merged
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
ndb/src/mgmsrv/Services.hpp:
Auto merged
ndb/src/mgmsrv/MgmtSrvr.cpp:
hand merge bug fix by tomas with my fix for stop/shutdown behaviour
Fixes based on review by Tomas
ndb/src/mgmapi/mgmapi.cpp:
Return immediately if ndb_mgm_get_version fails.
correctly use new protocol for versions > 5.1
ndb/src/mgmsrv/Services.cpp:
Only have 1 version of 'stop all' with reply being dependent on if the optional
stop parameter is supplied.
ndb/src/mgmsrv/Services.hpp:
Only 1 version of stopAll
the "If I had a hammer" patch.
Had to answer the question, did it in code.
Much more accurrate results for 5.1
ndb/tools/ndb_size.pl:
Add experimental 5.1-dd support to ndb_size.pl
Improve calculations with 5.1 and variable sized attributes.
Now much more closely resembles reality.
ndb/tools/ndb_size.tmpl:
Comment on 5.1-dd exp support.
Display:
- nr varsized attributes
- actual row overhead depending on version
- overhead for varsized attributes
into mysql.com:/home/marty/MySQL/mysql-5.0
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.h:
Merge
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/kernel/blocks/ERROR_codes.txt:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
Dont be too aggressive in Dbtc::nodeFailCheckTransaction
let it timeout by 1, so that it does not assert that it has waited too long
old impl. set timeotu value to 0, making timeout = (ctcTimer - 0) which could be quite big.
ndb/src/kernel/blocks/ERROR_codes.txt:
error codes
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
2 new error inserts
7030 - delay in GCP_PREPARE until checkLocalNodefailComplete is true
7031 - delay in GCP_PREPARE and die
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Dont set api con timer to 0, as this might trigger asserion in timeoutfound lab if state == PREPARE_TO_COMMIT
ndb/test/ndbapi/testNodeRestart.cpp:
testcase
ndb/test/run-test/daily-basic-tests.txt:
autotest
into mysql.com:/space/pekka/ndb/version/my50-bug14509
ndb/src/ndbapi/DictCache.cpp:
Auto merged
ndb/src/ndbapi/DictCache.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
partial fix for this bug. more info on what the other half of the fix involves
is in the bug report.
ndb/src/mgmclient/CommandInterpreter.cpp:
partial fix for bug13985
hold a mutex around printing out events
hold the mutex also around printing out put of 'status' commands.
this means we don't get
1 started
2 started
2 starting
output.
we'll instead get the event before/after the entire status output.
Due to the nature of the event arriving before status being updated,
we'll pretty much always see started AFTER starting.
Improvements that were discussed with Tomas.
Maintain protocol backwards/forwards compatibilty for client and server and support
the commands from ndb_mgm 'as expected'
ndb/include/mgmapi/mgmapi.h:
Add ndb_mgm_stop3 mgmapi function.
- This supports stopping all DB nodes, or all DB and MGM nodes.
- It also returns to mgmapi program if it needs to disconnect to apply changes.
Add ndb_mgm_restart3 mgmapi function.
- Tells mgmapi program if it needs to disconnect to apply changes
Add (internal) ndb_mgm_get_version
- designed to be used to find out what protocol version we need to speak to the server.
ndb/src/mgmapi/mgmapi.cpp:
Add cache of mgmd version to ndb_mgm_handle. Only filled out in functions that
need to know the version of the mgmd we're talking to.
Initialize these members in create handle.
added ndb_mgm_get_version which asks the mgm server what version it is. This call
has been supported since the dawn of time, no compatibility issues here.
Add implementation of ndb_mgm_stop3
Check what version of the protocol the server speaks, and speak it.
Add compatibility for ndb_mgm_stop2
Same for ndb_mgm_restart3.
ndb/src/mgmclient/CommandInterpreter.cpp:
Simplify stop and restart code.
Use the new ndb_mgm_(stop|restart)3 calls to find out if we need to disconnect.
ndb/src/mgmsrv/MgmtSrvr.cpp:
Add nice call for shutting down MGM servers (like shutdownDB)
ndb/src/mgmsrv/MgmtSrvr.hpp:
add prototype for shutdownMGM
ndb/src/mgmsrv/Services.cpp:
Add restart node v2, stop v2, stop all v2 while maintaining protocol backwards
compatibility.
Unfortunately we can't add result lines due to protocol errors in clients :(
Neither can we add extra things to the 'result: Ok' line due to the use of
strcmp instead of strncmp.
ndb/src/mgmsrv/Services.hpp:
Add prototypes for restart, stop and stopall v1 and v2
correctly detect and report errors in talking to mgm server and memory allocation
ndb/src/mgmapi/mgmapi.cpp:
correctly detect and return errors in ndb_mgm_get_status
into mysql.com:/home/marty/MySQL/mysql-5.0
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
merge
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
merge
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
merge
mysql-test/r/ndb_blob.result:
bug#19956 : var* pk
mysql-test/t/ndb_blob.test:
bug#19956 : var* pk
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
bug#19956 - check var* length bytes and zero rest of value if any blob attribute
ndb/src/ndbapi/NdbOperationSearch.cpp:
bug#19956 - check var* length bytes and zero rest of value if any blob attribute
Add mutex surronding sessions, as ndb_mgmd now actively tries to go and "purge stale sessions"
ndb/include/util/SocketServer.hpp:
Add mutex surronding sessions, as ndb_mgmd now actively tries to go and "purge stale sessions"
ndb/src/common/util/SocketServer.cpp:
Add mutex surronding sessions, as ndb_mgmd now actively tries to go and "purge stale sessions"
ndb/src/mgmsrv/Services.cpp:
Add mutex surronding sessions, as ndb_mgmd now actively tries to go and "purge stale sessions"
A further reduction in CPU usage by ndb_mgmd with failed data nodes.
ndb/src/common/util/socket_io.cpp:
Use a nonblocking socket to peek at the buffer to know how much to read for socket_readln.
This saves us a lot of syscalls. By a lot, I've observed about halving the CPU
usage of ndb_mgmd with 1 failed node on a 6 node cluster.
ndb/include/ndbapi/Ndb.hpp:
make auto-incr methods return int 0/-1
ndb/src/ndbapi/Ndb.cpp:
make auto-incr methods return int 0/-1
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
make auto-incr methods return int 0/-1
ndb/test/ndbapi/testDict.cpp:
make auto-incr methods return int 0/-1
ndb/tools/restore/consumer_restore.cpp:
make auto-incr methods return int 0/-1
sql/ha_ndbcluster.cc:
make auto-incr methods return int 0/-1
ndb: ndb_waiter disconnect/reconnect on get status error
ndb/src/mgmapi/mgmapi.cpp:
ndb: added some missing error codes to mgmapi
ndb/tools/waiter.cpp:
ndb: ndb_waiter disconnect/reconnect on get status error
into mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
mysql-test/t/rpl_temporary.test:
Auto merged
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
Auto merged
ndb/test/ndbapi/Makefile.am:
Auto merged
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
ndb/src/ndbapi/SignalSender.cpp:
Auto merged
support-files/mysql.spec.sh:
Auto merged
- not having lock can cause "block number list" to become corrupt => crash
- also may result in 2 threads receiving same block no => possble cause of
Bug #13987 Cluster: Loss of data nodes can cause high CPU usage from ndb_mgmd
ndb/src/mgmsrv/MgmtSrvr.cpp:
ndb: added missing lock of mutex
ndb/test/ndbapi/Makefile.am:
enable testInterpreter
ndb/test/ndbapi/testInterpreter.cpp:
add test case Bug19537
the bug fix also fixed IncValue64 for whatever reason..
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
bug#19537: write_attr: perform arithmetic conversion Uint64 to Uint32
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
ndb/src/ndbapi/DictCache.cpp:
Auto merged
ndb/src/ndbapi/DictCache.hpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.hpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
ndb/include/ndbapi/ndb_cluster_connection.hpp:
manual merge
ndb/src/ndbapi/ClusterMgr.cpp:
manual merge
ndb/src/ndbapi/ClusterMgr.hpp:
manual merge
- invalidate ndb dict cache on cluster disconnect (ClusterMgr.cpp)
- add check for correct frm on external lock when table cache is found invalid
ndb/include/ndbapi/ndb_cluster_connection.hpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/ClusterMgr.cpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/ClusterMgr.hpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/DictCache.cpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/DictCache.hpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/TransporterFacade.hpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/ndb_cluster_connection.cpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/ndbapi/ndb_cluster_connection_impl.hpp:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
sql/ha_ndbcluster.cc:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
mysql-test/r/ndb_autodiscover3.result:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
mysql-test/t/ndb_autodiscover3.test:
Bug #16875 Using stale MySQLD FRM files can cause restored cluster to fail
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
do not pre-create tupleid values (the values were obsolete too).
they are created on first use.
this is easy way to handle rolling upgrade when number of tables is increased
ndb/src/ndbapi/Ndb.cpp:
create SYSTAB_0 row on first use (use writeTuple).
fix check of interpreted program return code
mysql-test/r/ndb_alter_table.result:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
mysql-test/t/ndb_alter_table.test:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
ndb/include/ndbapi/Ndb.hpp:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
ndb/src/ndbapi/DictCache.cpp:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
ndb/src/ndbapi/DictCache.hpp:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
ndb/src/ndbapi/Ndb.cpp:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
ndb/src/ndbapi/Ndbinit.cpp:
bug#14509, part 1
move cached autoincr range from Ndb object to local dict cache (Ndb_local_table_info)
remove private methods get/read/setTupleId by table name or table id
mysql-test/r/ndb_condition_pushdown.result:
bug#17421, changes NDB API pushdown LIKE arg to plain char
mysql-test/t/ndb_condition_pushdown.test:
bug#17421, changes NDB API pushdown LIKE arg to plain char
ndb/include/ndbapi/NdbOperation.hpp:
bug#17421, changes NDB API pushdown LIKE arg to plain char
ndb/include/util/NdbSqlUtil.hpp:
bug#17421, changes NDB API pushdown LIKE arg to plain char
ndb/src/common/util/NdbSqlUtil.cpp:
bug#17421, changes NDB API pushdown LIKE arg to plain char
into mysql.com:/space/pekka/ndb/version/my50
mysql-test/r/ndb_blob.result:
Auto merged
mysql-test/t/ndb_blob.test:
Auto merged
ndb/include/kernel/signaldata/TcKeyReq.hpp:
Auto merged
ndb/include/ndbapi/NdbBlob.hpp:
Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
ndb/test/ndbapi/testBlobs.cpp:
Auto merged
sql/sql_table.cc:
Auto merged
ndb/tools/delete_all.cpp:
nuts
- addded more retries to wait for nodefailure to complete
Bug #19039 multi node failure causes node failure handling not to complete
- patch to avoid this scenario when the management server is used to perform the stop
- wait for NF_COMPLETE_REP in management server before returning
ndb: allocate nodeid
- only retry on retryable error
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/include/mgmapi/mgmapi_config_parameters.h:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/kernel/blocks/backup/BackupInit.cpp:
merge
Unleash backup to write more than 32k at a time
Using parameter BackupMaxWriteSize
(greatly affect LCP time in 5.1, set default value to 256k)
ndb/include/mgmapi/mgmapi_config_parameters.h:
Add config fro max write size in backup
ndb/src/kernel/blocks/backup/BackupInit.cpp:
Unleash backup to write more than 32k at a time
ndb/src/mgmsrv/ConfigInfo.cpp:
Add config fro max write size in backup
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/include/util/SocketServer.hpp:
Auto merged
ndb/src/common/transporter/Transporter.cpp:
Auto merged
ndb/src/common/util/SocketServer.cpp:
Auto merged
ndb/src/mgmsrv/Services.cpp:
Auto merged
support-files/mysql.spec.sh:
Auto merged
Fix alignment of sockaddr(_in)
ndb/src/common/transporter/Transporter.cpp:
Fix alignment of sockaddr(_in)
ndb/src/mgmsrv/Services.cpp:
Fix alignment of sockaddr(_in)
ndb_mgmd limited no of api nodes, by restricting no of mgmsessions
(these are used for dynamic port allocation)
ndb/include/util/SocketServer.hpp:
Increase default max session to ~0
ndb/src/common/util/SocketServer.cpp:
Increase default max session to ~0
Handle early abort of scan, so that resources are correctly freed
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Handle early abort
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Handle early abort so that require on running.empty() does not fire
now deal with memory correctly during ConfigInfo construction (due to previous changes)
ndb/src/mgmsrv/ConfigInfo.cpp:
Correctly deal with memory during ConfigInfo construction
2nd part of the patch
fix functions called by ndbd to deal with memory allocation properly.
ndb/src/mgmapi/mgmapi.cpp:
in get_configuration() - get a copy to return instead of just passing one back and loosing some memory
ndb/src/mgmsrv/ConfigInfo.cpp:
clean up after ourselves in constructor
clean up after ConfigValuesFactory
ndb/include/util/ConfigValues.hpp:
We now have a destructor
ndb/src/common/util/ConfigValues.cpp:
Free m_cfg on destruct (if we've set it).
Also getConfigValues() instead of m_cfg
crash of mysqld due to null tOp in
NdbTransaction::getNdbIndexScanOperation(NdbIndexImpl*,NdbTableImpl*)
ndb/src/ndbapi/NdbTransaction.cpp:
tOp could be null, don't fiddle with it if it is.
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/ndbapi/Ndbif.cpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.cpp:
Auto merged
ndb/src/ndbapi/TransporterFacade.hpp:
Auto merged
fix behaviour of ALL STOP and SHUTDOWN in relation to MGM nodes
ndb/src/mgmclient/CommandInterpreter.cpp:
Shutdown management servers properly (one we're connected to last).
Fix potential problems if disconnect from one mgmd and connect to another (that's a different cluster)
ndb/src/mgmsrv/MgmtSrvr.cpp:
fix regression in how nodes are stopped
ALL STOP - db nodes only
SHUTDOWN - db and mgm nodes
fix race where mgmd could stop itself before it sends the response to stop.
In ~MgmApiSession() we now do the disconnect.
We have (in various places) a return stopSelf which tells the caller if they
need to stop or restart this daemon.
ndb/src/mgmsrv/MgmtSrvr.hpp:
add stopSelf return parameter to stopNodes and restartNodes.
Rename stop to shutdownDB as this name better reflects what it does
Rename restart to restartDB as this name better reflects what it does
ndb/src/mgmsrv/Services.cpp:
Stop or restart server only on mgm session disconnect (of session that asked us to)
ndb/src/mgmsrv/Services.hpp:
add m_stopSelf member for tracking what we should do
fix mem leak (not during running of transactions, but a few bytes when shutting down)
ndb/src/ndbapi/NdbLinHash.hpp:
Make sure that getNext(0) actually finds first element
1) make sure that check_multi_node_shutdown does not proceed (in stop case)
2) Fix printout
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
make sure that check_multi_node_shutdown does not proceed (in stop case)
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
make sure that check_multi_node_shutdown does not proceed (in stop case)
ndb/src/kernel/SimBlockList.cpp:
NEW_BLOCK allocates the elements with new, we should free them with delete
but only if we're not building with VM_TRACE
add two new start options that will decrease likelyhood of bug#18612
push cntr-sp2 logic down into qmgr-sp1 to decrease likelyhood of bug#18612
ndb/include/kernel/signaldata/CmRegSignalData.hpp:
Expand CmRegReq with lots of stuff
ndb/include/mgmapi/ndb_logevent.h:
Add Start report during sp1
ndb/src/common/debugger/EventLogger.cpp:
Add Start report during sp1
ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
Init cntrref
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Fix small bugs related to partial initial start
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Remove timeouts as they are handled in QMGR nowadays
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Push cntr sp2 logic down to QMGR to prevent the forming of multiple QMGR cluster
that will lead to start problems (crashes...)
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
Push cntr sp2 logic down to QMGR to prevent the forming of multiple QMGR cluster
that will lead to start problems (crashes...)
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Push cntr sp2 logic down to QMGR to prevent the forming of multiple QMGR cluster
that will lead to start problems (crashes...)
ndb/src/kernel/vm/Configuration.cpp:
Add new flags
--initial-start
--nowait-nodes
into perch.ndb.mysql.com:/home/jonas/src/50-work
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp:
Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
Auto merged
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Auto merged
ndb/test/ndbapi/testNodeRestart.cpp:
Auto merged
ndb/test/run-test/daily-basic-tests.txt:
Auto merged
ndb/test/src/NdbRestarts.cpp:
Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
merge
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
merge
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
merge
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
merge
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
add testprg for SR case aswell
ndb/test/ndbapi/testNodeRestart.cpp:
Test also partitioned start during SR
ndb/test/run-test/daily-basic-tests.txt:
Test also partitioned start during SR
post weeked fixes :-)
change impl. to use READ_NODESREQ to query state of other qmgr(partition)
this as it has no (current) side effects, so that it's possible only to kill
starting cluster (if one started and one starting)
ndb/include/kernel/signaldata/FailRep.hpp:
Add paritioned FAIL_REP
ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
Use READ_NODESREQ to query state of other QMGR (instead of CM_REGREQ)
ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
Use READ_NODESREQ to query state of other QMGR (instead of CM_REGREQ)
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
Use READ_NODESREQ to query state of other QMGR (instead of CM_REGREQ)
ndb/test/ndbapi/testNodeRestart.cpp:
Require that only starting cluster dies