Using more than 16g can cause record-pool ptr.i values to overflow
Fix by splitting memory into 2 zones, lo(16g)/hi(rest)
When record pools only use zone_lo, and datamemory, buffers etc...can use any
storage/ndb/src/kernel/blocks/lgman.cpp:
adopt to changed interface for Ndbd_mem_manager
storage/ndb/src/kernel/vm/Pool.cpp:
Always use ZONE_LO for record pools
as they use ptr.i == 19 bit page id + 13 bit page index
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
Add zones to Ndbd_mem_manager
ZONE_LO = lower 16g
ZONE_HI = rest
storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
Add zones to Ndbd_mem_manager
ZONE_LO = lower 16g
ZONE_HI = rest
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/common/debugger/SignalLoggerManager.cpp:
Auto merged
storage/ndb/src/common/debugger/signaldata/ScanTab.cpp:
Auto merged
storage/ndb/src/kernel/vm/pc.hpp:
Auto merged
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
make sure to alloc logspace and set bits
if doing delete after previous update wo/ touching DD part
mysql-test/suite/ndb/r/ndb_dd_basic.result:
testcase
mysql-test/suite/ndb/t/ndb_dd_basic.test:
testcase
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-bug34107
mysql-test/suite/ndb/r/ndb_condition_pushdown.result:
Auto merged
mysql-test/suite/ndb/t/ndb_condition_pushdown.test:
Auto merged
storage/ndb/include/ndbapi/ndbapi_limits.h:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
silly stuff
storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
a name was improved in 5.1
storage/ndb/src/ndbapi/ndberror.c:
use local due to huge bogus diff
into perch.ndb.mysql.com:/home/jonas/src/51-ndb
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/vm/DLHashTable.hpp:
Auto merged
storage/ndb/src/kernel/vm/DLHashTable2.hpp:
Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
merge
mysql-test/suite/ndb/r/ndb_dd_basic.result:
bug#34118 hash index trigger disk flag
mysql-test/suite/ndb/t/ndb_dd_basic.test:
bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/vm/NdbdSuperPool.cpp:
rename Ndbd_mem_manager::log2 to ndb_log2
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
rename Ndbd_mem_manager::log2 to ndb_log2
storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
rename Ndbd_mem_manager::log2 to ndb_log2
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
Changed to use information_schema to check auto_increment
Ndb.cpp:
Bug #33534 Bad performance of INSERT's in auto_incremented tables: Saving highest seen value when setting auto_increment fields
ndb_auto_increment.result:
Regenerated result
mysql-test/suite/ndb/r/ndb_auto_increment.result:
Regenerated result
mysql-test/suite/ndb/r/ndb_restore.result:
Changed to use information_schema to check auto_increment
mysql-test/suite/ndb/t/ndb_restore.test:
Changed to use information_schema to check auto_increment
storage/ndb/src/ndbapi/Ndb.cpp:
Bug #33534 Bad performance of INSERT's in auto_incremented tables: Saving highest seen value when setting auto_increment fields
remove LCP-snapshot from MM-tables,
removing possibility of spurious 899 on MM-tables
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
dont run LCP-snapshot on pure MM-tables,
this is implemented by not setting frag.m_lcp_scan_op
which will make TUP_COMMIT do nothing
Add a check if setting an auto_increment field will change it's next value before retrieving tuple_id_range lock. This avoids hitting locks when updating auto_increment values to a lower value than the current maximum. This is useful in loading a table with auto_increment where one loads the highest numbered pk's first and then proceeds backwards to the first. This can then be achieved with the same performance as a normal insert without auto_increment.
ndb_restore.result:
Updated result file
mysql-test/suite/ndb/r/ndb_restore.result:
Updated result file
sql/ha_ndbcluster.cc:
Add a check if setting an auto_increment field will change it's next value before retrieving tuple_id_range lock. This avoids hitting locks when updating auto_increment values to a lower value than the current maximum. This is useful in loading a table with auto_increment where one loads the highest numbered pk's first and then proceeds backwards to the first. This can then be achieved with the same performance as a normal insert without auto_increment.
storage/ndb/include/ndbapi/Ndb.hpp:
Add a check if setting an auto_increment field will change it's next value before retrieving tuple_id_range lock. This avoids hitting locks when updating auto_increment values to a lower value than the current maximum. This is useful in loading a table with auto_increment where one loads the highest numbered pk's first and then proceeds backwards to the first. This can then be achieved with the same performance as a normal insert without auto_increment.
storage/ndb/src/ndbapi/Ndb.cpp:
Add a check if setting an auto_increment field will change it's next value before retrieving tuple_id_range lock. This avoids hitting locks when updating auto_increment values to a lower value than the current maximum. This is useful in loading a table with auto_increment where one loads the highest numbered pk's first and then proceeds backwards to the first. This can then be achieved with the same performance as a normal insert without auto_increment.
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
into mysql.com:/home/marty/MySQL/mysql-5.1-new-ndb
storage/ndb/src/ndbapi/Ndb.cpp:
Using local, will merge manually.
storage/ndb/include/ndbapi/Ndb.hpp:
Changed parameter name to better reflect meaning.
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''
- The errno variable should only be used when the previous socket
write failed, it should be regarded as undefined at other times
OutputStream.cpp:
Only use "errno" after the attempt to write to the socket has failed
storage/ndb/src/common/util/OutputStream.cpp:
Only use "errno" after the attempt to write to the socket has failed
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
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/mysql-5.1-bug28298
storage/ndb/include/kernel/ndb_limits.h:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto 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
When partition pruning resulted in an ordered index scan spanning only
one partition, any descending flag for the scan was wrongly discarded,
turning ORDER BY DESC into ORDER BY ASC, and similar problems.
Fixed by correctly passing descending flag in SCAN_TABREQ signal sent
to data nodes.
mysql-test/suite/ndb/r/ndb_partition_key.result:
Test case.
mysql-test/suite/ndb/r/ndb_partition_range.result:
Test case.
mysql-test/suite/ndb/t/ndb_partition_key.test:
Test case.
mysql-test/suite/ndb/t/ndb_partition_range.test:
Test case.
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
Even if ordered scan not requested (no need to merge-sorts scans of
each partition), we still need to honor the descending flag.
into whalegate.ndb.mysql.com:/home/tomas/cge-5.1
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge
mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/mysqld.cc:
Auto merged
into mysql.com:/home/marty/MySQL/mysql-5.1-new-ndb
storage/ndb/include/kernel/signaldata/TcKeyRef.hpp:
Auto merged
storage/ndb/include/kernel/signaldata/TcRollbackRep.hpp:
Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbTransaction.cpp:
Auto merged
storage/ndb/src/ndbapi/ndberror.c:
Auto merged
sql/ha_ndbcluster.cc:
Merge
storage/ndb/src/ndbapi/NdbOperationExec.cpp:
Merge
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_sys.h:
Auto merged
libmysql/CMakeLists.txt:
Auto merged
libmysql/Makefile.shared:
Auto merged
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/suite/rpl/t/rpl_ssl.test:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.cc:
Auto merged
storage/myisam/ft_boolean_search.c:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisam/sort.c:
Auto merged
mysql-test/t/log_state.test:
Manual merge fix-up
mysql-test/include/mix1.inc:
Manual merge
mysql-test/r/ctype_ucs.result:
Manual merge
mysql-test/r/func_misc.result:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
mysql-test/r/key.result:
Manual merge
mysql-test/r/log_state.result:
Manual merge
mysql-test/suite/binlog/t/binlog_killed.test:
Manual merge
mysql-test/t/ctype_ucs.test:
Manual merge
mysql-test/t/func_misc.test:
Manual merge
mysql-test/t/key.test:
Manual merge
sql/item_strfunc.h:
Manual merge
strings/ctype-simple.c:
Manual merge
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
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
The check that how many auto_increment columns in table are there should be preceded creating the table.
If there are more than one auto_increment columns, the table shouldn't be created.
mysql-test/suite/ndb/r/ndb_autoinc.result:
Adding test case for auto_increment isn't the default primary key columns
mysql-test/suite/ndb/t/ndb_autoinc.test:
Adding test case for auto_increment isn't the default primary key columns
- move api failure handling into own method
- add START_ORD so that hb checking can start really early
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
- make sure qmgr is "fully" informed about connections so that it can handle hb correctly
- dont allow API/mysqld node to reconnect if we have not started yet (sp 8)
storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp:
- move api failure handling into own method
- add START_ORD so that hb checking can start really early
storage/ndb/src/kernel/blocks/qmgr/QmgrInit.cpp:
- move api failure handling into own method
- add START_ORD so that hb checking can start really early
- Init datastructures in constructor
- as CONNECT_REP may occur before start phases
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp:
- Init datastructures in constructor
- as CONNECT_REP may occur before start phases
- start hb handling directly on connect rep (instead of first hb)
Add *correct* check when a LCP is restorable
by looking at maxGciStarted from LCP_FRAG_REP
(for all fragments)
bug observed by running testSystemRestart -n SR_DD_1_LCP T1
(causes "incorrect" behaviour in 51-ndb, and crash when using 2 LCP)
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
ndb - bug#32519
Add *correct* check when a LCP is restorable
by looking at maxGciStarted from LCP_FRAG_REP
(for all fragments)
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''