handle partially complete LCP better in SR
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
remove partially complete LCP from "node" when doign removeNodeFromTable
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
remove partially complete LCP from "node" when doign removeNodeFromTable
- only update extent pages *after* flush of real page has been done
- sync both create/drop of table into undolog (for disk tables)
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
inform TUP which LCP to restore each fragment to
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
1) inform TUP which LCP to restore each fragment to
2) inform TUP both before/after a page has been written
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
1) inform TUP which LCP to restore each fragment to
2) inform TUP both before/after a page has been written
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
log both create/drop table
storage/ndb/src/kernel/blocks/lgman.cpp:
let TUP know about all LCPs
storage/ndb/src/kernel/blocks/pgman.cpp:
add "when" argument to disk_page_unmap_callback so that TUP gets informed both before and after page writeout
so that extent pages can be updated only *after* page has been written
storage/ndb/src/kernel/blocks/tsman.cpp:
remove lsn from update page free bits
use wal for page vs extent relation
storage/ndb/src/kernel/blocks/tsman.hpp:
remove lsn from update page free bits
use wal for page vs extent relation
storage/ndb/test/include/HugoTransactions.hpp:
threads and timings to hugo* pk ops
storage/ndb/test/include/NDBT_Thread.hpp:
threads and timings to hugo* pk ops
storage/ndb/test/src/HugoTransactions.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/src/Makefile.am:
threads and timings to hugo* pk ops
storage/ndb/test/src/NDBT_Thread.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/tools/hugoPkDelete.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/tools/hugoPkRead.cpp:
threads and timings to hugo* pk ops
storage/ndb/test/tools/hugoPkUpdate.cpp:
threads and timings to hugo* pk ops
make free 64 bit (as it represents free bytes, not free extents as originally designed)
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
make free 64 bit (as it represents free bytes, not free extents as originally designed)
Not very clever fix for DIH incorrect REDO handling
- Dont report GCP_SAVE_CONF until first LCP has been complete during NR
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Not very clever fix for DIH incorrect REDO handling
- Dont report GCP_SAVE_CONF until first LCP has been complete during NR
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
storage/ndb/test/ndbapi/testNodeRestart.cpp:
merge
storage/ndb/test/run-test/daily-basic-tests.txt:
merge
In TC init node status for already started nodes during node restart
(not present in 5.1)
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
on node restart, make sure to init all already started nodes to NF_STARTED
ndb/test/ndbapi/testNodeRestart.cpp:
test prg
ndb/test/run-test/daily-basic-tests.txt:
test prg
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
merge
Fix 3 problems in REDO validation that could(will) lead to "Error while reading REDO log"
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
add new state
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
fix bugs + add debugging
- implement read ahead during disk data scan
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
maximum read ahead
storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
maximum read ahead should not be larger than page buffer size
maximum aslo set to 32 pages
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
read ahead for disk data scan
storage/ndb/src/kernel/blocks/pgman.cpp:
set higher max_io_waits for read ahead
round off upwards in page_buffer size
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
add null callback to be used for read ahead (no callback needed)
storage/ndb/src/kernel/vm/SimulatedBlock.hpp:
add null callback to be used for read ahead (no callback needed)
storage/ndb/src/ndbapi/TransporterFacade.cpp:
remove the debug trace, not needed any more
storage/ndb/test/tools/hugoFill.cpp:
allow setting database in hugoFill
Improve buddy high order allocation
Make removeCommonArea O(1) instead of O(N)
Add limit to left/right search
storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp:
Add info to buddy module test about
1) loops being made in buddy
2) how much was allocated
storage/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp:
1) make removeCommonArea o(1) - as list is (after fix) double linked anyway
2) set page_state = ZFREE_COMMON insertCommonArea and ~ZFREE_COMMON in removeCommonArea
3) add max loops in search left/right
4) add more debug info
into poseidon.mysql.com:/home/tomas/mysql-5.1-telco-gca
mysql-test/ndb/ndb_config_2_node.ini:
Auto merged
storage/ndb/include/mgmapi/mgmapi_config_parameters.h:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
manual merge
- add odirect option for lcp+backup+redo log to lower CPU/kswapd usage
- writing odirect removes need for kernel write buffers avoiding kswapd to kick in
mysql-test/ndb/ndb_config_2_node.ini:
run mysql-test-run using ODirect
storage/ndb/include/mgmapi/mgmapi_config_parameters.h:
add new config parameter to choose ODirect
storage/ndb/include/ndb_global.h.in:
specify alignment needed for odirect
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
read odirect config param
open LCP and Backup datafiles with odirect if specified
insert empty padding record if odirect is used
allocate buffers aligned to be able to use odirect
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
odirect and padding options
storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp:
add empty_record in file format
storage/ndb/src/kernel/blocks/backup/BackupInit.cpp:
read odirect config and allocate aligned
storage/ndb/src/kernel/blocks/backup/FsBuffer.hpp:
correct debug printouts
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
read odirect config param and align buffers
storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
read odirect config param and align buffers
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
read config params and open redo log files with odirect if set
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
aligned writing for odirect
correct odirect open options with test+fallback if odirect fails
storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp:
align + odirect check
storage/ndb/src/kernel/blocks/restore.cpp:
restor block to ignore new lcp padding empty_record
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
alligend log buffer allocation for odirect
storage/ndb/src/kernel/vm/SimulatedBlock.hpp:
alligend log buffer allocation for odirect
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
new config param for odirect, default false
storage/ndb/tools/restore/Restore.cpp:
ndb_restore to skip empty_record alignment padding in backup file
storage/ndb/include/mgmapi/mgmapi_config_parameters.h:
add new configuration parameter TimeBetweenWatchDogCheckInitial
storage/ndb/include/portlib/NdbTick.h:
enable timing code
storage/ndb/src/common/portlib/NdbTick.c:
enable timing code
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
read watchdog timeout to set it after malloc
storage/ndb/src/kernel/vm/Configuration.cpp:
read initial watchdog timeout and set it in the beginning
storage/ndb/src/kernel/vm/Configuration.hpp:
read initial watchdog timeout and set it in the beginning
storage/ndb/src/kernel/vm/SimulatedBlock.cpp:
introduce new state for "action" malloc of memory
storage/ndb/src/kernel/vm/SimulatedBlock.hpp:
introduce new state for "action" malloc of memory
storage/ndb/src/kernel/vm/WatchDog.cpp:
rewrite watchdog to check every 100ms for being stuch, but keep shutdown after 3 * interval
for "action" == 9 (malloc) keep old behavior and only output every interval
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
add new configuration parameter TimeBetweenWatchDogCheckInitial
storage/ndb/src/kernel/blocks/pgman.cpp:
a) in one case pl_queue.remove(ptr) was not followed
by state &= ~ Page_entry::ONQUEUE.
b) when collecting initial hot entries have to remove
from queue if somehow got there.
b) is easy to get with large buffer cache (256M).
a) or b) is probably cause of bug#20612.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca
storage/ndb/src/common/transporter/Packer.cpp:
Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.hpp:
Auto merged
storage/ndb/test/ndbapi/testNdbApi.cpp:
Auto merged
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
manual merge
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
manual merge
storage/ndb/test/run-test/daily-basic-tests.txt:
manual merge
into perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
Auto merged
storage/ndb/test/run-test/daily-basic-tests.txt:
Auto merged