Below is the list of changes that have just been committed into a local
5.0 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.2414 07/02/14 15:26:06 tomas@stripped +4 -0
backport some mysql-test ndbcluster things from 5.1
remove compiler warning EventLogger.cpp
Bug#26176 NdbObjectIdMap::expand unable to expand!! mysqld got signal 11
- partial fix
- object map to handle failed realloc
ndb/src/ndbapi/ObjectMap.hpp
1.10 07/02/14 15:25:52 tomas@stripped +7 -6
Bug#26176 NdbObjectIdMap::expand unable to expand!! mysqld got signal 11
- partial fix
- object map to handle failed realloc
ndb/src/common/debugger/EventLogger.cpp
1.32 07/02/14 15:25:51 tomas@stripped +2 -2
remove compiler warning
mysql-test/ndb/ndbcluster.sh
1.48 07/02/14 15:25:51 tomas@stripped +65 -32
backport some mysql-test ndbcluster things from 5.1
mysql-test/ndb/ndb_config_2_node.ini
1.16 07/02/14 15:25:51 tomas@stripped +10 -0
backport some mysql-test ndbcluster things from 5.1
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: tomas
# Host: poseidon.mysql.com
# Root: /home/tomas/mysql-5.0-ndb
--- 1.31/ndb/src/common/debugger/EventLogger.cpp 2007-02-09 20:31:46 +07:00
+++ 1.32/ndb/src/common/debugger/EventLogger.cpp 2007-02-14 15:25:51 +07:00
@@ -530,8 +530,8 @@ void getTextUndoLogBlocked(QQQQ) {
}
void getTextTransporterError(QQQQ) {
struct myTransporterError{
- int errorNum;
- char errorString[256];
+ Uint32 errorNum;
+ char errorString[256];
};
int i = 0;
int lenth = 0;
--- 1.9/ndb/src/ndbapi/ObjectMap.hpp 2006-12-24 02:04:18 +07:00
+++ 1.10/ndb/src/ndbapi/ObjectMap.hpp 2007-02-14 15:25:52 +07:00
@@ -46,7 +46,7 @@ private:
} * m_map;
NdbMutex * m_mutex;
- void expand(Uint32 newSize);
+ int expand(Uint32 newSize);
};
inline
@@ -73,9 +73,8 @@ NdbObjectIdMap::map(void * object){
// lock();
- if(m_firstFree == InvalidId){
- expand(m_expandSize);
- }
+ if(m_firstFree == InvalidId && expand(m_expandSize))
+ return InvalidId;
Uint32 ff = m_firstFree;
m_firstFree = m_map[ff].m_next;
@@ -130,7 +129,7 @@ NdbObjectIdMap::getObject(Uint32 id){
return 0;
}
-inline void
+inline int
NdbObjectIdMap::expand(Uint32 incSize){
NdbMutex_Lock(m_mutex);
Uint32 newSize = m_size + incSize;
@@ -149,9 +148,11 @@ NdbObjectIdMap::expand(Uint32 incSize){
}
else
{
- ndbout_c("NdbObjectIdMap::expand unable to expand!!");
+ NdbMutex_Unlock(m_mutex);
+ return -1;
}
NdbMutex_Unlock(m_mutex);
+ return 0;
}
#endif
--- 1.47/mysql-test/ndb/ndbcluster.sh 2006-12-31 00:25:24 +07:00
+++ 1.48/mysql-test/ndb/ndbcluster.sh 2007-02-14 15:25:51 +07:00
@@ -63,12 +63,17 @@ stop_ndb=
initial_ndb=
status_ndb=
ndb_diskless=0
+ndbd_nodes=2
+relative_config_data_dir=
+opt_core=
ndb_no_ord=512
+ndb_no_attr=2048
ndb_con_op=105000
ndb_dmem=80M
ndb_imem=24M
+VERBOSE=100
NDB_MGM_EXTRA_OPTS=
NDB_MGMD_EXTRA_OPTS=
NDBD_EXTRA_OPTS=
@@ -89,6 +94,9 @@ while test $# -gt 0; do
--debug*)
flags_ndb="$flags_ndb $1"
;;
+ --ndbd-nodes=*)
+ ndbd_nodes=`echo "$1" | sed -e "s;--ndbd-nodes=;;"`
+ ;;
--status)
status_ndb=1
;;
@@ -104,6 +112,9 @@ while test $# -gt 0; do
--data-dir=*)
fsdir=`echo "$1" | sed -e "s;--data-dir=;;"`
;;
+ --relative-config-data-dir)
+ relative_config_data_dir=1
+ ;;
--port=*)
port=`echo "$1" | sed -e "s;--port=;;"`
;;
@@ -122,6 +133,12 @@ while test $# -gt 0; do
--character-sets-dir=*)
CHARSETSDIR=`echo "$1" | sed -e "s;--character-sets-dir=;;"`
;;
+ --core)
+ opt_core="--core"
+ ;;
+ --verbose=*)
+ VERBOSE=`echo "$1" | sed -e "s;--verbose=;;"`
+ ;;
-- ) shift; break ;;
--* ) $ECHO "Unrecognized option: $1"; exit 1 ;;
* ) break ;;
@@ -130,9 +147,10 @@ while test $# -gt 0; do
done
fs_ndb="$fsdir/ndbcluster-$port"
+config_ini=ndb/ndb_config_${ndbd_nodes}_node.ini
NDB_HOME=
-if [ ! -x "$fsdir" ]; then
+if [ ! -d "$fsdir" ]; then
echo "$fsdir missing"
exit 1
fi
@@ -148,11 +166,15 @@ if [ ! -x "$exec_waiter" ]; then
echo "$exec_waiter missing"
exit 1
fi
+if [ ! -f "$config_ini" ]; then
+ echo "$config_ini missing, unsupported number of nodes"
+ exit 1
+fi
-exec_mgmtclient="$exec_mgmtclient --no-defaults $NDB_MGM_EXTRA_OPTS"
-exec_mgmtsrvr="$exec_mgmtsrvr --no-defaults $NDB_MGMD_EXTRA_OPTS"
-exec_ndb="$exec_ndb --no-defaults $NDBD_EXTRA_OPTS --character-sets-dir=$CHARSETSDIR"
-exec_waiter="$exec_waiter --no-defaults"
+exec_mgmtclient="$exec_mgmtclient --no-defaults $opt_core $NDB_MGM_EXTRA_OPTS"
+exec_mgmtsrvr="$exec_mgmtsrvr --no-defaults $opt_core $NDB_MGMD_EXTRA_OPTS"
+exec_ndb="$exec_ndb --no-defaults $opt_core $NDBD_EXTRA_OPTS
--character-sets-dir=$CHARSETSDIR"
+exec_waiter="$exec_waiter --no-defaults $opt_core"
ndb_host="localhost"
ndb_mgmd_port=$port
@@ -196,18 +218,24 @@ fi
# Start management server as deamon
# Edit file system path and ports in config file
+if [ $relative_config_data_dir ] ; then
+ config_fs_ndb="."
+else
+ config_fs_ndb=$fs_ndb
+fi
if [ $initial_ndb ] ; then
- rm -f $fs_ndb/ndb_* 2>&1 | cat > /dev/null
+ rm -rf $fs_ndb/ndb_* 2>&1 | cat > /dev/null
sed \
+ -e s,"CHOOSE_MaxNoOfAttributes","$ndb_no_attr",g \
-e s,"CHOOSE_MaxNoOfOrderedIndexes","$ndb_no_ord",g \
-e s,"CHOOSE_MaxNoOfConcurrentOperations","$ndb_con_op",g \
-e s,"CHOOSE_DataMemory","$ndb_dmem",g \
-e s,"CHOOSE_IndexMemory","$ndb_imem",g \
-e s,"CHOOSE_Diskless","$ndb_diskless",g \
-e s,"CHOOSE_HOSTNAME_".*,"$ndb_host",g \
- -e s,"CHOOSE_FILESYSTEM","$fs_ndb",g \
+ -e s,"CHOOSE_FILESYSTEM","$config_fs_ndb",g \
-e s,"CHOOSE_PORT_MGM","$ndb_mgmd_port",g \
- < ndb/ndb_config_2_node.ini \
+ < "$config_ini" \
> "$fs_ndb/config.ini"
fi
@@ -218,7 +246,7 @@ if ( cd "$fs_ndb" ; $exec_mgmtsrvr -f co
echo "Unable to start $exec_mgmtsrvr from `pwd`"
exit 1
fi
-if sleep_until_file_created $fs_ndb/ndb_3.pid 120
+if sleep_until_file_created $fs_ndb/ndb_`expr $ndbd_nodes + 1`.pid 120
then :; else
exit 1
fi
@@ -226,38 +254,43 @@ cat `find "$fs_ndb" -name 'ndb_*.pid'` >
# Start database node
-echo "Starting ndbd"
-( cd "$fs_ndb" ; $exec_ndb $flags_ndb & )
-if sleep_until_file_created $fs_ndb/ndb_1.pid 120
-then :; else
- stop_default_ndbcluster
- exit 1
-fi
-cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
-
-# Start database node
-
-echo "Starting ndbd"
-( cd "$fs_ndb" ; $exec_ndb $flags_ndb & )
-if sleep_until_file_created $fs_ndb/ndb_2.pid 120
-then :; else
- stop_default_ndbcluster
- exit 1
-fi
-cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
+id=1
+while [ $id -le $ndbd_nodes ]
+do
+ if [ `expr $VERBOSE \> 1` = 1 ] ; then
+ echo "Starting ndbd $id($ndbd_nodes)"
+ fi
+ ( cd "$fs_ndb" ; $exec_ndb $flags_ndb & )
+ if sleep_until_file_created $fs_ndb/ndb_${id}.pid 120
+ then :; else
+ stop_default_ndbcluster
+ exit 1
+ fi
+ cat `find "$fs_ndb" -name 'ndb_*.pid'` > "$fs_ndb/$pidfile"
+ id=`expr $id + 1`
+done
# test if Ndb Cluster starts properly
-echo "Waiting for NDB data nodes to start..."
-if ( $exec_waiter ) | grep "NDBT_ProgramExit: 0 - OK" > /dev/null 2>&1; then :;
else
- echo "Ndbcluster startup failed"
+if [ `expr $VERBOSE \> 1` = 1 ] ; then
+ echo "Waiting for NDB data nodes to start..."
+fi
+if ( $exec_waiter ) | grep "NDBT_ProgramExit: 0 - OK" > /dev/null 2>&1 ; then
:; else
+ if [ `expr $VERBOSE \> 0` = 1 ] ; then
+ echo "Ndbcluster startup failed"
+ fi
stop_default_ndbcluster
exit 1
fi
+if [ `expr $VERBOSE \> 1` = 1 ] ; then
+ echo "Ok"
+fi
cat `find "$fs_ndb" -name 'ndb_*.pid'` > $fs_ndb/$pidfile
-status_ndbcluster
+if [ `expr $VERBOSE \> 2` = 1 ] ; then
+ status_ndbcluster
+fi
}
status_ndbcluster() {
--- 1.15/mysql-test/ndb/ndb_config_2_node.ini 2005-02-10 01:29:20 +07:00
+++ 1.16/mysql-test/ndb/ndb_config_2_node.ini 2007-02-14 15:25:51 +07:00
@@ -1,5 +1,6 @@
[ndbd default]
NoOfReplicas= 2
+MaxNoOfConcurrentTransactions= 64
MaxNoOfConcurrentOperations= CHOOSE_MaxNoOfConcurrentOperations
DataMemory= CHOOSE_DataMemory
IndexMemory= CHOOSE_IndexMemory
@@ -7,6 +8,15 @@ Diskless= CHOOSE_Diskless
TimeBetweenWatchDogCheck= 30000
DataDir= CHOOSE_FILESYSTEM
MaxNoOfOrderedIndexes= CHOOSE_MaxNoOfOrderedIndexes
+MaxNoOfAttributes= CHOOSE_MaxNoOfAttributes
+TimeBetweenGlobalCheckpoints= 500
+NoOfFragmentLogFiles= 3
+
+#
+# Increase deadlock-timeout to cater for slow test-machines
+# (possibly running several tests in parallell)
+#
+#TransactionDeadlockDetectionTimeout= 7500
[ndbd]
HostName= CHOOSE_HOSTNAME_1 # hostname is a valid network adress
| Thread |
|---|
| • bk commit into 5.0 tree (tomas:1.2414) BUG#26176 | tomas | 14 Feb |