configure.in:
Added variables to support ndbclient library versioning.
Set version to 1.0.0 for 4.1
ndb/src/Makefile.am:
Making use of new variables. Adding support for versioned libraries.
ndb/src/mgmclient/CommandInterpreter.cpp:
Adding the judgement for node type to distinguish the data nodes and non-data nodes.
From the return value. Management client can't distinguish the really not connected status for data nodes and status of non-data nodes.
We can get the connect status about non-data nodes from version, if the version is 0, it means no connected status.
Still leakage, make sure all unlinked operations are put back so they will be release
(on failing blob operations, when AO_IgnoreError)
ndb/src/ndbapi/NdbConnection.cpp:
Still leakage, make sure all unlinked operations are put back so they will be release
bugs.
ndb/include/util/UtilBuffer.hpp:
Fix accessing memory after free(), if called with source and destination
pointer the same (which should not really happen...).
Fixes a problem in ndb_restore.
ndb/src/common/util/SimpleProperties.cpp:
Fix typo in check of maxValue.
Fix some too small buffers in backup
ndb/include/kernel/ndb_limits.h:
backport for 5.1
add MAX_WORDS_META_FILE for computing Backup::NO_OF_PAGES_META_FILE
ndb/src/kernel/blocks/backup/Backup.cpp:
Make sure to set maxInsert so that we actually can handle NO_OF_META_PAGES
ndb/src/kernel/blocks/backup/Backup.hpp:
backport for 5.1
add MAX_WORDS_META_FILE for computing Backup::NO_OF_PAGES_META_FILE
Fixed a 4.1/5.0 vs. 5.1 name change in latest SR bug fix
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Fixed a 4.1/5.0 vs. 5.1 name change in latest SR bug fix
Fix monster SR bug making SR with ordered indexes (or temporary tables) broken
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Fix monster SR bug making SR with ordered indexes (or temporary tables) broken
Make sure postExecute is not run for blobs if AO_IgnoreError
ndb/src/ndbapi/NdbConnection.cpp:
If AO_IgnoreError, error codes arent always set on individual operations, making postExecute impossible
Fix race-condition between COPY_GCIREQ (GCP) and lcpSetActiveStatusEnd
Solution is _not_ to copy sysfileData from COPY_GCIREQ from "self"
ndb/src/kernel/blocks/ERROR_codes.txt:
Add error insert for dealying of copy sysfileData
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
1) Add error insert for delaying of sysfileData
2) Change to that master is _not_ copying sysfileData from COPY_GCIREQ
as it might be updating it while COPY_GCIREQ is "in the fly"
ndb/src/common/util/File.cpp:
Avoid memory leak when EINTR error returns. Even though a close-error happens, a ERROR message in out file
is given, and this shouldn't affect the normally running.
Add checking of REDO to earlier during SR
so take-over of node can be performed
if it can't be restarted using logs
(which btw is really weird...as it _should_ be able to use logs of other node in node group)
Otherwise cluster could be started and 1 fragment on one node could not have been restored
Making the cluster inconsisten, VERY BAD
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
Break-out methods which searches for REDO for a fragment, so it can be used earlier during SR
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Add checking of REDO to earlier during SR
so take-over of node can be performed
if it can't be restarted using logs
(which btw is really weird...as it _should_ be able to use logs of other node in node group)
Make sure checkKeepGci is also run on oldStoredReplicas
to prevent keepgci to move backwards when crash node restarts
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Make sure checkKeepGci is also run on oldStoredReplicas
to prevent keepgci to move backwards when crash node restarts
handle also CS_CONNECTED as "abort" in handleFailedApi to keep from falling on assertion in releaseApiCon
in case of committed dirtyRead
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
handle also CS_CONNECTED as "abort" to keep from falling on assertion in releaseApiCon
in case of committed dirtyRead
Fix occational LCP hang!!!
Make sure only to consider alive nodes in startNextChkpt
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Make sure only to consider alive nodes in startNextChkpt
ndb/tools/restore/consumer.hpp:
added a function to judge whether there is temporary error.
ndb/tools/restore/consumer_restore.cpp:
record when temporary error occured in restore.
ndb/tools/restore/consumer_restore.hpp:
added a member to record temporary error in restore.
ndb/tools/restore/restore_main.cpp:
report temporary error in restore.
and other commands related to ndb. For all of these, the help screen contains
"Ndb.cfg" string. Now i change the "Ndb.cfg" to "my.cnf" because "Ndb.cfg" is obsolete.
ndb/include/util/ndb_opts.h:
Change help info from Ndb.cfg to my.cnf in the header file.
ndb/test/ndbapi/flexScan.cpp:
Change help info from Ndb.cfg to my.cnf.
ndb/tools/ndb_config.cpp:
Change help info from Ndb.cfg to my.cnf
almost useless for any kind of shell script automation.
Now add the return value that indicates the execution whether or not success
for many methods.
ndb/src/mgmclient/CommandInterpreter.cpp:
Many methods add the return value that indicates whether the execution of operatioin succeeds.
This can make ndb_mgm management client set the exit status on errors.
Fix for alter table when node is down...that could cause pain and misery
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Make sure to check table version before retriving from disk
Build gcc.o as a small library, instead of passing .cpp sources to the
linker command (causes problems with parallel make on Solaris).
This fix is for 4.1. In 5.0 and up a different fix is used.
ndb/config/common.mk.am:
Build gcc.o as a small library, instead of passing .cpp sources to the
linker command (causes problems with parallel make on Solaris).
ndb/config/type_ndbapitools.mk.am:
Build gcc.o as a small library, instead of passing .cpp sources to the
linker command (causes problems with parallel make on Solaris).
ndb/src/common/portlib/Makefile.am:
Build gcc.o as a small library, instead of passing .cpp sources to the
linker command (causes problems with parallel make on Solaris).
ndb/src/kernel/Makefile.am:
Build gcc.o as a small library, instead of passing .cpp sources to the
linker command (causes problems with parallel make on Solaris).
Fixed the cluster logfile rotation code, let the cluster logfile be renamed correctly when the main logfile exceeds the configured maximum size.
ndb/include/util/File.hpp:
Fix for BUG#21345, Error in cluster logfile rotation.
ndb/src/common/logger/FileLogHandler.cpp:
Fix for BUG#21345, Error in cluster logfile rotation.
ndb/src/common/util/File.cpp:
Fix for BUG#21345, Error in cluster logfile rotation.
read TransactionDeadlockTimeout (for scans) to cater for insane settings
ndb/src/ndbapi/NdbScanOperation.cpp:
read TransactionDeadlockTimeout to cater for insane settings
bug #18184 SELECT ... FOR UPDATE does not work..: New test case
ha_ndbcluster.h, ha_ndbcluster.cc, NdbConnection.hpp:
Fix for bug #21059 Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
mysql-test/r/ndb_lock.result:
bug #18184 SELECT ... FOR UPDATE does not work..: New test case
mysql-test/t/ndb_lock.test:
bug #18184 SELECT ... FOR UPDATE does not work..: New test case
ndb/include/ndbapi/NdbConnection.hpp:
Fix for bug #21059 Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.cc:
Fix for bug #21059 Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.h:
Fix for bug #21059 Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
Make sure updateNodeInfo is run on master also for temporary tables
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Run update nodeinfo also here to handle
temprorary tables in some situations
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
new error insert
ndb/test/ndbapi/testSystemRestart.cpp:
test case
Make sure totSendlenAi is set in case of ACC_ABORTCONF and activeCreate == true
(only needed when >2 replica)
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Make sure totSendlenAi is set in case of ACC_ABORTCONF and activeCreate == true