Re: [Maria-developers] [Commits] Rev 2817: Make MariaDB compile with VS 2010 in file:///Users/hakan/work/monty_program/maria-5.2/
On 24.06.2010, at 13:39, Kristian Nielsen wrote: Hakan Kuecuekyilmaz ha...@askmonty.org writes: === modified file 'sql/CMakeLists.txt' --- a/sql/CMakeLists.txt 2010-06-01 19:52:20 + +++ b/sql/CMakeLists.txt 2010-06-24 10:44:39 + @@ -17,8 +17,7 @@ SET(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR /Zi) SET(CMAKE_C_FLAGS_DEBUG -${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR /Zi) -SET(CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG} /MAP /MAPINFO:EXPORTS) +${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR /Zi) Avoid making spurious whitespace-only changes like this (added space at end of line). Thanks for pointing this out. I did not make it on purpose. Maybe it happened while copying from the Windows machine. [cut] === added file 'win/build-vs10_x64.bat' --- a/win/build-vs10_x64.bat 1970-01-01 00:00:00 + +++ b/win/build-vs10_x64.bat 2010-06-24 10:44:39 + @@ -0,0 +1,18 @@ +...@echo off + +REM Copyright (C) 2010 Monty Program AB +REM +REM This program is free software; you can redistribute it and/or modify +REM it under the terms of the GNU General Public License as published by +REM the Free Software Foundation; version 2 of the License. +REM +REM This program is distributed in the hope that it will be useful, +REM but WITHOUT ANY WARRANTY; without even the implied warranty of +REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +REM GNU General Public License for more details. +REM +REM You should have received a copy of the GNU General Public License +REM along with this program; if not, write to the Free Software +REM Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +cmake -G Visual Studio 10 Win64 + You need to add these new files to EXTRA_DIST in Makefile.am. Good to know, I will add it. === modified file 'win/configure-mariadb.sh' --- a/win/configure-mariadb.sh 2009-10-08 19:04:12 + +++ b/win/configure-mariadb.sh 2010-06-24 10:44:39 + @@ -15,9 +15,7 @@ WITH_FEDERATED_STORAGE_ENGINE \ WITH_MERGE_STORAGE_ENGINE \ WITH_PARTITION_STORAGE_ENGINE \ - WITH_MARIA_STORAGE_ENGINE \ - WITH_PBXT_STORAGE_ENGINE \ - WITH_XTRADB_STORAGE_ENGINE \ + WITH_MARIA_STORAGE_ENGINE \ + WITH_PBXT_STORAGE_ENGINE \ + WITH_XTRADB_STORAGE_ENGINE \ WITH_EMBEDDED_SERVER - - Why? It looks more consistent to me. Maybe also: why are those lines indented? Best, Hakan -- Hakan Küçükyılmaz, QA/Benchmark Engineer, Stuttgart/Germany Monty Program Ab, http://askmonty.org/ Skype: hakank_ Phone: +49 171 1919839 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 35: We do the warm up run with 3 threads. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 35 revision-id: ha...@askmonty.org-20100412135900-1v7jsdxf3ahxvwrd parent: ha...@askmonty.org-20100409191359-w2dpenia3bnmlypr committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Mon 2010-04-12 15:59:00 +0200 message: We do the warm up run with 3 threads. === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-04-09 19:13:59 + +++ b/sysbench/run-sysbench.sh 2010-04-12 13:59:00 + @@ -323,7 +323,7 @@ echo [$(date +%Y-%m-%d %H:%M:%S)] Running ${SYSBENCH_TESTS[$i]} with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt echo '' ${THIS_RESULT_DIR}/results.txt -SYSBENCH_OPTIONS_WARM_UP=${SYSBENCH_OPTIONS} --num-threads=1 --max-time=$WARM_UP_TIME +SYSBENCH_OPTIONS_WARM_UP=${SYSBENCH_OPTIONS} --num-threads=3 --max-time=$WARM_UP_TIME SYSBENCH_OPTIONS_RUN=${SYSBENCH_OPTIONS} --num-threads=$THREADS --max-time=$RUN_TIME # Check whether we want a profiled run. ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 33: Added: in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 33 revision-id: ha...@askmonty.org-20100408002114-36ml405ax1h61x60 parent: ha...@askmonty.org-20100407121715-2k24p66xyfkgpdpn committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Thu 2010-04-08 02:21:14 +0200 message: Added: * IO utilization with iostat * CPU utilization with mpstat * Simple queries/second monitoring per test with mysqladmin --sleep 10 status * Tests can have options now ** select_random_points has option for number of points ** select_random_ragnes has option for number of ranges and delta of ranges. === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-04-07 12:17:15 + +++ b/sysbench/run-sysbench-myisam.sh 2010-04-08 00:21:14 + @@ -106,16 +106,26 @@ # We need at least 1 GB disk space in our $WORK_DIR. SPACE_LIMIT=100 -SYSBENCH_TESTS=delete.lua \ - insert.lua \ - oltp_complex_ro.lua \ - oltp_complex_rw.lua \ - oltp_simple.lua \ - select.lua \ - select_random_points.lua \ - select_random_ranges.lua \ - update_index.lua \ - update_non_index.lua +# Interval in seconds for monitoring system status like disk IO, +# CPU utilization, and such. +MONITOR_INTERVAL=10 + +SYSBENCH_TESTS[0]=delete.lua +SYSBENCH_TESTS[1]=insert.lua +SYSBENCH_TESTS[2]=oltp_complex_ro.lua +SYSBENCH_TESTS[3]=oltp_complex_rw.lua +SYSBENCH_TESTS[4]=oltp_simple.lua +SYSBENCH_TESTS[5]=select.lua + +# Default option is --random-points=10. +SYSBENCH_TESTS[6]=select_random_points.lua + +# Default options are +# --number-of-ranges=10 +# --random-ranges-delta=5. +SYSBENCH_TESTS[7]=select_random_ranges.lua +SYSBENCH_TESTS[8]=update_index.lua +SYSBENCH_TESTS[9]=update_non_index.lua # # Note: myisam-max-rows has to match or exceed oltp-table-size @@ -277,7 +287,7 @@ } # -# Write out configurations used for future refernce. +# Write out configurations used for future reference. # echo $MYSQLD_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/mysqld_options.txt echo $SYSBENCH_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt @@ -285,8 +295,17 @@ echo Warm up time is: $WARM_UP_TIME ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt echo Run time is: $RUN_TIME ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt -for SYSBENCH_TEST in $SYSBENCH_TESTS +# +# Kill possibly left over monitoring processes. +# +killall -9 iostat +killall -9 mpstat +killall -9 mysqladmin + +for (( i = 0 ; i ${#sysbench_tes...@]} ; i++ )) do +# Get rid of any options of given sysbench test. +SYSBENCH_TEST=$(echo ${SYSBENCH_TESTS[$i]} | awk '{ print $1 }') mkdir ${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST} kill_mysqld @@ -299,8 +318,8 @@ exit 1 fi -echo [$(date +%Y-%m-%d %H:%M:%S)] Preparing and loading data for $SYSBENCH_TEST. -SYSBENCH_OPTIONS=${SYSBENCH_OPTIONS} --test=${TEST_DIR}/${SYSBENCH_TEST} +echo [$(date +%Y-%m-%d %H:%M:%S)] Preparing and loading data for ${SYSBENCH_TESTS[$i]}. +SYSBENCH_OPTIONS=${SYSBENCH_OPTIONS} --test=${TEST_DIR}/${SYSBENCH_TESTS[$i]} $SYSBENCH $SYSBENCH_OPTIONS --max-time=$RUN_TIME prepare $MYSQLADMIN $MYSQLADMIN_OPTIONS shutdown @@ -308,14 +327,14 @@ rm -rf ${SYSBENCH_DB_BACKUP} mkdir ${SYSBENCH_DB_BACKUP} -echo [$(date +%Y-%m-%d %H:%M:%S)] Copying $DATA_DIR of $SYSBENCH_TEST for later usage. +echo [$(date +%Y-%m-%d %H:%M:%S)] Copying $DATA_DIR of ${SYSBENCH_TESTS[$i]} for later usage. cp -a ${DATA_DIR}/* ${SYSBENCH_DB_BACKUP}/ for THREADS in $NUM_THREADS do THIS_RESULT_DIR=${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST}/${THREADS} mkdir $THIS_RESULT_DIR -echo [$(date +%Y-%m-%d %H:%M:%S)] Running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt +echo [$(date +%Y-%m-%d %H:%M:%S)] Running ${SYSBENCH_TESTS[$i]} with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt echo '' ${THIS_RESULT_DIR}/results.txt SYSBENCH_OPTIONS_WARM_UP=${SYSBENCH_OPTIONS} --num-threads=3 --max-time=$WARM_UP_TIME @@ -325,7 +344,7 @@ while [ $k -lt $LOOP_COUNT ] do echo '' -echo [$(date +%Y-%m-%d %H:%M:%S)] Killing mysqld and copying back $DATA_DIR for $SYSBENCH_TEST. +echo [$(date +%Y-%m-%d %H:%M:%S)] Killing mysqld and copying back $DATA_DIR for ${SYSBENCH_TESTS[$i]}. kill_mysqld cp -a ${SYSBENCH_DB_BACKUP}/* ${DATA_DIR} @@ -334,7 +353,7 @@ sync echo 3 | $SUDO tee /proc/sys/vm/drop_caches -echo [$(date +%Y-%m-%d %H:%M:%S)] Starting mysqld for running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT
[Maria-developers] Rev 30: Added necessary options for mysql client calls. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 30 revision-id: ha...@askmonty.org-20100331181651-pxx2ep0u5658d6q1 parent: ha...@askmonty.org-20100329105306-6hthpbelo9xop3kw committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-31 20:16:51 +0200 message: Added necessary options for mysql client calls. === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-29 10:53:06 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-31 18:16:51 + @@ -70,6 +70,7 @@ # Variables. # MY_SOCKET=/tmp/mysql.sock +MYSQL_OPTIONS=-uroot --socket=$MY_SOCKET MYSQLADMIN_OPTIONS=--no-defaults -uroot --socket=$MY_SOCKET MYSQLD_OPTIONS=--no-defaults \ --datadir=$DATA_DIR \ @@ -334,10 +335,11 @@ start_mysqld sync +echo echo [$(date +%Y-%m-%d %H:%M:%S)] Starting warm up of $WARM_UP_TIME seconds. $SYSBENCH $SYSBENCH_OPTIONS_WARM_UP run sync -echo 'FLUSH STATUS' | $MYSQL -uroot +echo 'FLUSH STATUS' | $MYSQL $MYSQL_OPTIONS echo [$(date +%Y-%m-%d %H:%M:%S)] Finnished warm up. echo [$(date +%Y-%m-%d %H:%M:%S)] Starting actual sysbench run. @@ -345,7 +347,7 @@ grep write requests: ${THIS_RESULT_DIR}/result${k}.txt | awk '{ print $4 }' | sed -e 's/(//' ${THIS_RESULT_DIR}/results.txt -echo 'SELECT * FROM INFORMATION_SCHEMA.KEY_CACHES' | $MYSQL -uroot ${THIS_RESULT_DIR}/key_cache_stats${k}.txt +echo 'SELECT * FROM INFORMATION_SCHEMA.KEY_CACHES' | $MYSQL $MYSQL_OPTIONS ${THIS_RESULT_DIR}/key_cache_stats${k}.txt k=$(($k + 1)) done === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-03-25 01:42:05 + +++ b/sysbench/run-sysbench.sh 2010-03-31 18:16:51 + @@ -327,6 +327,7 @@ start_mysqld sync +echo echo [$(date +%Y-%m-%d %H:%M:%S)] Starting warm up of $WARM_UP_TIME seconds. $SYSBENCH $SYSBENCH_OPTIONS_WARM_UP run sync ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 31: Merge. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 31 [merge] revision-id: ha...@askmonty.org-20100331181744-71hyuyjjlijrsl68 parent: ha...@askmonty.org-20100331181651-pxx2ep0u5658d6q1 parent: kniel...@hasky-20100329172857-9qy2lqbl892ikh89 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-31 20:17:44 +0200 message: Merge. modified: buildbot/maria-master.cfg mariamaster.cfg-20091218103450-cvifjz3i70oerkej-1 === modified file 'buildbot/maria-master.cfg' --- a/buildbot/maria-master.cfg 2010-02-23 07:48:54 + +++ b/buildbot/maria-master.cfg 2010-03-29 17:28:57 + @@ -114,7 +114,8 @@ lp:~maria-captains/maria/5.2-dsmrr : 5.2-dsmrr, lp:~maria-captains/maria/5.3 : 5.3, lp:~maria-captains/maria/5.3-sj-subqueries : 5.3-sj-subqueries, -lp:~maria-captains/maria/5.3-subqueries : 5.3-subqueries +lp:~maria-captains/maria/5.3-subqueries : 5.3-subqueries, +lp:~maria-captains/maria/maria-5.2-wl85 : maria-5.2-wl85 } mailSource = mail.BzrLaunchpadEmailMaildirSource(/var/lib/buildbot/Maildir, branchMap=myBranchMap) @@ -155,11 +156,11 @@ mariadb-5.1-monty, mariadb-5.2-monty, mariadb-5.1-knielsen,5.1-release, 5.1-merge, maria-5.1-wl24, maria-5.1-vcol,maria-5.1-wl36,mysql-5.1-mwl36, - 5.1.39-oqgraph, 5.2-dsmrr, 5.3, 5.3-sj-subqueries, 5.3-subqueries + 5.1.39-oqgraph, 5.2-dsmrr, 5.3, 5.3-sj-subqueries, 5.3-subqueries, + maria-5.2-wl85 ], treeStableTimer=60, # 1 sec for bzr -builderNames=[centos5-debug, hardy-x86-rtai, hardy-amd64-makedist, - hardy-amd64-dbg, +builderNames=[centos5-debug, hardy-amd64-makedist, # lenny-amd64-dbg, adutko-alpha, debian5-i386-fulltest, jaunty-x86-valgrind, jaunty-amd64-rel, @@ -170,6 +171,19 @@ sol10-amd64-dbg, sol10-sparc32-forte, sol10-sparc64-forte, sol-sparc-32])) +# A scheduler for less powerful hosts, only run on most important branches. +c['schedulers'].append(AnyBranchScheduler( +name=mariadb-light, +branches=[5.1, 5.2, + mariadb-5.1-knielsen, + 5.1-release, 5.1-merge, + 5.2-release, 5.2-merge, + 5.3-release, 5.3-merge, + ], +treeStableTimer=60, # 1 sec for bzr +builderNames=[hardy-x86-rtai, hardy-amd64-dbg, + ])) + c['schedulers'].append(Triggerable( name=tarbuild-sched, builderNames=[win32-tarball, win32-make-noinstall-zip, centos5-amd64-minimal])) @@ -298,7 +312,7 @@ f1.addStep(getMTR( test_type=nm, test_info=Valgrind run, no --ps-protocol, -command=[sh, -c, cd mysql-test exec perl mysql-test-run.pl --mem --parallel=3 --valgrind --force --retry=3 --skip-ndb])) +command=[sh, -c, cd mysql-test exec perl mysql-test-run.pl --mem --parallel=3 --valgrind --valgrind-option=--show-reachable=yes --valgrind-option=--gen-suppressions=all --force --retry=3 --skip-ndb])) bld_valgrind = {'name': hardy-amd64-valgrind, 'slavename': valgrind, @@ -428,7 +442,8 @@ f_rel_1_32 = factory.BuildFactory() f_rel_1_32.addStep(bzr_checkout) -f_rel_1_32.addStep(getCompileStep([BUILD/compile-pentium-max])) +f_rel_1_32.addStep(getCompileStep([BUILD/compile-pentium-max], + env={AM_MAKEFLAGS: -j1, EXTRA_FLAGS: -DFORCE_INIT_OF_VARS})) # --testcase-timeout as this host is really slow at some tests. f_rel_1_32.addStep(getMTR( test_type=nm, @@ -482,6 +497,7 @@ 'slavename': archivist-cnc, 'builddir': archivist-cnc, 'factory': f_rel_1_32, + env: { AM_MAKEFLAGS: -j1 }, category: experimental, } @@ -489,6 +505,7 @@ 'slavename': archivist-amd64, 'builddir': archivist-amd64, 'factory': f_dbg_2_64, + env: { AM_MAKEFLAGS: -j1 }, category: main, } @@ -514,7 +531,7 @@ command=[sh, -c, WithProperties(rm -Rf %(distname)s tar zxf %(distname)s.tar.gz)])) f_minimal.addStep(getCompileStep( [sh, -c, WithProperties(cd %(distname)s ./configure --without-uca --without-query-cache --without-geomery --without-readline --without-libedit --without-embedded-server --without-plugin-example --without-plugin-innobase --without-plugin-federated --without-plugin-pbxt --without-plugin-partition --without-plugin-daemon_example --without-plugin-ftexample --without-plugin-archive --without-plugin-blackhole --without
[Maria-developers] Rev 19: * Added sudo for perro and work.inc in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 19 revision-id: ha...@askmonty.org-20100309140429-75fbhpdrejalq31d parent: ha...@askmonty.org-20100304020337-9xmeeklcn4uccvdt committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2010-03-09 15:04:29 +0100 message: * Added sudo for perro and work.inc * Set random seed of sysbench to have better comparision * Restart mysqld from scratch for each run and copy away DATA_DIR of the database for faster starts. * Between each run, run sync and clear file system caches with echo 3 /proc/sys/vm/drop_caches (http://linux.die.net/man/5/proc) * Write out mysqld and sysbench options for reference. === modified file 'sysbench/analyze-sysbench.php' --- a/sysbench/analyze-sysbench.php 2010-03-04 02:03:37 + +++ b/sysbench/analyze-sysbench.php 2010-03-09 14:04:29 + @@ -2,10 +2,10 @@ /** * Analyze sysbench v0.5 results * - * We take one directories as an argument and produce + * We take one directory as an argument and produce * SQL INSERT statements for further usage. * - * The directory structure is: + * The current directory structure is: * ${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST}/${THREADS} * * For instance: @@ -19,7 +19,7 @@ * 21749.94 * * The current layout of the tables for storing the - * benchmark results of sysbench is: + * benchmark results of a sysbench run is: * CREATE TABLE sysbench_run ( * id int unsigned NOT NULL auto_increment, * host varchar(80), -- Hostname we ran the test on. @@ -62,7 +62,7 @@ */ /** - * Base path to our result files + * Base path to our result files. */ define('BASE_PATH', $_SERVER['HOME'] . '/work/sysbench-results/' . RUN_DATE . '/' . PRODUCT); === modified file 'sysbench/conf/perro.inc' --- a/sysbench/conf/perro.inc 2010-03-04 02:03:03 + +++ b/sysbench/conf/perro.inc 2010-03-09 14:04:29 + @@ -24,6 +24,9 @@ IOSTAT_DEVICE='/dev/sda' SAR='/usr/bin/sar' +# Other binaries. +SUDO=/my/local/bin/sur + # Directories. TEMP_DIR='/mnt/data/sysbench' DATA_DIR=${TEMP_DIR}/data === modified file 'sysbench/conf/work.inc' --- a/sysbench/conf/work.inc2010-03-04 02:03:03 + +++ b/sysbench/conf/work.inc2010-03-09 14:04:29 + @@ -24,6 +24,9 @@ IOSTAT_DEVICE='/dev/sda' SAR='/usr/bin/sar' +# Other binaries. +SUDO=/my/local/bin/sur + # Directories. TEMP_DIR=${HOME}/tmp DATA_DIR=${TEMP_DIR}/data === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-04 02:03:03 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-09 14:04:29 + @@ -91,6 +91,10 @@ update_index.lua \ update_non_index.lua +# +# Note: myisam-max-rows has to match or exceed oltp-table-size +# otherwise we get a table full error while preparing the run. +# SYSBENCH_OPTIONS=--oltp-table-size=$TABLE_SIZE \ --max-time=$RUN_TIME \ --max-requests=0 \ === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-03-04 02:03:03 + +++ b/sysbench/run-sysbench.sh 2010-03-09 14:04:29 + @@ -93,6 +93,9 @@ # How many times we run each test. LOOP_COUNT=3 +# We need at least 1 GB disk space in our $WORK_DIR. +SPACE_LIMIT=100 + SYSBENCH_TESTS=delete.lua \ insert.lua \ oltp_complex_ro.lua \ @@ -107,7 +110,9 @@ --max-requests=0 \ --mysql-table-engine=InnoDB \ --mysql-user=root \ - --mysql-engine-trx=yes + --mysql-engine-trx=yes \ + --rand-init=on \ + --rand-seed=303 # Timeout in seconds for waiting for mysqld to start. TIMEOUT=100 @@ -118,12 +123,25 @@ BASE=${HOME}/work TEST_DIR=${BASE}/monty_program/sysbench/sysbench/tests/db RESULT_DIR=${BASE}/sysbench-results +SYSBENCH_DB_BACKUP=${TEMP_DIR}/sysbench_db # # Files # BUILD_LOG=${WORK_DIR}/${PRODUCT}_build.log +# +# Check system. +# +# We should at least have $SPACE_LIMIT in $WORKDIR. +AVAILABLE=$(df $WORK_DIR | grep -v Filesystem | awk '{ print $4 }') + +if [ $AVAILABLE -lt $SPACE_LIMIT ]; then +echo [ERROR]: We need at least $SPACE_LIMIT space in $WORK_DIR. +echo 'Exiting.' + +exit 1 +fi if [ ! -d $LOCAL_MASTER ]; then echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. @@ -209,40 +227,72 @@ mkdir ${RESULT_DIR}/${TODAY} mkdir ${RESULT_DIR}/${TODAY}/${PRODUCT} -killall -9 mysqld -rm -rf $DATA_DIR -rm -f $MY_SOCKET -mkdir $DATA_DIR - -sql/mysqld $MYSQL_OPTIONS - -j=0 -STARTED=-1 -while [ $j -le $TIMEOUT ] -do -$MYSQLADMIN $MYSQLADMIN_OPTIONS ping /dev/null 21 -if [ $? = 0 ]; then -STARTED=0 +function kill_mysqld { +killall -9 mysqld +rm -rf $DATA_DIR +rm -f $MY_SOCKET +mkdir $DATA_DIR +} + +function start_mysqld { +sql/mysqld $MYSQL_OPTIONS + +j=0 +STARTED=-1 +while [ $j -le $TIMEOUT ] +do +$MYSQLADMIN $MYSQLADMIN_OPTIONS ping /dev/null 21 +if [ $? = 0
[Maria-developers] Rev 21: Merged run-sysbench.sh with run-sysbench-myisam.sh in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 21 revision-id: ha...@askmonty.org-20100309142133-07u5qhnsa74is32n parent: ha...@askmonty.org-20100309140451-ehuc08gs4x851gtn committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2010-03-09 15:21:33 +0100 message: Merged run-sysbench.sh with run-sysbench-myisam.sh === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-09 14:04:29 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-09 14:21:33 + @@ -82,6 +82,9 @@ # How many times we run each test. LOOP_COUNT=3 +# We need at least 1 GB disk space in our $WORK_DIR. +SPACE_LIMIT=100 + SYSBENCH_TESTS=delete.lua \ insert.lua \ oltp_complex_ro.lua \ @@ -101,7 +104,9 @@ --mysql-table-engine=MyISAM \ --mysql-user=root \ --mysql-engine-trx=no \ - --myisam-max-rows=5000 + --myisam-max-rows=5000 \ + --rand-init=on \ + --rand-seed=303 # Timeout in seconds for waiting for mysqld to start. TIMEOUT=100 @@ -112,12 +117,26 @@ BASE=${HOME}/work TEST_DIR=${BASE}/monty_program/sysbench/sysbench/tests/db RESULT_DIR=${BASE}/sysbench-results +SYSBENCH_DB_BACKUP=${TEMP_DIR}/sysbench_db # # Files # BUILD_LOG=${WORK_DIR}/${PRODUCT}_build.log +# +# Check system. +# +# We should at least have $SPACE_LIMIT in $WORKDIR. +AVAILABLE=$(df $WORK_DIR | grep -v Filesystem | awk '{ print $4 }') + +if [ $AVAILABLE -lt $SPACE_LIMIT ]; then +echo [ERROR]: We need at least $SPACE_LIMIT space in $WORK_DIR. +echo 'Exiting.' + +exit 1 +fi + if [ ! -d $LOCAL_MASTER ]; then echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. echo Please provide a valid bzr repository. @@ -202,40 +221,72 @@ mkdir ${RESULT_DIR}/${TODAY} mkdir ${RESULT_DIR}/${TODAY}/${PRODUCT} -killall -9 mysqld -rm -rf $DATA_DIR -rm -f $MY_SOCKET -mkdir $DATA_DIR - -sql/mysqld $MYSQL_OPTIONS - -j=0 -STARTED=-1 -while [ $j -le $TIMEOUT ] -do -$MYSQLADMIN $MYSQLADMIN_OPTIONS ping /dev/null 21 -if [ $? = 0 ]; then -STARTED=0 +function kill_mysqld { +killall -9 mysqld +rm -rf $DATA_DIR +rm -f $MY_SOCKET +mkdir $DATA_DIR +} + +function start_mysqld { +sql/mysqld $MYSQL_OPTIONS + +j=0 +STARTED=-1 +while [ $j -le $TIMEOUT ] +do +$MYSQLADMIN $MYSQLADMIN_OPTIONS ping /dev/null 21 +if [ $? = 0 ]; then +STARTED=0 + +break +fi -break +sleep 1 +j=$(($j + 1)) +done + +if [ $STARTED != 0 ]; then +echo '[ERROR]: Start of mysqld failed.' +echo ' Please check your error log.' +echo ' Exiting.' + +exit 1 fi - -sleep 1 -j=$(($j + 1)) -done - -if [ $STARTED != 0 ]; then -echo '[ERROR]: Start of mysqld failed.' -echo ' Please check your error log.' -echo ' Exiting.' - -exit 1 -fi +} + +# +# Write out configurations used for future refernce. +# +echo $MYSQL_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/mysqld_options.txt +echo $SYSBENCH_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt for SYSBENCH_TEST in $SYSBENCH_TESTS do mkdir ${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST} +kill_mysqld +start_mysqld +$MYSQLADMIN $MYSQLADMIN_OPTIONS create sbtest +if [ $? != 0 ]; then +echo [ERROR]: Create of sbtest database failed +echo Please check your setup. +echo Exiting +exit 1 +fi + +echo [$(date +%Y-%m-%d %H:%M:%S)] Preparing and loading data for $SYSBENCH_TEST. +SYSBENCH_OPTIONS=${SYSBENCH_OPTIONS} --test=${TEST_DIR}/${SYSBENCH_TEST} +$SYSBENCH $SYSBENCH_OPTIONS prepare + +$MYSQLADMIN $MYSQLADMIN_OPTIONS shutdown +sync +rm -rf ${SYSBENCH_DB_BACKUP} +mkdir ${SYSBENCH_DB_BACKUP} + +echo [$(date +%Y-%m-%d %H:%M:%S)] Copying $DATA_DIR of $SYSBENCH_TEST for later usage. +cp -a ${DATA_DIR}/* ${SYSBENCH_DB_BACKUP}/ + for THREADS in $NUM_THREADS do THIS_RESULT_DIR=${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST}/${THREADS} @@ -243,23 +294,24 @@ echo [$(date +%Y-%m-%d %H:%M:%S)] Running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt echo '' ${THIS_RESULT_DIR}/results.txt +SYSBENCH_OPTIONS=$SYSBENCH_OPTIONS --num-threads=$THREADS + k=0 while [ $k -lt $LOOP_COUNT ] do -$MYSQLADMIN $MYSQLADMIN_OPTIONS -f drop sbtest -$MYSQLADMIN $MYSQLADMIN_OPTIONS create sbtest -if [ $? != 0 ]; then -echo [ERROR]: Create of sbtest database failed -echo Please check your setup. -echo Exiting -exit 1 -fi - -SYSBENCH_OPTIONS
[Maria-developers] Rev 23: Use mpstat instead of sar for CPU utilization statistics. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 23 revision-id: ha...@askmonty.org-20100309220559-6u2f1d4hcjcchc1n parent: ha...@askmonty.org-20100309150622-0cpj0wxp3oxsuhep committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2010-03-09 23:05:59 +0100 message: Use mpstat instead of sar for CPU utilization statistics. === modified file 'sysbench/conf/lu0012.inc' --- a/sysbench/conf/lu0012.inc 2010-03-04 02:03:03 + +++ b/sysbench/conf/lu0012.inc 2010-03-09 22:05:59 + @@ -22,7 +22,8 @@ # System statistic binaries. IOSTAT='/usr/bin/iostat' IOSTAT_DEVICE='/dev/sda' -SAR='/usr/bin/sar' +# For CPU utilization statistics +MPSTAT='/usr/bin/mpstat' # Directories. TEMP_DIR='/tmp' === modified file 'sysbench/conf/perro.inc' --- a/sysbench/conf/perro.inc 2010-03-09 14:04:29 + +++ b/sysbench/conf/perro.inc 2010-03-09 22:05:59 + @@ -22,7 +22,8 @@ # System statistic binaries. IOSTAT='/usr/bin/iostat' IOSTAT_DEVICE='/dev/sda' -SAR='/usr/bin/sar' +# For CPU utilization statistics +MPSTAT='/usr/bin/mpstat' # Other binaries. SUDO=/my/local/bin/sur === modified file 'sysbench/conf/work.inc' --- a/sysbench/conf/work.inc2010-03-09 14:04:29 + +++ b/sysbench/conf/work.inc2010-03-09 22:05:59 + @@ -22,7 +22,8 @@ # System statistic binaries. IOSTAT='/usr/bin/iostat' IOSTAT_DEVICE='/dev/sda' -SAR='/usr/bin/sar' +# For CPU utilization statistics +MPSTAT='/usr/bin/mpstat' # Other binaries. SUDO=/my/local/bin/sur ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 24: Merge. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 24 [merge] revision-id: ha...@askmonty.org-20100309220617-3ti82bv9tvlvx5w6 parent: ha...@askmonty.org-20100309220559-6u2f1d4hcjcchc1n parent: ha...@askmonty.org-20100309220348-qpzbd0lavfwxneuy committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2010-03-09 23:06:17 +0100 message: Merge. modified: sysbench/run-sysbench-myisam.sh runsysbenchmyisam.sh-20100303192900-8z3drtmisv1b19uy-1 sysbench/run-sysbench.sh runsysbench.sh-20100219052618-ybly665ohw916cxl-3 === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-09 15:06:22 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-09 22:03:48 + @@ -7,6 +7,16 @@ # killall -9, which can cause severe side effects! # * By bzr pull we mean bzr merge --pull # +# Index sizes for 20 mio rows (--table-size=2000). +# * delete.lua: 313M sbtest.MYI +# * insert.lua: 4.0K sbtest.MYI +# * oltp_complex_ro.lua: 313M sbtest.MYI +# * oltp_complex_rw.lua: 313M sbtest.MYI +# * oltp_simple.lua: 325M sbtest.MYI +# * select.lua: 313M sbtest.MYI +# * update_index.lua: 313M sbtest.MYI +# * update_non_index.lua: 313M sbtest.MYI +# # Hakan Kuecuekyilmaz hakan at askmonty dot org 2010-02-19. # @@ -79,6 +89,9 @@ # The run time we use for sysbench. RUN_TIME=300 +# Warm up time we use for sysbench. +WARM_UP_TIME=180 + # How many times we run each test. LOOP_COUNT=3 @@ -99,7 +112,6 @@ # otherwise we get a table full error while preparing the run. # SYSBENCH_OPTIONS=--oltp-table-size=$TABLE_SIZE \ - --max-time=$RUN_TIME \ --max-requests=0 \ --mysql-table-engine=MyISAM \ --mysql-user=root \ @@ -293,7 +305,8 @@ echo [$(date +%Y-%m-%d %H:%M:%S)] Running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt echo '' ${THIS_RESULT_DIR}/results.txt -SYSBENCH_OPTIONS=$SYSBENCH_OPTIONS --num-threads=$THREADS +SYSBENCH_OPTIONS_WARM_UP=${SYSBENCH_OPTIONS} --num-threads=1 --max-time=$WARM_UP_TIME +SYSBENCH_OPTIONS_RUN=${SYSBENCH_OPTIONS} --num-threads=$THREADS --max-time=$RUN_TIME k=0 while [ $k -lt $LOOP_COUNT ] @@ -312,7 +325,9 @@ start_mysqld sync -$SYSBENCH $SYSBENCH_OPTIONS run ${THIS_RESULT_DIR}/result${k}.txt 21 +$SYSBENCH $SYSBENCH_OPTIONS_WARM_UP run +sync +$SYSBENCH $SYSBENCH_OPTIONS_RUN run ${THIS_RESULT_DIR}/result${k}.txt 21 grep write requests: ${THIS_RESULT_DIR}/result${k}.txt | awk '{ print $4 }' | sed -e 's/(//' ${THIS_RESULT_DIR}/results.txt === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-03-09 15:06:22 + +++ b/sysbench/run-sysbench.sh 2010-03-09 22:03:48 + @@ -90,6 +90,9 @@ # The run time we use for sysbench. RUN_TIME=300 +# Warm up time we use for sysbench. +WARM_UP_TIME=180 + # How many times we run each test. LOOP_COUNT=3 @@ -106,7 +109,6 @@ update_non_index.lua SYSBENCH_OPTIONS=--oltp-table-size=$TABLE_SIZE \ - --max-time=$RUN_TIME \ --max-requests=0 \ --mysql-table-engine=InnoDB \ --mysql-user=root \ @@ -299,7 +301,8 @@ echo [$(date +%Y-%m-%d %H:%M:%S)] Running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt echo '' ${THIS_RESULT_DIR}/results.txt -SYSBENCH_OPTIONS=$SYSBENCH_OPTIONS --num-threads=$THREADS +SYSBENCH_OPTIONS_WARM_UP=${SYSBENCH_OPTIONS} --num-threads=1 --max-time=$WARM_UP_TIME +SYSBENCH_OPTIONS_RUN=${SYSBENCH_OPTIONS} --num-threads=$THREADS --max-time=$RUN_TIME k=0 while [ $k -lt $LOOP_COUNT ] @@ -318,7 +321,9 @@ start_mysqld sync -$SYSBENCH $SYSBENCH_OPTIONS run ${THIS_RESULT_DIR}/result${k}.txt 21 +$SYSBENCH $SYSBENCH_OPTIONS_WARM_UP run +sync +$SYSBENCH $SYSBENCH_OPTIONS_RUN run ${THIS_RESULT_DIR}/result${k}.txt 21 grep write requests: ${THIS_RESULT_DIR}/result${k}.txt | awk '{ print $4 }' | sed -e 's/(//' ${THIS_RESULT_DIR}/results.txt ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 25: Added status information about warm up and actual run. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 25 revision-id: ha...@askmonty.org-20100309233127-vgj4q029apf0un2x parent: ha...@askmonty.org-20100309220617-3ti82bv9tvlvx5w6 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-10 00:31:27 +0100 message: Added status information about warm up and actual run. === modified file 'sysbench/conf/lu0012.inc' --- a/sysbench/conf/lu0012.inc 2010-03-09 22:05:59 + +++ b/sysbench/conf/lu0012.inc 2010-03-09 23:31:27 + @@ -22,7 +22,7 @@ # System statistic binaries. IOSTAT='/usr/bin/iostat' IOSTAT_DEVICE='/dev/sda' -# For CPU utilization statistics +# For CPU utilization statistics. MPSTAT='/usr/bin/mpstat' # Directories. === modified file 'sysbench/conf/perro.inc' --- a/sysbench/conf/perro.inc 2010-03-09 22:05:59 + +++ b/sysbench/conf/perro.inc 2010-03-09 23:31:27 + @@ -22,7 +22,7 @@ # System statistic binaries. IOSTAT='/usr/bin/iostat' IOSTAT_DEVICE='/dev/sda' -# For CPU utilization statistics +# For CPU utilization statistics. MPSTAT='/usr/bin/mpstat' # Other binaries. === modified file 'sysbench/conf/work.inc' --- a/sysbench/conf/work.inc2010-03-09 22:05:59 + +++ b/sysbench/conf/work.inc2010-03-09 23:31:27 + @@ -22,7 +22,7 @@ # System statistic binaries. IOSTAT='/usr/bin/iostat' IOSTAT_DEVICE='/dev/sda' -# For CPU utilization statistics +# For CPU utilization statistics. MPSTAT='/usr/bin/mpstat' # Other binaries. === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-09 22:03:48 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-09 23:31:27 + @@ -271,6 +271,9 @@ # echo $MYSQL_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/mysqld_options.txt echo $SYSBENCH_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt +echo '' ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt +echo Warm up time is: $WARM_UP_TIME ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt +echo Run time is: $RUN_TIME ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt for SYSBENCH_TEST in $SYSBENCH_TESTS do @@ -325,8 +328,12 @@ start_mysqld sync +echo [$(date +%Y-%m-%d %H:%M:%S)] Starting warm up of $WARM_UP_TIME seconds. $SYSBENCH $SYSBENCH_OPTIONS_WARM_UP run sync +echo [$(date +%Y-%m-%d %H:%M:%S)] Finnished warm up. + +echo [$(date +%Y-%m-%d %H:%M:%S)] Starting actual sysbench run. $SYSBENCH $SYSBENCH_OPTIONS_RUN run ${THIS_RESULT_DIR}/result${k}.txt 21 grep write requests: ${THIS_RESULT_DIR}/result${k}.txt | awk '{ print $4 }' | sed -e 's/(//' ${THIS_RESULT_DIR}/results.txt === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-03-09 22:03:48 + +++ b/sysbench/run-sysbench.sh 2010-03-09 23:31:27 + @@ -267,6 +267,9 @@ # echo $MYSQL_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/mysqld_options.txt echo $SYSBENCH_OPTIONS ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt +echo '' ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt +echo Warm up time is: $WARM_UP_TIME ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt +echo Run time is: $RUN_TIME ${RESULT_DIR}/${TODAY}/${PRODUCT}/sysbench_options.txt for SYSBENCH_TEST in $SYSBENCH_TESTS do @@ -321,8 +324,12 @@ start_mysqld sync +echo [$(date +%Y-%m-%d %H:%M:%S)] Starting warm up of $WARM_UP_TIME seconds. $SYSBENCH $SYSBENCH_OPTIONS_WARM_UP run sync +echo [$(date +%Y-%m-%d %H:%M:%S)] Finnished warm up. + +echo [$(date +%Y-%m-%d %H:%M:%S)] Starting actual sysbench run. $SYSBENCH $SYSBENCH_OPTIONS_RUN run ${THIS_RESULT_DIR}/result${k}.txt 21 grep write requests: ${THIS_RESULT_DIR}/result${k}.txt | awk '{ print $4 }' | sed -e 's/(//' ${THIS_RESULT_DIR}/results.txt ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 26: sysbench prepare needs --max-time or --max-requests in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 26 revision-id: ha...@askmonty.org-2010031201-nlm71rud41hxpk38 parent: ha...@askmonty.org-20100309233127-vgj4q029apf0un2x committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-10 01:02:01 +0100 message: sysbench prepare needs --max-time or --max-requests === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-09 23:31:27 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-10 00:02:01 + @@ -291,7 +291,7 @@ echo [$(date +%Y-%m-%d %H:%M:%S)] Preparing and loading data for $SYSBENCH_TEST. SYSBENCH_OPTIONS=${SYSBENCH_OPTIONS} --test=${TEST_DIR}/${SYSBENCH_TEST} -$SYSBENCH $SYSBENCH_OPTIONS prepare +$SYSBENCH $SYSBENCH_OPTIONS --max-time=$RUN_TIME prepare $MYSQLADMIN $MYSQLADMIN_OPTIONS shutdown sync === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-03-09 23:31:27 + +++ b/sysbench/run-sysbench.sh 2010-03-10 00:02:01 + @@ -287,7 +287,7 @@ echo [$(date +%Y-%m-%d %H:%M:%S)] Preparing and loading data for $SYSBENCH_TEST. SYSBENCH_OPTIONS=${SYSBENCH_OPTIONS} --test=${TEST_DIR}/${SYSBENCH_TEST} -$SYSBENCH $SYSBENCH_OPTIONS prepare +$SYSBENCH $SYSBENCH_OPTIONS --max-time=$RUN_TIME prepare $MYSQLADMIN $MYSQLADMIN_OPTIONS shutdown sync ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 27: Increased run time to 15 minutes to get more reliable results. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 27 revision-id: ha...@askmonty.org-20100310010046-hwv56n4wfn4t4odp parent: ha...@askmonty.org-2010031201-nlm71rud41hxpk38 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-10 02:00:46 +0100 message: Increased run time to 15 minutes to get more reliable results. === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-10 00:02:01 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-10 01:00:46 + @@ -87,7 +87,7 @@ TABLE_SIZE=2000 # The run time we use for sysbench. -RUN_TIME=300 +RUN_TIME=900 # Warm up time we use for sysbench. WARM_UP_TIME=180 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 12: Extracted system depended variables into configuration files, which in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 12 revision-id: ha...@askmonty.org-20100303132525-euyw1c8whdv8fkjl parent: ha...@askmonty.org-20100226170755-uucbsqe4n60b50c1 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-03 14:25:25 +0100 message: Extracted system depended variables into configuration files, which are identified by hostname. === added directory 'sysbench/conf' === added file 'sysbench/conf/au0013.inc' --- a/sysbench/conf/au0013.inc 1970-01-01 00:00:00 + +++ b/sysbench/conf/au0013.inc 2010-03-03 13:25:25 + @@ -0,0 +1,28 @@ +# Configuration file for host: au0013 +# +# OS: Mac OS X 10.6.2 +# Platform: x86_64 +# CPU: Dual-core Intel Core 2 Duo @ 2.8GHz +# RAM: 4GB +# Disk(s): 1 x ST9500420ASG S-ATA + +# +# Adjust the following paths according to your installation. +# + +# We need sysbench = v0.5. +SYSBENCH='/usr/local/bin/sysbench' + +# We need bzr = 1.18.1 +BZR='/usr/local/bin/bzr' + +# OProfile binaries. +# There is no OProfile on Mac OS X. +# TODO: Find OProfile equivalent for Mac OS X. +OPCONTROL='' + +# System statistic binaries. +IOSTAT='/usr/sbin/iostat' +IOSTAT_DEVICE='disk0' +# Note: sar works different on Mac OS X. +SAR='/usr/bin/sar' === added file 'sysbench/conf/lu0012.inc' --- a/sysbench/conf/lu0012.inc 1970-01-01 00:00:00 + +++ b/sysbench/conf/lu0012.inc 2010-03-03 13:25:25 + @@ -0,0 +1,25 @@ +# Configuration file for host: lu0012 +# +# OS: Ubuntu 9.10 +# Platform: x86_64 +# CPU: Dual-core Intel Core 2 Duo @ 2.80GHz +# RAM: 4GB +# Disk(s): 1 x HITACHI HTS722016K9SA00 S-ATA + +# +# Adjust the following paths according to your installation. +# + +# We need sysbench = v0.5. +SYSBENCH='/usr/local/bin/sysbench' + +# We need bzr = 1.18.1 +BZR='/usr/bin/bzr' + +# OProfile binaries. +OPCONTROL='/usr/bin/opcontrol' + +# System statistic binaries. +IOSTAT='/usr/bin/iostat' +IOSTAT_DEVICE='/dev/sda' +SAR='/usr/bin/sar' === added file 'sysbench/conf/work.inc' --- a/sysbench/conf/work.inc1970-01-01 00:00:00 + +++ b/sysbench/conf/work.inc2010-03-03 13:25:25 + @@ -0,0 +1,25 @@ +# Configuration file for host: work +# +# OS: openSUSE 11.1 (x86_64) +# Platform: x86_64 +# CPU: Two socket quad-core Intel Xeon @ 3.00GHz +# RAM: 8GB +# Disk(s): 1 x WDC WD2500JS-00NCB1 S-ATA + +# +# Adjust the following paths according to your installation. +# + +# We need sysbench = v0.5. +SYSBENCH='/usr/local/bin/sysbench' + +# We need bzr = 1.18.1 +BZR='/usr/local/bin/bzr' + +# OProfile binaries. +OPCONTROL='/usr/bin/opcontrol' + +# System statistic binaries. +IOSTAT='/usr/bin/iostat' +IOSTAT_DEVICE='/dev/sda' +SAR='/usr/bin/sar' === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-02-26 16:24:13 + +++ b/sysbench/run-sysbench.sh 2010-03-03 13:25:25 + @@ -34,17 +34,24 @@ fi # -# Binaries. +# Read system dependent settings. +# +if [ ! -f conf/${HOSTNAME}.inc ]; then +echo [ERROR]: Could not find config file: conf/${HOSTNAME}.conf. +echo Please create one. + +exit 1 +else +source conf/${HOSTNAME}.inc +fi + +# +# Binaries used after building from source. You do not have to +# change these, except you exactly know what you are doing. # MYSQLADMIN='client/mysqladmin' # -# Adjust the following paths according to your installation. -# -SYSBENCH='/usr/local/bin/sysbench' -BZR='/usr/local/bin/bzr' - -# # Variables. # TEMP_DIR='/tmp' ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 13: Merge. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 13 [merge] revision-id: ha...@askmonty.org-20100303132558-2v3ni7cq5z3me245 parent: ha...@askmonty.org-20100303132525-euyw1c8whdv8fkjl parent: ser...@pisem.net-20100303125349-tpo8hreru2kugu3k committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-03 14:25:58 +0100 message: Merge. added: dgcov.pl dgcov.pl-20100303111408-fyazt0jc6o2obwsh-1 === added file 'dgcov.pl' --- a/dgcov.pl 1970-01-01 00:00:00 + +++ b/dgcov.pl 2010-03-03 12:53:49 + @@ -0,0 +1,648 @@ +#! /usr/bin/perl + +# Copyright (C) 2003,2008 MySQL AB +# Copyright (C) 2010 Sergei Golubchik and Monty Program Ab +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# Run gcov and report test coverage on only those code lines touched by +# a given list of revisions. + +use strict; +use warnings; + +use Getopt::Long; +use File::Find; +use Cwd qw/realpath/; +use File::Basename; + +my $verbose; +my $all_opt; +my $context= 3; +my $help; +my $purge_opt; +my $only_gcov_opt; +my $skip_gcov_opt; +my $local_opt; +my $uncommitted_opt; + +my $result= GetOptions + (context=i = \$context, + all = \$all_opt, + verbose = \$verbose, + help= \$help, + purge = \$purge_opt, + only-gcov = \$only_gcov_opt, + skip-gcov = \$skip_gcov_opt, + local = \$local_opt, + uncommitted = \$uncommitted_opt, + ); + +usage() if $help; + +# +# In verbose mode we output to STDERR as well as to STDOUT. +# Avoid misplaced output due to buffering. +# +if ($verbose) { + select STDERR; $| = 1; # make unbuffered + select STDOUT; $| = 1; # make unbuffered +} + +my $troot= `bzr root`; +chomp $troot; +if (!$troot || !chdir $troot) { +die Failed to find tree root (this tool must be run within\n . +a bzr work tree).\n; +} + +my $res; +my $cmd; +if ($purge_opt or not $skip_gcov_opt) +{ + # One cannot create a file with empty name. But empty argument with -f + # makes 'rm' silent when there is no file to remove. + $cmd= find . .($purge_opt ? -name '*.da' -o -name '*.gcda' -o : ). + -name '*.gcov' -o -name '*.dgcov' | grep -v 'README\.gcov' | . + xargs rm -f ''; + print STDERR Running: $cmd\n if $verbose; + $res= system($cmd); + exit ($res ? ($? 8) : 0) if $res or $purge_opt; + + # gcov is difficult. source files might be in different places: + # 1. in the same directory where the .o file is + # 2. in include/ for headers + # 3. elsewhere, symlinked + # 4. elsewhere, if Makefile specifies a file from a different directory + # + # because of 2/3/4 one source file may have more than one .gcov file, + # and even more than one .gcov file with the same name (like, include/my_sys.h + # will have as many files with the name sql/my_sys.h.gcov as there are + # .o files in the sql directory. these sql/my_sys.h.gcov files are + # _different_ files with the same name, and different content) + # + # that's what we'll do here: delete all .gcov and .dgcov files (already done, + # see above). run gcov once per every .gcda file, grab all generated .gcov + # files and aggregate them with the already existing .dgcov files for the + # corresponding source files. + # + find(\gcov_one_file, .); + + exit 0 if $only_gcov_opt; +} + +my @revisions = @ARGV; +if(@revisions == 0 !$uncommitted_opt) { + $local_opt= 1; +} + +if($local_opt) { + # Add revisions present in this tree only. + my $cmd= bzr missing --this; + print STDERR Running: $cmd\n + if $verbose; + for $_ (`$cmd`) + { +next +unless /^revno: (.*)/; +push @revisions, $1; +print STDERR Added revision $1\n +if $verbose; + } +} +die No revision differences to check.\n +if (@revisions == 0 !$uncommitted_opt); + +my $filemap= {}; +# First find all files and their revisions included in the list of revisions. +for my $cs (@revisions) { + # getting the list of revisions + my $cmd=bzr log --line -r '$cs'; + $cs=$cs..$cs unless $cs =~ /\.\./; + my @revs=(); + print STDERR Running: $cmd\n if $verbose; + print STDERR . if !$verbose and -t STDERR; + + open PIPE, '-|', $cmd + or die Failed to spawn '$cmd': $!: $?\n; + while(PIPE) { +die unexpected output from '$cmd': $_\n unless /^(\d
[Maria-developers] Rev 15: Detabbed. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 15 revision-id: ha...@askmonty.org-20100303194611-t4fs0hb4umjqgmwa parent: ha...@work-20100303192949-4bln75gso2dmncee committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Wed 2010-03-03 20:46:11 +0100 message: Detabbed. === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-03 19:29:49 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-03 19:46:11 + @@ -116,10 +116,10 @@ WORK_DIR='/tmp' if [ ! -d $LOCAL_MASTER ]; then - echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. - echo Please provide a valid bzr repository. - echo Exiting. - exit 1 +echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. +echo Please provide a valid bzr repository. +echo Exiting. +exit 1 fi # @@ -144,10 +144,10 @@ cd $WORK_DIR TEMP_DIR=$(mktemp -d) if [ $? != 0 ]; then - echo [ERROR]: mktemp in $WORK_DIR failed. - echo 'Exiting.' +echo [ERROR]: mktemp in $WORK_DIR failed. +echo 'Exiting.' - exit 1 +exit 1 fi # @@ -157,10 +157,10 @@ echo Exporting from $LOCAL_MASTER to ${TEMP_DIR}/build $BZR export --format=dir ${TEMP_DIR}/build $LOCAL_MASTER if [ $? != 0 ]; then - echo '[ERROR]: bzr export failed.' - echo 'Exiting.' +echo '[ERROR]: bzr export failed.' +echo 'Exiting.' - exit 1 +exit 1 fi # @@ -172,10 +172,10 @@ cd ${TEMP_DIR}/build BUILD/compile-amd64-max $BUILD_LOG 21 if [ $? != 0 ]; then - echo [ERROR]: Build of $PRODUCT failed - echo Please check your log at $BUILD_LOG - echo Exiting. - exit 1 +echo [ERROR]: Build of $PRODUCT failed +echo Please check your log at $BUILD_LOG +echo Exiting. +exit 1 fi echo [$(date +%Y-%m-%d %H:%M:%S)] Finnished compiling $PRODUCT. @@ -209,62 +209,62 @@ j=0 STARTED=-1 while [ $j -le $TIMEOUT ] - do - $MYSQLADMIN $MYSQLADMIN_OPTIONS ping /dev/null 21 - if [ $? = 0 ]; then - STARTED=0 - - break - fi - - sleep 1 - j=$(($j + 1)) +do +$MYSQLADMIN $MYSQLADMIN_OPTIONS ping /dev/null 21 +if [ $? = 0 ]; then +STARTED=0 + +break +fi + +sleep 1 +j=$(($j + 1)) done if [ $STARTED != 0 ]; then - echo '[ERROR]: Start of mysqld failed.' - echo ' Please check your error log.' - echo ' Exiting.' +echo '[ERROR]: Start of mysqld failed.' +echo ' Please check your error log.' +echo ' Exiting.' - exit 1 +exit 1 fi for SYSBENCH_TEST in $SYSBENCH_TESTS - do - mkdir ${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST} - - for THREADS in $NUM_THREADS - do - THIS_RESULT_DIR=${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST}/${THREADS} - mkdir $THIS_RESULT_DIR - echo [$(date +%Y-%m-%d %H:%M:%S)] Running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt - echo '' ${THIS_RESULT_DIR}/results.txt - - k=0 - while [ $k -lt $LOOP_COUNT ] - do - $MYSQLADMIN $MYSQLADMIN_OPTIONS -f drop sbtest - $MYSQLADMIN $MYSQLADMIN_OPTIONS create sbtest - if [ $? != 0 ]; then - echo [ERROR]: Create of sbtest database failed - echo Please check your setup. - echo Exiting - exit 1 - fi - - SYSBENCH_OPTIONS=$SYSBENCH_OPTIONS --num-threads=$THREADS --test=${TEST_DIR}/${SYSBENCH_TEST} - $SYSBENCH $SYSBENCH_OPTIONS prepare - -sync -sleep 3 - - $SYSBENCH $SYSBENCH_OPTIONS run ${THIS_RESULT_DIR}/result${k}.txt 21 - - grep write requests: ${THIS_RESULT_DIR}/result${k}.txt | awk '{ print $4 }' | sed -e 's/(//' ${THIS_RESULT_DIR}/results.txt - - k=$(($k + 1)) - done - done +do +mkdir ${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST} + +for THREADS in $NUM_THREADS +do + THIS_RESULT_DIR=${RESULT_DIR}/${TODAY}/${PRODUCT}/${SYSBENCH_TEST}/${THREADS} +mkdir $THIS_RESULT_DIR +echo [$(date +%Y-%m-%d %H:%M:%S)] Running $SYSBENCH_TEST with $THREADS threads and $LOOP_COUNT iterations for $PRODUCT | tee ${THIS_RESULT_DIR}/results.txt +echo '' ${THIS_RESULT_DIR}/results.txt + +k=0 +while [ $k -lt $LOOP_COUNT ] +do +$MYSQLADMIN $MYSQLADMIN_OPTIONS
[Maria-developers] Rev 17: Extracted WORK_DIR into host specific configuration files. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 17 revision-id: ha...@askmonty.org-20100304020303-fxduugi1y2chs3pq parent: ha...@work-20100303232632-j2v0zlxsegkca56o committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Thu 2010-03-04 03:03:03 +0100 message: Extracted WORK_DIR into host specific configuration files. === modified file 'sysbench/conf/au0013.inc' --- a/sysbench/conf/au0013.inc 2010-03-03 19:29:49 + +++ b/sysbench/conf/au0013.inc 2010-03-04 02:03:03 + @@ -30,3 +30,6 @@ # Directories. TEMP_DIR='/tmp' DATA_DIR=${TEMP_DIR}/data + +# Where to compile the sources. +WORK_DIR='/tmp' \ No newline at end of file === modified file 'sysbench/conf/lu0012.inc' --- a/sysbench/conf/lu0012.inc 2010-03-03 19:29:49 + +++ b/sysbench/conf/lu0012.inc 2010-03-04 02:03:03 + @@ -27,3 +27,6 @@ # Directories. TEMP_DIR='/tmp' DATA_DIR=${TEMP_DIR}/data + +# Where to compile the sources. +WORK_DIR='/tmp' === modified file 'sysbench/conf/perro.inc' --- a/sysbench/conf/perro.inc 2010-03-03 19:29:49 + +++ b/sysbench/conf/perro.inc 2010-03-04 02:03:03 + @@ -1,10 +1,10 @@ -# Configuration file for host: work +# Configuration file for host: perro # # OS: openSUSE 11.1 (x86_64) # Platform: x86_64 -# CPU: Two socket quad-core Intel Xeon @ 3.00GHz -# RAM: 8GB -# Disk(s): 1 x WDC WD2500JS-00NCB1 S-ATA +# CPU: Quad-core Intel @ 3.20GHz +# RAM: 2GB +# Disk(s): 2 x ST31000528AS S-ATA as software RAID 0 # # Adjust the following paths according to your installation. @@ -27,3 +27,6 @@ # Directories. TEMP_DIR='/mnt/data/sysbench' DATA_DIR=${TEMP_DIR}/data + +# Where to compile the sources. +WORK_DIR='/tmp' === modified file 'sysbench/conf/work.inc' --- a/sysbench/conf/work.inc2010-03-03 19:29:49 + +++ b/sysbench/conf/work.inc2010-03-04 02:03:03 + @@ -27,3 +27,6 @@ # Directories. TEMP_DIR=${HOME}/tmp DATA_DIR=${TEMP_DIR}/data + +# Where to compile the sources. +WORK_DIR='/tmp' === modified file 'sysbench/run-sysbench-myisam.sh' --- a/sysbench/run-sysbench-myisam.sh 2010-03-03 23:26:32 + +++ b/sysbench/run-sysbench-myisam.sh 2010-03-04 02:03:03 + @@ -103,17 +103,16 @@ TIMEOUT=100 # -# Files -# -BUILD_LOG=/tmp/${PRODUCT}_build.log - -# # Directories. # BASE=${HOME}/work TEST_DIR=${BASE}/monty_program/sysbench/sysbench/tests/db RESULT_DIR=${BASE}/sysbench-results -WORK_DIR='/tmp' + +# +# Files +# +BUILD_LOG=${WORK_DIR}/${PRODUCT}_build.log if [ ! -d $LOCAL_MASTER ]; then echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-03-03 23:26:32 + +++ b/sysbench/run-sysbench.sh 2010-03-04 02:03:03 + @@ -113,17 +113,17 @@ TIMEOUT=100 # -# Files -# -BUILD_LOG=/tmp/${PRODUCT}_build.log - -# # Directories. # BASE=${HOME}/work TEST_DIR=${BASE}/monty_program/sysbench/sysbench/tests/db RESULT_DIR=${BASE}/sysbench-results -WORK_DIR='/tmp' + +# +# Files +# +BUILD_LOG=${WORK_DIR}/${PRODUCT}_build.log + if [ ! -d $LOCAL_MASTER ]; then echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 10: Do one thing, and do that one thing proper. - The Unix Way. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 10 revision-id: ha...@askmonty.org-20100226162413-118168qx5c9c02ml parent: ha...@askmonty.org-20100219052704-8nnlzsbu0nslnxba committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Fri 2010-02-26 16:24:13 + message: Do one thing, and do that one thing proper. - The Unix Way. We are running the benchmark for one source repository now. Also we run each test three times, so that peaks and glitches are balanced out. === modified file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 2010-02-19 05:27:04 + +++ b/sysbench/run-sysbench.sh 2010-02-26 16:24:13 + @@ -2,8 +2,10 @@ # # Run sysbench tests with MariaDB and MySQL # -# Note: Do not run this script with root privileges. -# We use killall -9, which can cause severe side effects! +# Notes: +# * Do not run this script with root privileges. We use +# killall -9, which can cause severe side effects! +# * By bzr pull we mean bzr merge --pull # # Hakan Kuecuekyilmaz hakan at askmonty dot org 2010-02-19. # @@ -19,6 +21,29 @@ exit 1 fi +if [ $# != 3 ]; then +echo '[ERROR]: Please provide exactly three options.' +echo Example: $0 [pull | no-pull] [/path/to/bzr/repo] [name] +echo $0 pull ${HOME}/work/monty_program/maria-local-master MariaDB + +exit 1 +else +PULL=$1 +LOCAL_MASTER=$2 +PRODUCT=$3 +fi + +# +# Binaries. +# +MYSQLADMIN='client/mysqladmin' + +# +# Adjust the following paths according to your installation. +# +SYSBENCH='/usr/local/bin/sysbench' +BZR='/usr/local/bin/bzr' + # # Variables. # @@ -27,32 +52,42 @@ MY_SOCKET=${TEMP_DIR}/mysql.sock MYSQLADMIN_OPTIONS=--no-defaults -uroot --socket=$MY_SOCKET MYSQL_OPTIONS=--no-defaults \ + --datadir=$DATA_DIR \ + --language=./sql/share/english \ + --max_connections=256 \ + --query_cache_size=0 \ + --query_cache_type=0 \ --skip-grant-tables \ - --language=./sql/share/english \ - --datadir=$DATA_DIR \ - --tmpdir=$TEMP_DIR \ --socket=$MY_SOCKET \ --table_open_cache=512 \ --thread_cache=512 \ - --query_cache_size=0 \ - --query_cache_type=0 \ + --tmpdir=$TEMP_DIR \ + --innodb_additional_mem_pool_size=32M \ + --innodb_buffer_pool_size=1024M \ + --innodb_data_file_path=ibdata1:32M:autoextend \ --innodb_data_home_dir=$DATA_DIR \ - --innodb_data_file_path=ibdata1:128M:autoextend \ - --innodb_log_group_home_dir=$DATA_DIR \ - --innodb_buffer_pool_size=1024M \ - --innodb_additional_mem_pool_size=32M \ - --innodb_log_file_size=256M \ - --innodb_log_buffer_size=16M \ + --innodb_doublewrite=0 \ --innodb_flush_log_at_trx_commit=1 \ + --innodb_flush_method=O_DIRECT \ --innodb_lock_wait_timeout=50 \ - --innodb_doublewrite=0 \ - --innodb_flush_method=O_DIRECT \ - --innodb_thread_concurrency=0 \ - --innodb_max_dirty_pages_pct=80 + --innodb_log_buffer_size=16M \ + --innodb_log_file_size=256M \ + --innodb_log_group_home_dir=$DATA_DIR \ + --innodb_max_dirty_pages_pct=80 \ + --innodb_thread_concurrency=0 +# Number of threads we run sysbench with. NUM_THREADS=1 4 8 16 32 64 128 + +# The table size we use for sysbench. TABLE_SIZE=200 + +# The run time we use for sysbench. RUN_TIME=300 + +# How many times we run each test. +LOOP_COUNT=3 + SYSBENCH_TESTS=delete.lua \ insert.lua \ oltp_complex_ro.lua \ @@ -61,6 +96,7 @@ select.lua \ update_index.lua \ update_non_index.lua + SYSBENCH_OPTIONS=--oltp-table-size=$TABLE_SIZE \ --max-time=$RUN_TIME \ --max-requests=0 \ @@ -68,123 +104,86 @@ --mysql-user=root \ --mysql-engine-trx=yes -PRODUCTS='MariaDB MySQL' - # Timeout in seconds for waiting for mysqld to start. TIMEOUT=100 # # Files # -MARIADB_BUILD_LOG='/tmp/mariadb_build.log' -MYSQL_BUILD_LOG='/tmp/mysql_build.log' +BUILD_LOG=/tmp/${PRODUCT}_build.log # # Directories. # BASE=${HOME}/work -MARIADB_LOCAL_MASTER=${BASE}/monty_program/maria-local-master -MARIADB_WORK=${BASE}/monty_program/maria -MYSQL_LOCAL_MASTER=${BASE}/mysql/mysql-server-local-master -MYSQL_WORK=${BASE}/mysql/mysql-server TEST_DIR=${BASE}/monty_program/sysbench/sysbench/tests/db RESULT_DIR=${BASE}/sysbench-results - -# -# Binaries. -# -MYSQLADMIN='./client/mysqladmin' -SYSBENCH='/usr/local/bin/sysbench' -BZR='/usr/local/bin/bzr' - -# -# Refresh repositories. -# -echo [$(date +%Y-%m-%d %H:%M:%S)] Refreshing source repositories. -rm -rf $MARIADB_WORK -if [ ! -d $MARIADB_LOCAL_MASTER ]; then -echo [ERROR]: Local master of MariaDB does not exist. -echo Please make a initial branch from lp:maria -echo Exiting. -exit 1 -else -cd $MARIADB_LOCAL_MASTER +WORK_DIR='/tmp' + +if [ ! -d $LOCAL_MASTER ]; then + echo [ERROR]: Supplied local master $LOCAL_MASTER does not exists. + echo Please provide a valid bzr repository. + echo Exiting. + exit 1 +fi + +# +# Refresh repositories, if requested
[Maria-developers] Rev 9: Added wrapper scripts for running all sysbench = v0.5 test in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 9 revision-id: ha...@askmonty.org-20100219052704-8nnlzsbu0nslnxba parent: ha...@askmonty.org-20100204111840-0d9u3nyio2h8tavi committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Fri 2010-02-19 06:27:04 +0100 message: Added wrapper scripts for running all sysbench = v0.5 test with MariaDB and MySQL. === added directory 'sysbench' === added file 'sysbench/README' --- a/sysbench/README 1970-01-01 00:00:00 + +++ b/sysbench/README 2010-02-19 05:27:04 + @@ -0,0 +1,1 @@ +Automation scripts for sysbench = v.05 === added file 'sysbench/run-sysbench.sh' --- a/sysbench/run-sysbench.sh 1970-01-01 00:00:00 + +++ b/sysbench/run-sysbench.sh 2010-02-19 05:27:04 + @@ -0,0 +1,275 @@ +#!/bin/bash +# +# Run sysbench tests with MariaDB and MySQL +# +# Note: Do not run this script with root privileges. +# We use killall -9, which can cause severe side effects! +# +# Hakan Kuecuekyilmaz hakan at askmonty dot org 2010-02-19. +# + +# +# Do not run this script as root! +# +RUN_BY=$(whoami) +if [ xroot = x$RUN_BY ];then + echo '[ERROR]: Do not run this script as root!' + echo ' Exiting.' + + exit 1 +fi + +# +# Variables. +# +TEMP_DIR='/tmp' +DATA_DIR=${TEMP_DIR}/data +MY_SOCKET=${TEMP_DIR}/mysql.sock +MYSQLADMIN_OPTIONS=--no-defaults -uroot --socket=$MY_SOCKET +MYSQL_OPTIONS=--no-defaults \ + --skip-grant-tables \ + --language=./sql/share/english \ + --datadir=$DATA_DIR \ + --tmpdir=$TEMP_DIR \ + --socket=$MY_SOCKET \ + --table_open_cache=512 \ + --thread_cache=512 \ + --query_cache_size=0 \ + --query_cache_type=0 \ + --innodb_data_home_dir=$DATA_DIR \ + --innodb_data_file_path=ibdata1:128M:autoextend \ + --innodb_log_group_home_dir=$DATA_DIR \ + --innodb_buffer_pool_size=1024M \ + --innodb_additional_mem_pool_size=32M \ + --innodb_log_file_size=256M \ + --innodb_log_buffer_size=16M \ + --innodb_flush_log_at_trx_commit=1 \ + --innodb_lock_wait_timeout=50 \ + --innodb_doublewrite=0 \ + --innodb_flush_method=O_DIRECT \ + --innodb_thread_concurrency=0 \ + --innodb_max_dirty_pages_pct=80 + +NUM_THREADS=1 4 8 16 32 64 128 +TABLE_SIZE=200 +RUN_TIME=300 +SYSBENCH_TESTS=delete.lua \ + insert.lua \ + oltp_complex_ro.lua \ + oltp_complex_rw.lua \ + oltp_simple.lua \ + select.lua \ + update_index.lua \ + update_non_index.lua +SYSBENCH_OPTIONS=--oltp-table-size=$TABLE_SIZE \ + --max-time=$RUN_TIME \ + --max-requests=0 \ + --mysql-table-engine=InnoDB \ + --mysql-user=root \ + --mysql-engine-trx=yes + +PRODUCTS='MariaDB MySQL' + +# Timeout in seconds for waiting for mysqld to start. +TIMEOUT=100 + +# +# Files +# +MARIADB_BUILD_LOG='/tmp/mariadb_build.log' +MYSQL_BUILD_LOG='/tmp/mysql_build.log' + +# +# Directories. +# +BASE=${HOME}/work +MARIADB_LOCAL_MASTER=${BASE}/monty_program/maria-local-master +MARIADB_WORK=${BASE}/monty_program/maria +MYSQL_LOCAL_MASTER=${BASE}/mysql/mysql-server-local-master +MYSQL_WORK=${BASE}/mysql/mysql-server +TEST_DIR=${BASE}/monty_program/sysbench/sysbench/tests/db +RESULT_DIR=${BASE}/sysbench-results + +# +# Binaries. +# +MYSQLADMIN='./client/mysqladmin' +SYSBENCH='/usr/local/bin/sysbench' +BZR='/usr/local/bin/bzr' + +# +# Refresh repositories. +# +echo [$(date +%Y-%m-%d %H:%M:%S)] Refreshing source repositories. +rm -rf $MARIADB_WORK +if [ ! -d $MARIADB_LOCAL_MASTER ]; then +echo [ERROR]: Local master of MariaDB does not exist. +echo Please make a initial branch from lp:maria +echo Exiting. +exit 1 +else +cd $MARIADB_LOCAL_MASTER +echo Pulling latest MariaDB sources. +$BZR pull +if [ $? != 0 ]; then +echo [ERROR]: $BZR pull for $MARIADB_LOCAL_MASTER failed +echo Please check your bzr setup +echo Exiting. +exit 1 +fi + +echo Branching MariaDB working directory. +$BZR branch $MARIADB_LOCAL_MASTER $MARIADB_WORK +if [ $? != 0 ]; then +echo [ERROR]: $BZR branch of $MARIADB_LOCAL_MASTER failed +echo Please check your bzr setup +echo Exiting. +exit 1 +fi +fi + +rm -rf $MYSQL_WORK +if [ ! -d $MYSQL_LOCAL_MASTER ]; then +echo [ERROR]: Local master of MySQL does not exist. +echo Please make a initial branch from lp:mysql-server +echo Exiting. +exit 1 +else +cd $MYSQL_LOCAL_MASTER +echo Pulling latest MySQL sources. +$BZR pull +if [ $? != 0 ]; then +echo [ERROR]: $BZR pull for $MYSQL_LOCAL_MASTER failed +echo Please check your bzr setup +echo Exiting. +exit 1 +fi + +echo Branching MySQL working directory. +$BZR branch $MYSQL_LOCAL_MASTER $MYSQL_WORK +if [ $? != 0 ]; then +echo [ERROR]: $BZR branch of $MYSQL_LOCAL_MASTER failed +echo Please check your bzr setup +echo Exiting. +exit 1 +fi +fi + +echo [$(date +%Y-%m-%d %H:%M:%S)] Done
[Maria-developers] Rev 2818: Increased loop counts of sql-bench tests to get run times around in file:///Users/hakan/work/monty_program/maria/
At file:///Users/hakan/work/monty_program/maria/ revno: 2818 revision-id: ha...@askmonty.org-20100217201002-gax8y3ts7yf6u50a parent: mo...@askmonty.org-20100212142113-wdv50xx19quursaf committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria timestamp: Wed 2010-02-17 21:10:02 +0100 message: Increased loop counts of sql-bench tests to get run times around 5 minutes on current machines. Tested on a Xeon machine and a new dual core laptop. === modified file 'sql-bench/test-ATIS.sh' --- a/sql-bench/test-ATIS.sh2009-05-29 13:40:55 + +++ b/sql-bench/test-ATIS.sh2010-02-17 20:10:02 + @@ -28,7 +28,7 @@ use DBI; use Benchmark; -$opt_loop_count=100; # Run selects this many times +$opt_loop_count=5000; # Run selects this many times $pwd = cwd(); $pwd = . if ($pwd eq ''); require $pwd/bench-init.pl || die Can't read Configuration file: $!\n; === modified file 'sql-bench/test-alter-table.sh' --- a/sql-bench/test-alter-table.sh 2009-05-29 13:40:55 + +++ b/sql-bench/test-alter-table.sh 2010-02-17 20:10:02 + @@ -25,7 +25,7 @@ use Benchmark; $opt_start_field_count=8; # start with this many fields -$opt_loop_count=100; # How many tests to do +$opt_loop_count=1; # How many tests to do $opt_row_count=1000; # Rows in the table $opt_field_count=1000; # Add until this many fields. $opt_time_limit=10*60; # Don't wait more than 10 min for some tests === modified file 'sql-bench/test-big-tables.sh' --- a/sql-bench/test-big-tables.sh 2009-05-29 13:40:55 + +++ b/sql-bench/test-big-tables.sh 2010-02-17 20:10:02 + @@ -25,7 +25,7 @@ use DBI; use Benchmark; -$opt_loop_count=1000; # Change this to make test harder/easier +$opt_loop_count=7; # Change this to make test harder/easier $opt_field_count=1000; $pwd = cwd(); $pwd = . if ($pwd eq ''); === modified file 'sql-bench/test-connect.sh' --- a/sql-bench/test-connect.sh 2010-02-10 21:26:06 + +++ b/sql-bench/test-connect.sh 2010-02-17 20:10:02 + @@ -28,7 +28,7 @@ use DBI; use Benchmark; -$opt_loop_count=10;# Change this to make test harder/easier +$opt_loop_count=50;# Change this to make test harder/easier $str_length=65000; # This is the length of blob strings in PART:5 $max_test=20; # How many times to test if the server is busy === modified file 'sql-bench/test-select.sh' --- a/sql-bench/test-select.sh 2009-05-29 13:40:55 + +++ b/sql-bench/test-select.sh 2010-02-17 20:10:02 + @@ -26,7 +26,7 @@ use Benchmark; $opt_loop_count=1; -$opt_medium_loop_count=1000; +$opt_medium_loop_count=7000; $opt_small_loop_count=10; $opt_regions=6; $opt_groups=100; === modified file 'sql-bench/test-transactions.sh' --- a/sql-bench/test-transactions.sh2009-05-29 13:40:55 + +++ b/sql-bench/test-transactions.sh2010-02-17 20:10:02 + @@ -28,8 +28,8 @@ $opt_groups=27;# Characters are 'A' - Z -$opt_loop_count=1; # Change this to make test harder/easier -$opt_medium_loop_count=100; # Change this to make test harder/easier +$opt_loop_count=50;# Change this to make test harder/easier +$opt_medium_loop_count=1; # Change this to make test harder/easier $pwd = cwd(); $pwd = . if ($pwd eq ''); require $pwd/bench-init.pl || die Can't read Configuration file: $!\n; === modified file 'sql-bench/test-wisconsin.sh' --- a/sql-bench/test-wisconsin.sh 2009-05-29 13:40:55 + +++ b/sql-bench/test-wisconsin.sh 2010-02-17 20:10:02 + @@ -21,7 +21,7 @@ use DBI; use Benchmark; -$opt_loop_count=10; +$opt_loop_count=5000; $pwd = cwd(); $pwd = . if ($pwd eq ''); require $pwd/bench-init.pl || die Can't read Configuration file: $!\n; ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Fwd: DELAY_KEY_WRITE und MariaDB
Hi, Oli Sennhauser is asking how DELAY_KEY_WRITE is working in MariDB? Is it different or better performing than the MySQL one? Best regards, Hakan Begin forwarded message: From: oli.sennhau...@bluewin.ch oli.sennhau...@bluewin.ch Date: 16. Februar 2010 11:41:26 MEZ To: ha...@askmonty.org Subject: DELAY_KEY_WRITE und MariaDB Reply-To: oli.sennhau...@bluewin.ch Hoi Hakan, Hast Du infos wie sich DELAY_KEY_WRITE auf MariaDB auswirkt? Alles gleich oder viel bessert/schlechter? Performance? Danke und Gruss, Oli -- Hakan Küçükyılmaz, QA/Benchmark Engineer, Stuttgart/Germany Monty Program Ab, http://askmonty.org/ Skype: hakank_ Phone: +49 171 1919839 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 8: Merge. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 8 [merge] revision-id: ha...@askmonty.org-20100204111840-0d9u3nyio2h8tavi parent: ha...@askmonty.org-20100204011956-u74a4es6oogvd50w parent: kniel...@hasky-20100202151012-pjcblb2v3bqsp5eo committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Thu 2010-02-04 12:18:40 +0100 message: Merge. modified: buildbot/maria-master.cfg mariamaster.cfg-20091218103450-cvifjz3i70oerkej-1 buildbot/runvm runvm-20091218082659-ept0jpsqa5e8jno6-2 === modified file 'buildbot/maria-master.cfg' --- a/buildbot/maria-master.cfg 2010-01-02 21:17:58 + +++ b/buildbot/maria-master.cfg 2010-02-02 15:10:12 + @@ -59,7 +59,6 @@ ,mkSlave(psergey-pylon-amd64, max_builds=1) ,mkSlave(psergey-foxhole-x86, max_builds=1) ,mkSlave(psergey-pslp2-x86, max_builds=1) - ,mkSlave(hakan-mac-g5, max_builds=1) ,mkSlave(work-opensuse-amd64, max_builds=1) ,mkSlave(psergey-win32box, max_builds=1) ,mkSlave(vm-win-1, max_builds=1) @@ -114,7 +113,7 @@ lp:~maria-captains/maria/maria-5.2-merge-5.1 : maria-5.2-merge-5.1, lp:~maria-captains/maria/5.2-dsmrr : 5.2-dsmrr, lp:~maria-captains/maria/5.3 : 5.3, -lp:~maria-captains/maria/5.3 : 5.3-sj-subqueries +lp:~maria-captains/maria/5.3-sj-subqueries : 5.3-sj-subqueries } mailSource = mail.BzrLaunchpadEmailMaildirSource(/var/lib/buildbot/Maildir, branchMap=myBranchMap) @@ -163,7 +162,7 @@ # lenny-amd64-dbg, adutko-alpha, debian5-i386-fulltest, jaunty-x86-valgrind, jaunty-amd64-rel, - gentoo-x86-dbg, ubuntu-x86-dbg, macosx-g5-dbg, + gentoo-x86-dbg, ubuntu-x86-dbg, macosx-x86-bld, work-amd64-valgrind, winxp-x86-nmake, win32-rel-nmake, hardy-amd64-fulltest, gentoo-amd64-sanja, opensolaris-511-x86, @@ -180,6 +179,7 @@ branches=[mariadb-5.1-knielsen, 5.1-release, 5.1, 5.1.39-oqgraph, 5.1-merge, mariadb-5.1-monty, + 5.2, mariadb-5.2-monty, ], treeStableTimer=1, # 1 sec for bzr properties= {bakebranch: lp:~maria-captains/ourdelta/ourdelta-montyprogram-fixes}, @@ -197,7 +197,9 @@ kvm-deb-jaunty-amd64, kvm-deb-jaunty-x86, kvm-deb-karmic-amd64, kvm-deb-karmic-x86, kvm-deb-lucid-amd64, kvm-deb-lucid-x86, - kvm-bintar-hardy-amd64, kvm-bintar-hardy-x86,])) + kvm-bintar-hardy-amd64, kvm-bintar-hardy-x86, + opensolaris-511-bintar, + ])) ### BUILDERS @@ -529,7 +531,7 @@ slavename: adutko-centos5-amd64, builddir: centos5-amd64-minimal, factory: f_minimal, - category: experimental, + category: main, } f_win32_rel_nmake = factory.BuildFactory() @@ -699,7 +701,7 @@ slavename: adutko-ultrasparc3, builddir: adutko-ultrasparc3, factory: f_sol_sparc_32, -category: new, +category: main, } f_dbg_alpha = factory.BuildFactory() @@ -771,23 +773,6 @@ category: experimental, } -f_dbg_g5 = factory.BuildFactory() -f_dbg_g5.addStep(bzr_shared_repo) -f_dbg_g5.addStep(bzr_checkout) -f_dbg_g5.addStep(getCompileStep([BUILD/compile-ppc-max])) -f_dbg_g5.addStep(getMTR( -test_type=nm, -test_info=Normal run, no --ps-protocol, -command=[sh, -c, cd mysql-test exec perl mysql-test-run.pl --force --retry=3 --skip-ndb --testcase-timeout=45 --suite-timeout=1080 --mysqld=--skip-safemalloc], -timeout=2700)) - -bld_mac_g5 = {'name': macosx-g5-dbg, - 'slavename': hakan-mac-g5, - 'builddir': hakan-mac-g5, - 'factory': f_dbg_g5, - category: experimental, - } - f_mac_x86 = factory.BuildFactory() f_mac_x86.addStep(bzr_shared_repo) f_mac_x86.addStep(bzr_checkout) @@ -878,6 +863,36 @@ category: experimental, } +# The trees for which we save binary packages. +savedPackageBranches= [5.1-release, 5.2-release, 5.3-release] + +# Get a build step that will archive binary packages (or source tarball). +# Only the newest 3 builds are saved for each (branch, builder) combination. +# The packages are saved under the build number of the tarbake step, so it is +# easy to locate all packages
[Maria-developers] Rev 2802: Fix for https://bugs.launchpad.net/maria/+bug/509795 in file:///Users/hakan/work/monty_program/maria/
At file:///Users/hakan/work/monty_program/maria/ revno: 2802 revision-id: ha...@askmonty.org-20100122211921-e177xzarwy7l8j5y parent: kniel...@knielsen-hq.org-20100118125610-s55p0dsjofl9eclf committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria timestamp: Fri 2010-01-22 22:19:21 +0100 message: Fix for https://bugs.launchpad.net/maria/+bug/509795 Result of reverse_lookup(localhost) is system depended. Therefore we disable the result of it. === modified file 'mysql-test/r/udf.result' --- a/mysql-test/r/udf.result 2010-01-11 13:15:28 + +++ b/mysql-test/r/udf.result 2010-01-22 21:19:21 + @@ -38,8 +38,6 @@ select reverse_lookup(127.0.0.1); select reverse_lookup(127,0,0,1); select reverse_lookup(localhost); -reverse_lookup(localhost) -NULL select avgcost(); ERROR HY000: Can't initialize function 'avgcost'; wrong number of arguments: AVGCOST() requires two arguments select avgcost(100,23.76); === modified file 'mysql-test/t/udf.test' --- a/mysql-test/t/udf.test 2010-01-11 13:15:28 + +++ b/mysql-test/t/udf.test 2010-01-22 21:19:21 + @@ -56,9 +56,9 @@ --disable_result_log select reverse_lookup(127.0.0.1); select reverse_lookup(127,0,0,1); +select reverse_lookup(localhost); --enable_result_log -select reverse_lookup(localhost); --error ER_CANT_INITIALIZE_UDF select avgcost(); --error ER_CANT_INITIALIZE_UDF ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 5: * This script cannot be run as root anymore in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 5 revision-id: ha...@askmonty.org-20100112124259-6kktvinuwhage5pp parent: ha...@askmonty.org-20091229134253-zdbgd0ym9m7cokii committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2010-01-12 13:42:59 +0100 message: * This script cannot be run as root anymore * Determine mysqld version and add it to result file name via --suffix === modified file 'sql-bench/run-sql-bench.sh' --- a/sql-bench/run-sql-bench.sh2009-12-29 13:42:53 + +++ b/sql-bench/run-sql-bench.sh2010-01-12 12:42:59 + @@ -9,15 +9,23 @@ # Hakan Kuecuekyilmaz hakan at askmonty dot org 2009-12-05. # +RUN_BY=$(whoami) +if [ xroot = x$RUN_BY ];then + echo '[ERROR]: Do not run this script as root!' + echo ' Exiting.' + + exit 1 +fi + if [ $# != 2 ]; then echo '[ERROR]: Please provide exactly two options.' echo Example: $0 [/path/to/bzr/repository] [name_without_spaces] -echo ' [name_without_spaces] is used as identifier in the result file.' +echo ' [name_without_spaces] is used as identifier in the result file (--suffix).' exit 1 else REPOSITORY=$1 -REPOSITORY_NAME=$2 +SUFFIX=-$2 fi # @@ -158,6 +166,10 @@ MYSQLADMIN_OPTIONS=$MYSQLADMIN_OPTIONS \ --socket=$MARIADB_SOCKET + +# Determine mysqld version for result file naming. +MARIADB_VERSION=$(sql/mysqld --version | awk '{ print $3 }') +SUFFIX=$SUFFIX-$MARIADB_VERSION sql/mysqld $MARIADB_OPTIONS @@ -201,7 +213,8 @@ # TODO: Adding --comments=$COMMENTS does not work SQLBENCH_OPTIONS=$SQLBENCH_OPTIONS \ - --socket=$MARIADB_SOCKET + --socket=$MARIADB_SOCKET \ + --suffix=$SUFFIX ./run-all-tests $SQLBENCH_OPTIONS if [ $? != 0 ]; then @@ -215,8 +228,6 @@ # Save result file for later usage and comparison. RESULT_FILE=$(ls output/RUN-*) if [ x$RESULT_FILE != x ]; then -NEW_FILE_NAME=RUN-${REPOSITORY_NAME}-$(basename $RESULT_FILE | awk -F 'RUN-' '{ print $2 }') - CONFIGURATION=$(basename $i | awk -F . '{ print $1 }') ARCHIVE_DIR=${SQL_BENCH_RESULTS}/${MACHINE}/${RUN_DATE}/${CONFIGURATION} mkdir -p $ARCHIVE_DIR @@ -225,7 +236,7 @@ sed -e s%Comments:%Comments:${COMMENTS}% $RESULT_FILE foo.tmp mv foo.tmp $RESULT_FILE # TODO: check for failures and copy the logs in question. -cp $RESULT_FILE ${ARCHIVE_DIR}/$NEW_FILE_NAME +cp $RESULT_FILE $ARCHIVE_DIR # Clean up for next round. rm -rf $TEMP_DIR ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Rev 4: Added wrapper scripts for automated runs of sql-bench
Am 29.12.2009 um 15:09 schrieb Sergei Golubchik ser...@pisem.net: Hi, Hakan! On Dec 29, Hakan Kuecuekyilmaz wrote: At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 4 revision-id: ha...@askmonty.org-20091229134253-zdbgd0ym9m7cokii parent: kniel...@knielsen-hq.org-20091218103524-nof6wfpuku60r9rn committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2009-12-29 14:42:53 +0100 message: Added wrapper scripts for automated runs of sql-bench. === added directory 'sql-bench' === added file 'sql-bench/run-sql-bench.sh' --- a/sql-bench/run-sql-bench.sh1970-01-01 00:00:00 + +++ b/sql-bench/run-sql-bench.sh2009-12-29 13:42:53 + @@ -0,0 +1,236 @@ +#!/bin/bash +# +# Run sql-bench for every given configuration file +# we find in the directory $SQL_BENCH_CONFIGS. +# +# Note: Do not run this script with root privileges. +# We use killall -9, which can cause severe side effects! You can use killall -u `whoami` not perfect, but still much safer. I think that's not much safer. If run by root, then whoami will return root. I will add a simple check whether the script was started by root and if so, simply abort. Thanks for noting out this one, Hakan ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 4: Added wrapper scripts for automated runs of sql-bench. in file:///Users/hakan/work/monty_program/mariadb-tools/
At file:///Users/hakan/work/monty_program/mariadb-tools/ revno: 4 revision-id: ha...@askmonty.org-20091229134253-zdbgd0ym9m7cokii parent: kniel...@knielsen-hq.org-20091218103524-nof6wfpuku60r9rn committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: mariadb-tools timestamp: Tue 2009-12-29 14:42:53 +0100 message: Added wrapper scripts for automated runs of sql-bench. === added directory 'sql-bench' === added file 'sql-bench/run-sql-bench.sh' --- a/sql-bench/run-sql-bench.sh1970-01-01 00:00:00 + +++ b/sql-bench/run-sql-bench.sh2009-12-29 13:42:53 + @@ -0,0 +1,236 @@ +#!/bin/bash +# +# Run sql-bench for every given configuration file +# we find in the directory $SQL_BENCH_CONFIGS. +# +# Note: Do not run this script with root privileges. +# We use killall -9, which can cause severe side effects! +# +# Hakan Kuecuekyilmaz hakan at askmonty dot org 2009-12-05. +# + +if [ $# != 2 ]; then +echo '[ERROR]: Please provide exactly two options.' +echo Example: $0 [/path/to/bzr/repository] [name_without_spaces] +echo ' [name_without_spaces] is used as identifier in the result file.' + +exit 1 +else +REPOSITORY=$1 +REPOSITORY_NAME=$2 +fi + +# +# Directories. +# +SQL_BENCH_CONFIGS='/home/hakan/sql-bench-configurations' +SQL_BENCH_RESULTS='/home/hakan/sql-bench-results' +WORK_DIR='/tmp' + +# +# Variables. +# +# We need at least 1 GB disk space in our $WORK_DIR. +SPACE_LIMIT=100 +MYSQLADMIN_OPTIONS='--no-defaults' +MACHINE=$(hostname -s) +RUN_DATE=$(date +%Y-%m-%d) + +# Timeout in seconds for waiting for mysqld to start. +TIMEOUT=100 + +# +# Binaries. +# +BZR='/usr/local/bin/bzr' +MYSQLADMIN='client/mysqladmin' + +# +# Check system. +# +# We should at least have $SPACE_LIMIT in $WORKDIR. +AVAILABLE=$(df $WORK_DIR | grep -v Filesystem | awk '{ print $4 }') + +if [ $AVAILABLE -lt $SPACE_LIMIT ]; then +echo [ERROR]: We need at least $ONE_GB space in $WORK_DIR. +echo 'Exiting.' + +exit 1 +fi + +# +# Run sql-bench. +# +for i in ${SQL_BENCH_CONFIGS}/*.inc +do +# Set configuration and check that all required parameters are set. +source $i + +if [ x$MARIADB_CONFIG == x ]; then +echo '[ERROR]: $MARIADB_CONFIG is not set.' +echo 'Exiting.' + +exit 1 +fi + +if [ x$SQLBENCH_OPTIONS == x ]; then +echo '[ERROR]: $SQLBENCH_OPTIONS is not set.' +echo 'Exiting.' + +exit 1 +fi + +if [ x$MARIADB_OPTIONS == x ]; then +echo '[ERROR]: $MARIADB_OPTIONS is not set.' +echo 'Exiting.' + +exit 1 +fi + +# Check out and compile. +REVISION_ID=$($BZR version-info $REPOSITORY | grep revision-id) +if [ $? != 0 ]; then +echo '[ERROR]: bzr version-info failed. Please provide' +echo ' a working bzr repository' +echo 'Exiting.' + +exit 1 +fi + +cd $WORK_DIR +# Clean up of previous runs +killall -9 mysqld + +TEMP_DIR=$(mktemp --directory) +if [ $? != 0 ]; then +echo [ERROR]: mktemp in $WORK_DIR failed. +echo 'Exiting.' + +exit 1 +fi + +# bzr export refuses to export to an existing directory, +# therefore we use a build directory. +echo Branching from $REPOSITORY to ${TEMP_DIR}/build + +$BZR export --format=dir ${TEMP_DIR}/build $REPOSITORY +if [ $? != 0 ]; then +echo '[ERROR]: bzr export failed.' +echo 'Exiting.' + +exit 1 +fi + +cd ${TEMP_DIR}/build +BUILD/autorun.sh +if [ $? != 0 ]; then +echo '[ERROR]: BUILD/autorun.sh failed.' +echo ' Please check your development environment.' +echo 'Exiting.' + +exit 1 +fi + +./configure $MARIADB_CONFIG +if [ $? != 0 ]; then +echo [ERROR]: ./configure $MARIADB_CONFIG failed. +echo Please check your MARIADB_CONFIG in $i. +echo 'Exiting.' + +exit 1 +fi + +make -j4 +if [ $? != 0 ]; then +echo '[ERROR]: make failed.' +echo ' Please check your build logs.' +echo 'Exiting.' + +exit 1 +fi + +# Start mysqld. +MARIADB_SOCKET=${TEMP_DIR}/mysql.sock +MARIADB_OPTIONS=$MARIADB_OPTIONS \ + --datadir=$TEMP_DIR \ + --tmpdir=$TEMP_DIR \ + --socket=$MARIADB_SOCKET + +MYSQLADMIN_OPTIONS=$MYSQLADMIN_OPTIONS \ + --socket=$MARIADB_SOCKET + +sql/mysqld $MARIADB_OPTIONS + +j=0 +STARTED=-1 +while [ $j -le $TIMEOUT ] +do +$MYSQLADMIN $MYSQLADMIN_OPTIONS -uroot ping /dev/null 21 +if [ $? = 0 ]; then +STARTED=0 + +break +fi + +sleep 1 +j=$(($j + 1)) +done + +if [ $STARTED != 0 ]; then +echo '[ERROR]: Start of mysqld failed.' +echo ' Please check your error log.' +echo 'Exiting.' + +exit 1 +fi
Re: [Maria-developers] Reviewing bug reports: feature needed
Kurt, all, On 30.11.2009, at 20:23, Kurt von Finck wrote: On Fri, 27 Nov 2009 21:39:45 +0100 Hakan Kuecuekyilmaz ha...@askmonty.org wrote: Hi all, after reviewing some MariaDB related bugs on bugs.launchpad.net/maria it occurred to me, that there is no link between the bug state Fix Committed and the corresponding patch, which fixed the issue. Is there a way to link a bzr patch/push to a launchpad bug report? If not, where can I do a feature request about it? Best regards, I have spoken to Karl Fogel in the past about setting up a roundtable discussion between Launchpad developers and Maria devs. The purpose would be for us to give feedback and suggest features we'd like to see. This would be a good example of a topic for such a discussion. If this seems like a productive use of time, I am happy to coordinate such a meeting. Just let me know. A roundtable with bzr developer(s) would be very good. In my case, I would like to spend a bit more time with the launchpad bugsystem to collect more ideas and get better understanding of it. Where a bit more time is four weeks or so. How about a meeting in January 2010? Best, Hakan -- Hakan Küçükyılmaz, QA/Benchmark Engineer, Stuttgart/Germany Monty Program Ab, http://askmonty.org/ Skype: hakank_ Phone: +49 171 1919839 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Reviewing bug reports: feature needed
Hi all, after reviewing some MariaDB related bugs on bugs.launchpad.net/maria it occurred to me, that there is no link between the bug state Fix Committed and the corresponding patch, which fixed the issue. Is there a way to link a bzr patch/push to a launchpad bug report? If not, where can I do a feature request about it? Best regards, Hakan -- Hakan Küçükyılmaz, QA/Benchmark Engineer, Stuttgart/Germany Monty Program Ab, http://askmonty.org/ Skype: hakank_ Phone: +49 171 1919839 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] request for comment: OQGRAPH in 5.1 packages
Arjen, all, I like the idea of putting community developed storage engines into our releases. On 30.10.2009, at 21:35, Arjen Lentz wrote: Hi all, fellow Maria captains in particular (but naturally anybody here can comment) We'd like to include the plugin for OQGRAPH engine in the 5.1 packages we're just about to build. It would not be pulled in like the xtradb/pbxt engines, but be compiled separately and not loaded in by default (people will have to do INSTALL PLUGIN) so that as long as it's not loaded, it can have no influence on the running of mysqld. It would not be loaded by default, but if you load the engine, then it surely will have influence on mysqld. The rationale is this. From the experience with PBXT, people really want/need binaries/ packages before they will try things. If 5.1 binaries had had PBXT plugin sitting there, lots more people would have tried it earlier, filed bugreports and feedback, and Paul would have been where he is now much quicker. With MariaDB pulling it in it's ok now, but it's just a darn waste and pity of the earlier time. I would like to be strict in our release policy. Once we declare a release beta, then we should be feature complete and no new features should be added. Otherwise, there will be n cool, harmless, trivial, and so on additions people may want to add. Since 5.1's plugin infrastructure still requires a plugin to be compiled against close to exact the original mysqld source, the only way to ensure that is to compile them from the same source at the same time, next to eachother. So that's what I'm proposing. The plugin infrastructure and storage engine interface is not as clean as one would guess. Therefore a new engine adds new risks to the run time. Nonsense like the feature preview builds that Sun/MySQL did just make no sense in the real world, people can't use that. So while sticking new plugins in a future version like 5.2 appears sensible, it doesn't actually help in getting the code out there and used which is of course the only way to get feedback and bugreports. The ability to have plugins distributed but not loaded is the key here, it allows us to get stuff out and those who want to try it can, without destabilising anything for those who don't. I don't see any need for feature preview stuff. We will have at least a stable branch and a development branch. I think that we aim for way shorter alpha to beta release cycles; 3 to 6 months would be nice. (On the practical side, since it's essentially separate it would get added during the source tarball prep in the builds, so no action required inside the maria tree) With the packages getting prepped now, I realise it's a tad short notice. Don't feel rushed, but do please reply when you read this, otherwise it might get lost in your email pile (I know my friends, as I know myself ;-) Thanks You are right, it would not matter, if nobody loads that engine. But people will load it and it can lead to instabilities. My answer is: no new features after beta. Best regards, Hakan -- Hakan Küçükyılmaz, QA/Benchmark Engineer, Stuttgart/Germany Monty Program Ab, http://askmonty.org/ Skype: hakank_ Phone: +49 171 1919839 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 2731: Fix for in file:///Users/hakan/work/monty_program/maria-debug/
At file:///Users/hakan/work/monty_program/maria-debug/ revno: 2731 revision-id: ha...@askmonty.org-20090918033054-zi01ib0tg2qt1l7m parent: kniel...@knielsen-hq.org-20090907131358-6bq1e3qfcgi30hu8 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria-debug timestamp: Fri 2009-09-18 05:30:54 +0200 message: Fix for mysqlslap: setting --engine does not get replicated http://bugs.mysql.com/bug.php?id=46967 and mysqlslap: specifying --engine and --create does not work with --engine=storage_engine:option https://bugs.launchpad.net/maria/+bug/429773 Problems were that an --engine=storage_engine was translated to a set storage_engine = storage_engine, wich is _not_ replicated. A --engine=storage_engine:option was not always properly parsed and in some cases crashed. Fixed by eliminating set storage_engine = ... and adding proper DDL generation. Initialized an unitialized buffer to prevent crashes and fixed to use proper pointer for in case of --engine=storage_engine:option being the last element in list of --engines. Also cleaned up code for better readability. Q: Should MySQL's replication actually replicate a set storage_engine = ... command or not? A: No it should not. It is documented here: http://dev.mysql.com/doc/refman/5.1/en/replication-features-variables.html ... The storage_engine system variable is not replicated, which is a good thing for replication between different storage engines. ... Before the patch, mysqlslap was behaving this way: +---++-+ | | single | replication | +---++-+ | Before patch | +---++-+ | --engine[1] | +-+-++-+ | 1.1 | eng1 | OK | Not OK | | 1.2 | eng1,eng2 | OK | Not OK | | 1.3 | eng1,eng2,eng3 | OK | Not OK | | 1.4 | memory:option | OK | Not OK | | 1.5 | memory:option,eng1 | OK | Not OK | | 1.6 | eng1,memory:option | Not OK | Not OK | | 1.7 | memory:option,eng1,eng2 | Crash | Not OK | | 1.8 | eng1,memory:option,eng2 | OK | Not OK | | 1.9 | eng1,eng2,memory:option | Not OK | Not OK | +-+-++-+ +---++-+ | --create --engine[2] | +-+-++-+ | 2.1 | eng1 | OK | Not OK | | 2.2 | eng1,eng2 | OK | Not OK | | 2.3 | eng1,eng2,eng3 | OK | Not OK | | 2.4 | memory:option | Not OK | Not OK | | 2.5 | memory:option,eng1 | Not OK | Not OK | | 2.6 | eng1,memory:option | Not OK | Not OK | | 2.7 | memory:option,eng1,eng2 | Crash | Not OK | | 2.8 | eng1,memory:option,eng2 | Not OK | Not OK | | 2.9 | eng1,eng2,memory:option | Not OK | Not OK | +-+-++-+ After my final patch, mysqlslap now runs like this: +---++-+ | | single | replication | +---++-+ | After third patch | +---++-+ | --engine[1] | +-+-++-+ | 1.1 | eng1 | OK | OK | | 1.2 | eng1,eng2 | OK | OK | | 1.3 | eng1,eng2,eng3 | OK | OK | | 1.4 | memory:option | OK | OK | | 1.5 | memory:option,eng1 | OK | OK | | 1.6 | eng1,memory:option | OK | OK | | 1.7 | memory:option,eng1,eng2 | OK | OK | | 1.8 | eng1,memory:option,eng2 | OK | OK | | 1.9 | eng1,eng2,memory:option | OK | OK | +-+-++-+ +---++-+ | --create --engine[2] | +-+-++-+ | 2.1 | eng1 | OK | OK | | 2.2 | eng1,eng2 | OK | OK | | 2.3 | eng1,eng2,eng3 | OK | OK | | 2.4 | memory:option | OK | OK | | 2.5 | memory:option,eng1 | OK | OK | | 2.6 | eng1,memory:option | OK
[Maria-developers] Rev 2732: Merge. in file:///Users/hakan/work/monty_program/maria-debug/
At file:///Users/hakan/work/monty_program/maria-debug/ revno: 2732 [merge] revision-id: ha...@askmonty.org-20090918033703-3ztdey1rpydiaeds parent: ha...@askmonty.org-20090918033054-zi01ib0tg2qt1l7m parent: pser...@askmonty.org-20090918011529-3d7glu6ot7n0xqc9 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria-debug timestamp: Fri 2009-09-18 05:37:03 +0200 message: Merge. modified: mysql-test/lib/mtr_gcov.pl sp1f-mtr_gcov.pl-20041230152646-g7ukx2aojk6vlfbrurijutdkqshwljue mysql-test/lib/process-purecov-annotations.pl processpurecovannota-20090825145959-3tgucpo20ms8b5yb-1 storage/maria/CMakeLists.txt sp1f-cmakelists.txt-20060904145307-qtvi5bxnxyt7nzs4gtpsyte5vv3fwm2i === modified file 'mysql-test/lib/mtr_gcov.pl' --- a/mysql-test/lib/mtr_gcov.pl2009-08-25 15:02:55 + +++ b/mysql-test/lib/mtr_gcov.pl2009-09-18 01:15:29 + @@ -64,7 +64,8 @@ $dir_reported= 1; } system($gcov $f 2$start_dir/$gcov_err $start_dir/$gcov_msg); - system(perl $basedir/mysql-test/lib/process-purecov-annotations.pl $f.gcov); + system(perl, $basedir/mysql-test/lib/process-purecov-annotations.pl, $f.gcov); + } chdir($start_dir); } === modified file 'mysql-test/lib/process-purecov-annotations.pl' --- a/mysql-test/lib/process-purecov-annotations.pl 2009-08-25 15:02:55 + +++ b/mysql-test/lib/process-purecov-annotations.pl 2009-09-18 01:15:29 + @@ -47,7 +47,7 @@ # my @arr= split(/:/, $line); if ($skipping || $line =~ /purecov: *(inspected|deadcode)/ || -$arr[2] =~ m/^{ */) +$arr[2] =~ m/^{ *$/) { # Change '' to '-'. $arr[0] =~ s/#/-/g; @@ -57,8 +57,7 @@ } close(IN); close(OUT); - system(cat $out_file_name $in_file_name); - system(rm $out_file_name); + system(mv, -f, $out_file_name, $in_file_name); } === modified file 'storage/maria/CMakeLists.txt' --- a/storage/maria/CMakeLists.txt 2008-06-09 09:06:06 + +++ b/storage/maria/CMakeLists.txt 2009-09-09 18:11:31 + @@ -50,6 +50,8 @@ ADD_LIBRARY(maria ${MARIA_SOURCES}) + ADD_DEPENDENCIES(maria GenError) + ADD_EXECUTABLE(maria_ftdump maria_ftdump.c) TARGET_LINK_LIBRARIES(maria_ftdump maria myisam mysys dbug strings zlib wsock32) ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 2731: Fix for in file:///Users/hakan/work/monty_program/maria-debug/
At file:///Users/hakan/work/monty_program/maria-debug/ revno: 2731 revision-id: ha...@askmonty.org-20090915143232-zv4823wsd0o0j6fa parent: kniel...@knielsen-hq.org-20090907131358-6bq1e3qfcgi30hu8 committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria-debug timestamp: Tue 2009-09-15 16:32:32 +0200 message: Fix for mysqlslap: setting --engine does not get replicated http://bugs.mysql.com/bug.php?id=46967 and mysqlslap: specifying --engine and --create does not work with --engine=storage_engine:option https://bugs.launchpad.net/maria/+bug/429773 Problems were that an --engine=storage_engine was translated to a set storage_engine = storage_engine, wich is _not_ replicated. A --engine=storage_engine:option was not always properly parsed and in some cases crashed. Fixed by eliminating set storage_engine = ... and adding proper DDL generation. Initialized an unitialized buffer to prevent crashes and fixed to use proper pointer for in case of --engine=storage_engine:option being the last element in list of --engines. Also cleaned up code for better readability. Q: Should MySQL's replication actually replicate a set storage_engine = ... command or not? A: No it should not. It is documented here: http://dev.mysql.com/doc/refman/5.1/en/replication-features-variables.html ... The storage_engine system variable is not replicated, which is a good thing for replication between different storage engines. ... Before the patch, mysqlslap was behaving this way: +---++-+ | | single | replication | +---++-+ | Before patch | +---++-+ | --engine[1] | +-+-++-+ | 1.1 | eng1 | OK | Not OK | | 1.2 | eng1,eng2 | OK | Not OK | | 1.3 | eng1,eng2,eng3 | OK | Not OK | | 1.4 | memory:option | OK | Not OK | | 1.5 | memory:option,eng1 | OK | Not OK | | 1.6 | eng1,memory:option | Not OK | Not OK | | 1.7 | memory:option,eng1,eng2 | Crash | Not OK | | 1.8 | eng1,memory:option,eng2 | OK | Not OK | | 1.9 | eng1,eng2,memory:option | Not OK | Not OK | +-+-++-+ +---++-+ | --create --engine[2] | +-+-++-+ | 2.1 | eng1 | OK | Not OK | | 2.2 | eng1,eng2 | OK | Not OK | | 2.3 | eng1,eng2,eng3 | OK | Not OK | | 2.4 | memory:option | Not OK | Not OK | | 2.5 | memory:option,eng1 | Not OK | Not OK | | 2.6 | eng1,memory:option | Not OK | Not OK | | 2.7 | memory:option,eng1,eng2 | Crash | Not OK | | 2.8 | eng1,memory:option,eng2 | Not OK | Not OK | | 2.9 | eng1,eng2,memory:option | Not OK | Not OK | +-+-++-+ After my final patch, mysqlslap now runs like this: +---++-+ | | single | replication | +---++-+ | After third patch | +---++-+ | --engine[1] | +-+-++-+ | 1.1 | eng1 | OK | OK | | 1.2 | eng1,eng2 | OK | OK | | 1.3 | eng1,eng2,eng3 | OK | OK | | 1.4 | memory:option | OK | OK | | 1.5 | memory:option,eng1 | OK | OK | | 1.6 | eng1,memory:option | OK | OK | | 1.7 | memory:option,eng1,eng2 | OK | OK | | 1.8 | eng1,memory:option,eng2 | OK | OK | | 1.9 | eng1,eng2,memory:option | OK | OK | +-+-++-+ +---++-+ | --create --engine[2] | +-+-++-+ | 2.1 | eng1 | OK | OK | | 2.2 | eng1,eng2 | OK | OK | | 2.3 | eng1,eng2,eng3 | OK | OK | | 2.4 | memory:option | OK | OK | | 2.5 | memory:option,eng1 | OK | OK | | 2.6 | eng1,memory:option | OK
Re: [Maria-developers] Rev 2731: Fix for in file:///Users/hakan/work/monty_program/maria-debug/
Hello Sanja, On 15.09.2009, at 13:21, Oleksandr Byelkin wrote: Hi! This patch is big progress over previous one. Thank you! But still there are things which should be fixed. See my comments in the code. What I have not found in the patch is correct description of the option (in --help text) as we discussed in on IRC. I lost that part, I will update the --help text now. 15 сент. 2009, в 08:03, Hakan Kuecuekyilmaz написал(а): [skip] === modified file 'client/mysqlslap.c' --- a/client/mysqlslap.c2009-04-25 10:05:32 + +++ b/client/mysqlslap.c2009-09-15 05:00:24 + @@ -423,6 +423,10 @@ stats *sptr; conclusions conclusion; unsigned long long client_limit; + DYNAMIC_STRING table_string; + statement *ddl_with_engine; + + init_dynamic_string(table_string, , 1024, 1024); In general any non-literal constant like above (1024) is bad idea. But you do not need this code at all. Engine should be added in: if (engine_stmt engine_stmt-option ptr-type == CREATE_TABLE_TYPE) ... So the question is why it is not work or why you need this code at all? It is needed for the --create --engine case, when the user supplies a DDL with --create and the engines he wants to test with --engine. I moved down the init_dynamic_string() to the if () where it is actually used head_sptr= (stats *)my_malloc(sizeof(stats) * iterations, MYF(MY_ZEROFILL|MY_FAE|MY_WME)); @@ -448,8 +452,39 @@ /* First we create */ if (create_statements) - create_schema(mysql, create_schema_string, create_statements, eptr); - +{ + /* +In case of user supplied DDL and engine, we add the engine +type to the DDL here. + */ + if (create_string eptr) + { +dynstr_append(table_string, create_statements-string); +dynstr_append(table_string, Engine = ); +dynstr_append(table_string, eptr-string); + +if (eptr-option) +{ + dynstr_append(table_string, ); + dynstr_append(table_string, eptr-option); +} + +ddl_with_engine= (statement *) my_malloc(sizeof(statement), + MYF(MY_ZEROFILL| MY_FAE|MY_WME)); +ddl_with_engine-string= (char *) my_malloc(table_string.length + 1, + MYF(MY_ZEROFILL|MY_FAE|MY_WME)); +ddl_with_engine-length= table_string.length + 1; +ddl_with_engine-type= create_statements-type; +strmov(ddl_with_engine-string, table_string.str); +ddl_with_engine-next= create_statements-next; + +dynstr_free(table_string); + +create_schema(mysql, create_schema_string, ddl_with_engine, eptr); + } + else +create_schema(mysql, create_schema_string, create_statements, eptr); +} /* If we generated GUID we need to build a list of them from creation that we can later use. @@ -773,7 +808,7 @@ static statement * build_table_string(void) { - char buf[HUGE_STRING_LENGTH]; + char buf[HUGE_STRING_LENGTH]= ; Why you need this initialization everywhere if you overwrite it late in snprintf Co ? I don't really need them. They are removed now. [cut] - if (engine_stmt) - { -len= snprintf(query, HUGE_STRING_LENGTH, set storage_engine=` %s`, - engine_stmt-string); -if (run_query(mysql, query, len)) -{ - fprintf(stderr,%s: Cannot set default engine: %s\n, my_progname, - mysql_error(mysql)); - exit(1); -} - } - it would better to rollback previous patch or merge this one with previous (we do not need incorrect patches pile up one over another, I mean clear history) I am creating a new patch after each review. Is that what you mean and want me to do? [cut] Thanks, Hakan -- Hakan Küçükyılmaz, QA/Benchmark Engineer, Stuttgart/Germany Monty Program Ab, http://askmonty.org/ Skype: hakank_ Phone: +49 171 1919839 ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 2720: Fix for in file:///Users/hakan/work/monty_program/maria/
At file:///Users/hakan/work/monty_program/maria/ revno: 2720 revision-id: ha...@askmonty.org-20090902214617-5aljfm0c229hzdpu parent: kniel...@knielsen-hq.org-20090805072137-wg97dcem1cxnzt3p committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria timestamp: Wed 2009-09-02 23:46:17 +0200 message: Fix for mysqlslap: setting --engine does not get replicated http://bugs.mysql.com/bug.php?id=46967 Problem was that a set storage_engine = storage_engine is not replicated. Fixed by adding an explicit Engine = storage_engine to the build_table_string() function. Open question: Should MySQL's replication actually replicate the set storage_engine command or not? Answer: no it should not (documented). === modified file 'client/mysqlslap.c' --- a/client/mysqlslap.c2009-04-25 10:05:32 + +++ b/client/mysqlslap.c2009-09-02 21:46:17 + @@ -880,6 +880,12 @@ } dynstr_append(table_string, )); + + if (default_engine) { +dynstr_append(table_string, Engine = ); +dynstr_append(table_string, default_engine); + } + ptr= (statement *)my_malloc(sizeof(statement), MYF(MY_ZEROFILL|MY_FAE|MY_WME)); ptr-string = (char *)my_malloc(table_string.length+1, ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 2720: Fix for in file:///Users/hakan/work/monty_program/maria/
At file:///Users/hakan/work/monty_program/maria/ revno: 2720 revision-id: ha...@askmonty.org-20090831212214-wg9fwhgnhx1ly6w2 parent: kniel...@knielsen-hq.org-20090805072137-wg97dcem1cxnzt3p committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria timestamp: Mon 2009-08-31 23:22:14 +0200 message: Fix for mysqlslap: setting --engine does not get replicated http://bugs.mysql.com/bug.php?id=46967 Problem was that a set storage_engine = storage_engine is not replicated. Fixed by adding an explicit Engine = storage_engine to the build_table_string() function. Open question: Should MySQL's replication actually replicate the set storage_engine command or not? === modified file 'client/mysqlslap.c' --- a/client/mysqlslap.c2009-04-25 10:05:32 + +++ b/client/mysqlslap.c2009-08-31 21:22:14 + @@ -880,6 +880,12 @@ } dynstr_append(table_string, )); + + if (default_engine) { +dynstr_append(table_string, Engine = ); +dynstr_append(table_string, default_engine); + } + ptr= (statement *)my_malloc(sizeof(statement), MYF(MY_ZEROFILL|MY_FAE|MY_WME)); ptr-string = (char *)my_malloc(table_string.length+1, ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Rev 2720: Fix for in file:///Users/hakan/work/monty_program/maria/
At file:///Users/hakan/work/monty_program/maria/ revno: 2720 revision-id: ha...@askmonty.org-20090831214839-gsh1r8mnkrdyzc38 parent: kniel...@knielsen-hq.org-20090805072137-wg97dcem1cxnzt3p committer: Hakan Kuecuekyilmaz ha...@askmonty.org branch nick: maria timestamp: Mon 2009-08-31 23:48:39 +0200 message: Fix for mysqlslap: setting --engine does not get replicated http://bugs.mysql.com/bug.php?id=46967 Problem was that a set storage_engine = storage_engine is not replicated. Fixed by adding an explicit Engine = storage_engine to the build_table_string() function. Open question: Should MySQL's replication actually replicate the set storage_engine command or not? === modified file 'client/mysqlslap.c' --- a/client/mysqlslap.c2009-04-25 10:05:32 + +++ b/client/mysqlslap.c2009-08-31 21:48:39 + @@ -880,6 +880,12 @@ } dynstr_append(table_string, )); + + if (default_engine) { +dynstr_append(table_string, Engine = ); +dynstr_append(table_string, default_engine); + } + ptr= (statement *)my_malloc(sizeof(statement), MYF(MY_ZEROFILL|MY_FAE|MY_WME)); ptr-string = (char *)my_malloc(table_string.length+1, ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp