From: Bjorn Munch Date: January 18 2012 1:43pm Subject: bzr push into mysql-5.5-cluster-7.2 branch (bjorn.munch:3764 to 3766) List-Archive: http://lists.mysql.com/commits/142477 Message-Id: <201201181343.q0IDh6mJ025055@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3766 Bjorn Munch 2012-01-18 Removed trailing spaces from memcached additions to MTR modified: mysql-test/mysql-test-run.pl 3765 Bjorn Munch 2012-01-18 [merge] Merge changes from 7.2.2 release branch modified: cmake/build_configurations/mysql_release.cmake configure.cmake extra/innochecksum.c storage/ndb/memcache/src/schedulers/S_sched.cc 3764 Bjorn Munch 2012-01-18 Patches supplied for 7.2.4 release modified: INSTALL-SOURCE INSTALL-WIN-SOURCE cmake/make_dist.cmake.in cmake/mysql_version.cmake cmake/package_name.cmake libmysqld/CMakeLists.txt man/CMakeLists.txt support-files/CMakeLists.txt support-files/mysql.spec.sh === modified file 'cmake/build_configurations/mysql_release.cmake' --- a/cmake/build_configurations/mysql_release.cmake 2011-07-04 12:27:08 +0000 +++ b/cmake/build_configurations/mysql_release.cmake 2011-11-25 12:33:54 +0000 @@ -31,10 +31,10 @@ ENDIF() SET(FEATURE_SET "community" CACHE STRING " Selection of features. Options are - xsmall : - - small: embedded - - classic: embedded + archive + federated + blackhole - - large : embedded + archive + federated + blackhole + innodb - - xlarge: embedded + archive + federated + blackhole + innodb + partition + - small: + - classic: archive + federated + blackhole + - large : archive + federated + blackhole + innodb + - xlarge: archive + federated + blackhole + innodb + partition - community: all features (currently == xlarge) " ) @@ -59,9 +59,6 @@ IF(FEATURE_SET) SET(WITH_NONE ON) ENDIF() - IF(num GREATER FEATURE_SET_xsmall) - SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "") - ENDIF() IF(num GREATER FEATURE_SET_small) SET(WITH_ARCHIVE_STORAGE_ENGINE ON) SET(WITH_BLACKHOLE_STORAGE_ENGINE ON) === modified file 'configure.cmake' --- a/configure.cmake 2011-10-05 08:56:12 +0000 +++ b/configure.cmake 2011-11-15 20:24:52 +0000 @@ -24,6 +24,11 @@ INCLUDE (CheckCCompilerFlag) INCLUDE (CheckCSourceRuns) INCLUDE (CheckSymbolExists) +# Turn on c99 mode when compiling with Sun Studio +IF("${CMAKE_C_COMPILER_ID}" STREQUAL "SunPro") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -xc99") + MESSAGE("-- Running ${CMAKE_C_COMPILER_ID} in c99 mode") +ENDIF() # WITH_PIC options.Not of much use, PIC is taken care of on platforms # where it makes sense anyway. @@ -1009,6 +1014,45 @@ ELSEIF(NOT WITH_ATOMIC_OPS) return 0; }" HAVE_GCC_ATOMIC_BUILTINS) + IF(NOT HAVE_GCC_ATOMIC_BUILTINS) + # Try if atomics become available once we instruct gcc + # to generate pentium+ instructions. + SET(SAVE_C_FLAGS "${CMAKE_C_FLAGS}") + SET(SAVE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=pentium") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=pentium") + CHECK_CXX_SOURCE_COMPILES(" + int main() + { + int foo= -10; int bar= 10; + long long int foo64= -10; long long int bar64= 10; + if (!__sync_fetch_and_add(&foo, bar) || foo) + return -1; + bar= __sync_lock_test_and_set(&foo, bar); + if (bar || foo != 10) + return -1; + bar= __sync_val_compare_and_swap(&bar, foo, 15); + if (bar) + return -1; + if (!__sync_fetch_and_add(&foo64, bar64) || foo64) + return -1; + bar64= __sync_lock_test_and_set(&foo64, bar64); + if (bar64 || foo64 != 10) + return -1; + bar64= __sync_val_compare_and_swap(&bar64, foo, 15); + if (bar64) + return -1; + return 0; + }" + HAVE_GCC_ATOMIC_BUILTINS_WITH_MARCH_PENTIUM) + IF(HAVE_GCC_ATOMIC_BUILTINS_WITH_MARCH_PENTIUM) + SET(HAVE_GCC_ATOMIC_BUILTINS 1) + MESSAGE("-- Using -march=pentium to enable atomic builtins") + ELSE() + SET(CMAKE_C_FLAGS "${SAVE_C_FLAGS}") + SET(CMAKE_CXX_FLAGS "${SAVE_CXX_FLAGS}") + ENDIF() + ENDIF() ELSE() MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!") ENDIF() === modified file 'extra/innochecksum.c' --- a/extra/innochecksum.c 2011-11-21 09:30:56 +0000 +++ b/extra/innochecksum.c 2012-01-18 13:34:35 +0000 @@ -25,6 +25,9 @@ */ #include + +#define _XOPEN_SOURCE 600 /* needed to include getopt.h on some platforms. */ + #include #include #include === modified file 'mysql-test/mysql-test-run.pl' --- a/mysql-test/mysql-test-run.pl 2012-01-14 00:52:10 +0000 +++ b/mysql-test/mysql-test-run.pl 2012-01-18 13:38:23 +0000 @@ -3050,23 +3050,23 @@ sub ndbd_start { sub memcached_start { my ($cluster, $memcached, $port_number) = @_; - - mtr_verbose("memcached_start"); - - my $found_perl_source = my_find_file($basedir, + + mtr_verbose("memcached_start"); + + my $found_perl_source = my_find_file($basedir, ["storage/ndb/memcache", # source "mysql-test/lib", # install - "share/mysql-test/lib"], # install + "share/mysql-test/lib"], # install "memcached_path.pl", NOT_REQUIRED); - + my $found_so = my_find_file($bindir, ["storage/ndb/memcache/", # source or build "lib", "lib64"], # install - "ndb_engine.so", NOT_REQUIRED); + "ndb_engine.so", NOT_REQUIRED); mtr_verbose("Found memcache script: $found_perl_source"); mtr_verbose("Found memcache plugin: $found_so"); - + my $mgm_host; my $mgm_port; foreach my $mgmd ( in_cluster($cluster, ndb_mgmds()) ) { @@ -3076,15 +3076,15 @@ sub memcached_start { } my $ndb_opt_string = "connectstring=$mgm_host:$mgm_port"; my $options = $memcached->value("options"); - if($options) { + if($options) { $ndb_opt_string = $ndb_opt_string . ";" . $options; } $found_perl_source ne "" or return; - $found_so ne "" or mtr_error("Failed to find ndb_engine.so"); + $found_so ne "" or mtr_error("Failed to find ndb_engine.so"); require "$found_perl_source"; - if(! memcached_is_available()) + if(! memcached_is_available()) { mtr_error("Memcached not available."); } @@ -3095,7 +3095,7 @@ sub memcached_start { ["libexec", "sbin", "bin", "storage/ndb/memcache/extra/memcached"], "memcached", NOT_REQUIRED); } - else + else { $exe = get_memcached_exe_path(); } @@ -3108,16 +3108,16 @@ sub memcached_start { mtr_add_arg($args, "-c"); mtr_add_arg($args,"100"); # max 100 connections mtr_add_arg($args, "-E"); - mtr_add_arg($args, $found_so); # /path/ndb_engine.so - mtr_add_arg($args, "-e"); + mtr_add_arg($args, $found_so); # /path/ndb_engine.so + mtr_add_arg($args, "-e"); mtr_add_arg($args, "$ndb_opt_string"); if($opt_gdb) { gdb_arguments(\$args, \$exe, "memcached"); } - - my $proc = My::SafeProcess->new + + my $proc = My::SafeProcess->new ( name => "memcached", path => $exe, args => \$args, @@ -3126,16 +3126,16 @@ sub memcached_start { append => 1, ); mtr_verbose("Started $proc"); - + $memcached->{proc} = $proc; - - return; + + return; } sub memcached_load_metadata($) { my $cluster= shift; - + my $sql_script= my_find_file($bindir, ["share/mysql/memcache-api", # RPM install "share/memcache-api", # Other installs @@ -3149,9 +3149,9 @@ sub memcached_load_metadata($) { return; } } - + mtr_verbose("memcached_load_metadata: $sql_script"); - + if (-f $sql_script ) { my $args; @@ -3159,7 +3159,7 @@ sub memcached_load_metadata($) { mtr_add_arg($args, "--defaults-file=%s", $path_config_file); mtr_add_arg($args, "--defaults-group-suffix=%s", $cluster->suffix()); mtr_add_arg($args, "--connect-timeout=20"); - + mtr_verbose("Script: $sql_script"); if ( My::SafeProcess->run( name => "ndbmemcache config loader", @@ -3170,7 +3170,7 @@ sub memcached_load_metadata($) { error => "$opt_vardir/log/memcache_config.log" ) != 0) { - mtr_error("Could not load ndb_memcache_metadata.sql file"); + mtr_error("Could not load ndb_memcache_metadata.sql file"); } } } @@ -5582,19 +5582,19 @@ sub start_servers($) { return 1; } } - + # Start memcached if needed - foreach my $cluster (clusters()) + foreach my $cluster (clusters()) { - if(memcacheds()) + if(memcacheds()) { # In theory maybe you could run the memcached tests with the embedded # server, but for now we skip it. - if($opt_embedded_server) + if($opt_embedded_server) { mtr_error("Cannot run memcached tests with the embedded server."); } - + my $avail_port = $memcached_base_port; my $memcached; memcached_load_metadata($cluster); @@ -5602,7 +5602,7 @@ sub start_servers($) { # Start them foreach $memcached( in_cluster($cluster, memcacheds()) ) { - if(! started($memcached)) + if(! started($memcached)) { memcached_start($cluster, $memcached, $avail_port); } === modified file 'storage/ndb/memcache/src/schedulers/S_sched.cc' --- a/storage/ndb/memcache/src/schedulers/S_sched.cc 2012-01-14 00:52:10 +0000 +++ b/storage/ndb/memcache/src/schedulers/S_sched.cc 2012-01-18 13:34:35 +0000 @@ -834,6 +834,7 @@ void * S::Connection::run_ndb_send_threa timeout_msec = timeout_min; /* we are now "busy" */ } } + return 0; /* not reached */ } @@ -920,7 +921,6 @@ void * S::Connection::run_ndb_poll_threa } } return 0; /* not reached */ - return 0; /* not reached */ } No bundle (reason: useless for push emails).