Hello community, here is the log from the commit of package sysbench for openSUSE:Factory checked in at 2019-08-29 17:26:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sysbench (Old) and /work/SRC/openSUSE:Factory/.sysbench.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysbench" Thu Aug 29 17:26:16 2019 rev:23 rq:726877 version:1.0.17 Changes: -------- --- /work/SRC/openSUSE:Factory/sysbench/sysbench.changes 2019-04-09 20:19:29.889908854 +0200 +++ /work/SRC/openSUSE:Factory/.sysbench.new.7948/sysbench.changes 2019-08-29 17:26:19.087279515 +0200 @@ -1,0 +2,11 @@ +Wed Aug 28 06:27:01 UTC 2019 - Martin Pluskal <[email protected]> + +- Update to version 1.0.1: + * regression tests: remove unnecessary error leading to + opt_rate.t instability. + * --rate mode: return a non-zero exit code on event queue + overflow. + * --rate mode: fix a bogus error about eventgen thread + termination + +------------------------------------------------------------------- Old: ---- sysbench-1.0.16.tar.gz New: ---- sysbench-1.0.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sysbench.spec ++++++ --- /var/tmp/diff_new_pack.U8baGv/_old 2019-08-29 17:26:19.815279394 +0200 +++ /var/tmp/diff_new_pack.U8baGv/_new 2019-08-29 17:26:19.819279394 +0200 @@ -17,7 +17,7 @@ Name: sysbench -Version: 1.0.16 +Version: 1.0.17 Release: 0 Summary: A MySQL benchmarking tool License: GPL-2.0-only ++++++ sysbench-1.0.16.tar.gz -> sysbench-1.0.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/ChangeLog new/sysbench-1.0.17/ChangeLog --- old/sysbench-1.0.16/ChangeLog 2018-12-16 17:42:10.000000000 +0100 +++ new/sysbench-1.0.17/ChangeLog 2019-03-15 13:16:36.000000000 +0100 @@ -1,3 +1,13 @@ +2019-03-15 Alexey Kopytov <[email protected]> + + * version 1.0.17 + * build/CI/packaging: update RPM spec to support RHEL8-beta + (thanks to Alexey Bychko for the patch) + * regression tests: remove unnecessary error leading to opt_rate.t instability. + * --rate mode: return a non-zero exit code on event queue + overflow. + * --rate mode: fix a bogus error about eventgen thread termination + 2018-12-16 Alexey Kopytov <[email protected]> * version 1.0.16 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/configure.ac new/sysbench-1.0.17/configure.ac --- old/sysbench-1.0.16/configure.ac 2018-12-16 17:42:10.000000000 +0100 +++ new/sysbench-1.0.17/configure.ac 2019-03-15 13:16:36.000000000 +0100 @@ -1,7 +1,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.63) -AC_INIT([sysbench],[1.0.16],[https://github.com/akopytov/sysbench/issues], +AC_INIT([sysbench],[1.0.17],[https://github.com/akopytov/sysbench/issues], [sysbench], [https://github.com/akopytov/sysbench]) AC_CONFIG_AUX_DIR([config]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/m4/sb_check_mysql.m4 new/sysbench-1.0.17/m4/sb_check_mysql.m4 --- old/sysbench-1.0.16/m4/sb_check_mysql.m4 2018-12-16 17:42:10.000000000 +0100 +++ new/sysbench-1.0.17/m4/sb_check_mysql.m4 2019-03-15 13:16:36.000000000 +0100 @@ -114,7 +114,24 @@ USE_MYSQL=1 AC_SUBST([MYSQL_LIBS]) AC_SUBST([MYSQL_CFLAGS]) + +AC_MSG_CHECKING([if mysql.h defines MYSQL_OPT_SSL_MODE]) + +SAVE_CFLAGS="${CFLAGS}" +CFLAGS="${CFLAGS} ${MYSQL_CFLAGS}" +AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[ +#include <mysql.h> + +enum mysql_option opt = MYSQL_OPT_SSL_MODE; + ]])], [ + AC_DEFINE([HAVE_MYSQL_OPT_SSL_MODE], 1, + [Define to 1 if mysql.h defines MYSQL_OPT_SSL_MODE]) + AC_MSG_RESULT([yes]) + ], [AC_MSG_RESULT([no])]) ]) +CFLAGS="${SAVE_CFLAGS}" + AM_CONDITIONAL([USE_MYSQL], test "x$with_mysql" != xno) AC_SUBST([USE_MYSQL]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/rpm/sysbench.spec new/sysbench-1.0.17/rpm/sysbench.spec --- old/sysbench-1.0.16/rpm/sysbench.spec 2018-12-16 17:42:10.000000000 +0100 +++ new/sysbench-1.0.17/rpm/sysbench.spec 2019-03-15 13:16:36.000000000 +0100 @@ -8,7 +8,7 @@ Source0: https://github.com/akopytov/%{name}/archive/%{version}/%{name}-%{version}.tar.gz URL: https://github.com/akopytov/sysbench/ -%if 0%{?el6} +%if 0%{?rhel} < 7 BuildRequires: mysql-devel %else BuildRequires: mariadb-devel @@ -20,7 +20,11 @@ BuildRequires: pkgconfig BuildRequires: libaio-devel # Use bundled cram for tests +%if 0%{?rhel} > 7 +BuildRequires: python2 +%else BuildRequires: python +%endif ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 @@ -74,6 +78,9 @@ %changelog +* Fri Mar 15 2019 Alexey Bychko <[email protected]> - 1.0.16-1 +- Updated build dependencies for RHEL8-Beta. + * Sat Jan 6 2018 Alexey Kopytov <[email protected]> - 1.0.12-1 - Remove vim-common from build dependencies. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/src/drivers/mysql/drv_mysql.c new/sysbench-1.0.17/src/drivers/mysql/drv_mysql.c --- old/sysbench-1.0.16/src/drivers/mysql/drv_mysql.c 2018-12-16 17:42:10.000000000 +0100 +++ new/sysbench-1.0.17/src/drivers/mysql/drv_mysql.c 2019-03-15 13:16:36.000000000 +0100 @@ -323,10 +323,10 @@ mysql_ssl_set(con, ssl_key, ssl_cert, ssl_ca, NULL, args.ssl_cipher); -#ifdef MYSQL_OPT_SSL_MODE +#ifdef HAVE_MYSQL_OPT_SSL_MODE unsigned int opt_ssl_mode = SSL_MODE_REQUIRED; - DEBUG("mysql_options(%p,%s,%u)", con, "MYSQL_OPT_SSL_MODE", opt_ssl_mode); + DEBUG("mysql_options(%p, %s, %u)", con, "MYSQL_OPT_SSL_MODE", opt_ssl_mode); mysql_options(con, MYSQL_OPT_SSL_MODE, &opt_ssl_mode); #endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/src/sysbench.c new/sysbench-1.0.17/src/sysbench.c --- old/sysbench-1.0.16/src/sysbench.c 2018-12-16 17:42:10.000000000 +0100 +++ new/sysbench-1.0.17/src/sysbench.c 2019-03-15 13:16:36.000000000 +0100 @@ -140,8 +140,6 @@ static ck_ring_buffer_t queue_ring_buffer[MAX_QUEUE_LEN] CK_CC_CACHELINE; static ck_ring_t queue_ring CK_CC_CACHELINE; -static int queue_is_full CK_CC_CACHELINE; - static int report_thread_created CK_CC_CACHELINE; static int checkpoints_thread_created; static int eventgen_thread_created; @@ -710,7 +708,7 @@ void *ptr = NULL; while (!ck_ring_dequeue_spmc(&queue_ring, queue_ring_buffer, &ptr) && - !ck_pr_load_int(&queue_is_full)) + !sb_globals.error) { pthread_mutex_lock(&queue_mutex); pthread_cond_wait(&queue_cond, &queue_mutex); @@ -729,13 +727,6 @@ } } - if (ck_pr_load_int(&queue_is_full)) - { - log_text(LOG_FATAL, "Event queue is full. Terminating the worker thread"); - - return false; - } - ck_pr_inc_int(&sb_globals.concurrency); timers[thread_id].queue_time = sb_timer_value(&sb_exec_timer) - @@ -914,10 +905,11 @@ if (ck_ring_enqueue_spmc(&queue_ring, queue_ring_buffer, &queue_array[i]) == false) { - ck_pr_store_int(&queue_is_full, 1); + sb_globals.error = 1; log_text(LOG_FATAL, "The event queue is full. This means the worker threads are " "unable to keep up with the specified event generation rate"); + pthread_cond_broadcast(&queue_cond); return NULL; } @@ -1081,9 +1073,6 @@ pthread_mutex_init(&sb_globals.exec_mutex, NULL); - - queue_is_full = 0; - sb_globals.threads_running = 0; /* Calculate the required number of threads for the start barrier */ @@ -1190,8 +1179,12 @@ if (eventgen_thread_created) { - if (sb_thread_cancel(eventgen_thread) || - sb_thread_join(eventgen_thread, NULL)) + /* + When a time limit is used, the event generation thread may terminate + itself. + */ + if ((sb_thread_cancel(eventgen_thread) || + sb_thread_join(eventgen_thread, NULL)) && sb_globals.max_time_ns == 0) log_text(LOG_FATAL, "Terminating the event generator thread failed."); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysbench-1.0.16/tests/t/opt_rate.t new/sysbench-1.0.17/tests/t/opt_rate.t --- old/sysbench-1.0.16/tests/t/opt_rate.t 1970-01-01 01:00:00.000000000 +0100 +++ new/sysbench-1.0.17/tests/t/opt_rate.t 2019-03-15 13:16:36.000000000 +0100 @@ -0,0 +1,8 @@ +######################################################################## +Tests for the --rate option (aka the limited rate mode) +######################################################################## + +# Failing to deliver the requested rate should result in a non-zero exit code + $ sysbench --rate=2000000000 cpu run --verbosity=1 + FATAL: The event queue is full. This means the worker threads are unable to keep up with the specified event generation rate + [1]
