Giter Site home page Giter Site logo

facebookarchive / webscalesql-5.6 Goto Github PK

View Code? Open in Web Editor NEW
2.9K 470.0 359.0 293.47 MB

WebScaleSQL, Version 5.6, based upon the MySQL-5.6 community releases.

License: GNU General Public License v2.0

Shell 0.65% CMake 0.68% PHP 0.34% C 31.40% C++ 58.56% Perl 2.61% R 0.04% Objective-C 0.64% Pascal 0.11% Groff 0.08% Python 0.10% SQLPL 0.05% Visual Basic 0.01% DTrace 0.02% Makefile 0.12% PLpgSQL 0.12% Java 4.30% HTML 0.08% GAP 0.09% Awk 0.01%

webscalesql-5.6's Introduction

MySQL Server 5.6

This is a release of MySQL, a dual-license SQL database server.
For the avoidance of doubt, this particular copy of the software 
is released under the version 2 of the GNU General Public License. 
MySQL is brought to you by Oracle.

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

License information can be found in the COPYING file.

MySQL FOSS License Exception
We want free and open source software applications under certain
licenses to be able to use specified GPL-licensed MySQL client
libraries despite the fact that not all such FOSS licenses are
compatible with version 2 of the GNU General Public License.  
Therefore there are special exceptions to the terms and conditions 
of the GPLv2 as applied to these client libraries, which are 
identified and described in more detail in the FOSS License 
Exception at 
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.

This distribution may include materials developed by third
parties. For license and attribution notices for these
materials, please refer to the documentation that accompanies
this distribution (see the "Licenses for Third-Party Components"
appendix) or view the online documentation at 
<http://dev.mysql.com/doc/>.

GPLv2 Disclaimer
For the avoidance of doubt, except that if any license choice
other than GPL or LGPL is available it will apply instead, 
Oracle elects to use only the General Public License version 2 
(GPLv2) at this time for any software where a choice of GPL 
license versions is made available with the language indicating 
that GPLv2 or any later version may be used, or where a choice 
of which version of the GPL is applied is otherwise unspecified.

For further information about MySQL or additional documentation, 
see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some Reference Manual sections of special interest:
- If you are migrating from an older version of MySQL, please 
  read the "Upgrading from..." section.
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading
  chapter.
- For the new features/bugfix history, see the MySQL Change History 
  appendix.

You can browse the MySQL Reference Manual online or download it 
in any of several formats at the URL given earlier in this file.
Source distributions include a local copy of the manual in the
Docs directory.

webscalesql-5.6's People

Contributors

agopi avatar alfranio avatar bjornmu avatar bkandasa avatar blaudden avatar frazerclement avatar gkodinov avatar glebshchepa avatar gopshank avatar gurusami avatar harinvadodaria avatar hramilison avatar jhauglid avatar karenlang avatar kboortz avatar marcalff avatar mithuncy avatar mydanny avatar nacarvalho avatar nryeng avatar phulakun avatar roylyseng avatar satya461 avatar snarkedi avatar steaphangreene avatar stewartsmith avatar thayumanavar77 avatar thirunarayanan avatar vaintroub avatar vasild avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webscalesql-5.6's Issues

An innodb_stress test failure may result in gigabyte-sized logs

If a test in innodb_stress suite fails for any reason, it will cause a standard replication MTR test dump of master/slave statuses, and binlog events. The latter is unlimited, and innodb_stress tests are large, thus the dump can be easily in gigabytes. Oracle MySQL should be affected as well.

A fix would be to limit mysql-test/include/show_rpl_debug_info.inc SHOW BINLOG/RELAYLOG EVENTS to show the last X events, where X could be picked so that it still covers non-innodb_stress tests well (maybe 200 or so).

An example of such logs is at http://jenkins.percona.com/job/WebScaleSQL-param/27/BUILD_TYPE=release,Host=webscaletest/consoleText:

innodb_stress.innodb_stress_lra w4 [ fail ]
Test ended at 2015-08-08 06:37:47

CURRENT_TEST: innodb_stress.innodb_stress_lra
=== SHOW MASTER STATUS ===
...
*** SHOW BINLOG EVENTS on default ****
binlog_name = 'master-bin.000002'
SHOW BINLOG EVENTS IN 'master-bin.000002';
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 4 Format_desc 1 120 Server ver: 5.6.25-log, Binlog ver: 4
.... megabytes here ...
master-bin.000002 3057638 Xid 1 3057669 COMMIT /* xid=23421 /
...
*
* SHOW BINARY LOGS on default ****
SHOW BINARY LOGS;
Log_name File_size
slave-bin.000001 385800766

**** SHOW BINLOG EVENTS on default ****
binlog_name = 'slave-bin.000001'
SHOW BINLOG EVENTS IN 'slave-bin.000001';
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 4 Format_desc 2 120 Server ver: 5.6.25-log, Binlog ver: 4
... gigabytes here....

mysql_com.h uses C_MODE_START/C_MODE_END without including a definition

  • This is provided by my_global.h - however, mysql_com.h doesn't include it
  • Including my_global.h isn't required with standard MySQL, so shouldn't be here
  • my_global.h isn't a friendly thing to include in user code - eg redefining int32. This conflicts with common libraries eg glog/gflags

Replacing C_MODE_START with with:

#ifdef __cplusplus
extern "C" {
#endif

and C_MODE_END with:

#ifdef __cplusplus
} // extern "C"
#endif

fixes the problem, but is duplication.

cmake version 2.8.7 Compile error,need for helps,ths

Linking C static library libmysys.a
[ 17%] Built target mysys
Scanning dependencies of target dbug
[ 17%] Building C object dbug/CMakeFiles/dbug.dir/dbug.c.o
Linking C static library libdbug.a
[ 17%] Built target dbug
Scanning dependencies of target mysys_ssl
[ 18%] Building CXX object mysys_ssl/CMakeFiles/mysys_ssl.dir/crypt_genhash_impl.cc.o
cc1plus: error: unrecognized command line option "-std=c++11"
make[2]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/crypt_genhash_impl.cc.o] Error 1
make[1]: *** [mysys_ssl/CMakeFiles/mysys_ssl.dir/all] Error 2
make: *** [all] Error 2

webscalesqlclient cannot connect to mysql db on OSX

Running the following script from php.net with hhvm master on Mac, I get Warning: mysql_connect(): Lost connection to MySQL server at 'reading authorization packet', system error: 35 in mysql.php on line 2.

<?php
$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);

This is a temporary fix after basic debugging:

diff --git a/sql-common/client.c b/sql-common/client.c
index 23b8fbe..89ec6ef 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -3798,6 +3798,7 @@ authsm_read_change_user_result(mysql_authsm_context *ctx)
         DBUG_RETURN(STATE_MACHINE_WOULD_BLOCK);
       }
     } else {
+      usleep(50);
       ctx->pkt_length= (*mysql->methods->read_change_user_result)(mysql);
     }
   }

Link to the same issue in the hhvm project: facebook/hhvm#5558.

libedit/readline compatibility

When try to pass tests readline, webscalesql-5.6 falls

readline version
homebrew readline: stable 6.3.8
build log
third-party/webscalesqlclient/CMakeFiles/webscalesqlclient.dir/build
-- Running cmake version 3.2.3
-- Found Git: /usr/local/bin/git (found version "2.4.4")
-- The C compiler identification is Clang 3.6.1
-- The CXX compiler identification is Clang 3.6.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void *
-- Check size of void * - done
-- MySQL 5.6.24
-- Packaging as: mysql-5.6.24-osx10.11-x86_64
-- Performing Test HAVE_LLVM_LIBCPP
-- Performing Test HAVE_LLVM_LIBCPP - Success
-- Looking for floor
-- Looking for floor - found
-- Looking for __infinity
-- Looking for __infinity - not found
-- Looking for __infinity in m
-- Looking for __infinity in m - not found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - not found
-- Looking for gethostbyname_r in nsl_r
-- Looking for gethostbyname_r in nsl_r - not found
-- Looking for gethostbyname_r in nsl
-- Looking for gethostbyname_r in nsl - not found
-- Looking for bind
-- Looking for bind - found
-- Looking for crypt
-- Looking for crypt - found
-- Looking for setsockopt
-- Looking for setsockopt - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for sched_yield
-- Looking for sched_yield - found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for timer_create
-- Looking for timer_create - not found
-- Looking for timer_create in rt
-- Looking for timer_create in rt - not found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Looking for 4 include files stdlib.h, ..., float.h
-- Looking for 4 include files stdlib.h, ..., float.h - found
-- Looking for include file alloca.h
-- Looking for include file alloca.h - found
-- Looking for include file aio.h
-- Looking for include file aio.h - found
-- Looking for include file arpa/inet.h
-- Looking for include file arpa/inet.h - found
-- Looking for include file crypt.h
-- Looking for include file crypt.h - not found
-- Looking for include file cxxabi.h
-- Looking for include file cxxabi.h - not found
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Looking for include file execinfo.h
-- Looking for include file execinfo.h - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file fenv.h
-- Looking for include file fenv.h - found
-- Looking for include file float.h
-- Looking for include file float.h - found
-- Looking for include file floatingpoint.h
-- Looking for include file floatingpoint.h - not found
-- Looking for include file fpu_control.h
-- Looking for include file fpu_control.h - not found
-- Looking for include file grp.h
-- Looking for include file grp.h - found
-- Looking for include file ieeefp.h
-- Looking for include file ieeefp.h - not found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file langinfo.h
-- Looking for include file langinfo.h - found
-- Looking for include file limits.h
-- Looking for include file limits.h - found
-- Looking for include file locale.h
-- Looking for include file locale.h - found
-- Looking for include file malloc.h
-- Looking for include file malloc.h - not found
-- Looking for include file memory.h
-- Looking for include file memory.h - found
-- Looking for include file ndir.h
-- Looking for include file ndir.h - not found
-- Looking for include file netinet/in.h
-- Looking for include file netinet/in.h - found
-- Looking for include file paths.h
-- Looking for include file paths.h - found
-- Looking for include file port.h
-- Looking for include file port.h - not found
-- Looking for include file poll.h
-- Looking for include file poll.h - found
-- Looking for include file pwd.h
-- Looking for include file pwd.h - found
-- Looking for include file sched.h
-- Looking for include file sched.h - found
-- Looking for include file select.h
-- Looking for include file select.h - not found
-- Looking for include file semaphore.h
-- Looking for include file semaphore.h - found
-- Looking for include files sys/types.h, sys/dir.h
-- Looking for include files sys/types.h, sys/dir.h - found
-- Looking for include file sys/ndir.h
-- Looking for include file sys/ndir.h - not found
-- Looking for include file sys/pte.h
-- Looking for include file sys/pte.h - not found
-- Looking for include file stdlib.h
-- Looking for include file stdlib.h - found
-- Looking for include file strings.h
-- Looking for include file strings.h - found
-- Looking for include file string.h
-- Looking for include file string.h - found
-- Looking for include file synch.h
-- Looking for include file synch.h - not found
-- Looking for include file sysent.h
-- Looking for include file sysent.h - not found
-- Looking for include file sys/cdefs.h
-- Looking for include file sys/cdefs.h - found
-- Looking for include file sys/file.h
-- Looking for include file sys/file.h - found
-- Looking for include file sys/fpu.h
-- Looking for include file sys/fpu.h - not found
-- Looking for include file sys/ioctl.h
-- Looking for include file sys/ioctl.h - found
-- Looking for include file sys/ipc.h
-- Looking for include file sys/ipc.h - found
-- Looking for include file sys/malloc.h
-- Looking for include file sys/malloc.h - found
-- Looking for include file sys/mman.h
-- Looking for include file sys/mman.h - found
-- Looking for include file sys/prctl.h
-- Looking for include file sys/prctl.h - not found
-- Looking for include file sys/resource.h
-- Looking for include file sys/resource.h - found
-- Looking for include file sys/select.h
-- Looking for include file sys/select.h - found
-- Looking for include file sys/shm.h
-- Looking for include file sys/shm.h - found
-- Looking for include file sys/socket.h
-- Looking for include file sys/socket.h - found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/stream.h
-- Looking for include file sys/stream.h - not found
-- Looking for include file sys/termcap.h
-- Looking for include file sys/termcap.h - not found
-- Looking for include files time.h, sys/timeb.h
-- Looking for include files time.h, sys/timeb.h - found
-- Looking for include files curses.h, term.h
-- Looking for include files curses.h, term.h - found
-- Looking for include file asm/termbits.h
-- Looking for include file asm/termbits.h - not found
-- Looking for include file termbits.h
-- Looking for include file termbits.h - not found
-- Looking for include file termios.h
-- Looking for include file termios.h - found
-- Looking for include file termio.h
-- Looking for include file termio.h - not found
-- Looking for include file termcap.h
-- Looking for include file termcap.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file utime.h
-- Looking for include file utime.h - found
-- Looking for include file varargs.h
-- Looking for include file varargs.h - not found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - found
-- Looking for include file sys/utime.h
-- Looking for include file sys/utime.h - not found
-- Looking for include file sys/wait.h
-- Looking for include file sys/wait.h - found
-- Looking for include file sys/param.h
-- Looking for include file sys/param.h - found
-- Looking for include file sys/vadvise.h
-- Looking for include file sys/vadvise.h - found
-- Looking for include file fnmatch.h
-- Looking for include file fnmatch.h - found
-- Looking for include file stdarg.h
-- Looking for include file stdarg.h - found
-- Looking for include files stdlib.h, sys/un.h
-- Looking for include files stdlib.h, sys/un.h - found
-- Looking for include file vis.h
-- Looking for include file vis.h - found
-- Looking for include file wchar.h
-- Looking for include file wchar.h - found
-- Looking for include file wctype.h
-- Looking for include file wctype.h - found
-- Looking for include file sasl/sasl.h
-- Looking for include file sasl/sasl.h - found
-- Looking for include file sys/devpoll.h
-- Looking for include file sys/devpoll.h - not found
-- Looking for include file signal.h
-- Looking for include file signal.h - found
-- Looking for include file sys/devpoll.h
-- Looking for include file sys/devpoll.h - not found
-- Looking for include file sys/epoll.h
-- Looking for include file sys/epoll.h - not found
-- Looking for include file sys/event.h
-- Looking for include file sys/event.h - found
-- Looking for include file sys/queue.h
-- Looking for include file sys/queue.h - found
-- Looking for TAILQ_FOREACH
-- Looking for TAILQ_FOREACH - found
-- Looking for include file sys/ptem.h
-- Looking for include file sys/ptem.h - not found
-- Performing Test HAVE_WERROR_FLAG
-- Performing Test HAVE_WERROR_FLAG - Failed
-- Performing Test HAVE_PTHREAD_ONCE_INIT
-- Performing Test HAVE_PTHREAD_ONCE_INIT - Success
-- Looking for _aligned_malloc
-- Looking for _aligned_malloc - not found
-- Looking for _aligned_free
-- Looking for _aligned_free - not found
-- Looking for aio_read
-- Looking for aio_read - found
-- Looking for alarm
-- Looking for alarm - found
-- Looking for backtrace
-- Looking for backtrace - found
-- Looking for backtrace_symbols
-- Looking for backtrace_symbols - found
-- Looking for backtrace_symbols_fd
-- Looking for backtrace_symbols_fd - found
-- Looking for printstack
-- Looking for printstack - not found
-- Looking for bmove
-- Looking for bmove - not found
-- Looking for bsearch
-- Looking for bsearch - found
-- Looking for index
-- Looking for index - found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Looking for cuserid
-- Looking for cuserid - not found
-- Looking for directio
-- Looking for directio - not found
-- Looking for _doprnt
-- Looking for _doprnt - not found
-- Looking for flockfile
-- Looking for flockfile - found
-- Looking for ftruncate
-- Looking for ftruncate - found
-- Looking for getline
-- Looking for getline - found
-- Looking for compress
-- Looking for compress - not found
-- Looking for crypt
-- Looking for crypt - found
-- Looking for dlerror
-- Looking for dlerror - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for fchmod
-- Looking for fchmod - found
-- Looking for fcntl
-- Looking for fcntl - found
-- Looking for fconvert
-- Looking for fconvert - not found
-- Looking for fdatasync
-- Looking for fdatasync - found
-- Looking for fdatasync
-- Looking for fdatasync - not found
-- Looking for fedisableexcept
-- Looking for fedisableexcept - not found
-- Looking for fpsetmask
-- Looking for fpsetmask - not found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for fsync
-- Looking for fsync - found
-- Looking for getcwd
-- Looking for getcwd - found
-- Looking for gethostbyaddr_r
-- Looking for gethostbyaddr_r - not found
-- Looking for gethrtime
-- Looking for gethrtime - not found
-- Looking for getnameinfo
-- Looking for getnameinfo - found
-- Looking for getpass
-- Looking for getpass - found
-- Looking for getpassphrase
-- Looking for getpassphrase - not found
-- Looking for getpwnam
-- Looking for getpwnam - found
-- Looking for getpwuid
-- Looking for getpwuid - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for getwd
-- Looking for getwd - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for initgroups
-- Looking for initgroups - found
-- Looking for issetugid
-- Looking for issetugid - found
-- Looking for getuid
-- Looking for getuid - found
-- Looking for geteuid
-- Looking for geteuid - found
-- Looking for getgid
-- Looking for getgid - found
-- Looking for getegid
-- Looking for getegid - found
-- Looking for ldiv
-- Looking for ldiv - found
-- Looking for localtime_r
-- Looking for localtime_r - found
-- Looking for longjmp
-- Looking for longjmp - found
-- Looking for lstat
-- Looking for lstat - found
-- Looking for madvise
-- Looking for madvise - found
-- Looking for malloc_info
-- Looking for malloc_info - not found
-- Looking for memcpy
-- Looking for memcpy - found
-- Looking for memmove
-- Looking for memmove - found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mlock
-- Looking for mlock - found
-- Looking for mlockall
-- Looking for mlockall - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for mmap64
-- Looking for mmap64 - not found
-- Looking for perror
-- Looking for perror - found
-- Looking for poll
-- Looking for poll - found
-- Looking for port_create
-- Looking for port_create - not found
-- Looking for posix_fallocate
-- Looking for posix_fallocate - not found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for pread
-- Looking for pread - found
-- Looking for pthread_attr_create
-- Looking for pthread_attr_create - not found
-- Looking for pthread_attr_getguardsize
-- Looking for pthread_attr_getguardsize - found
-- Looking for pthread_attr_getstacksize
-- Looking for pthread_attr_getstacksize - found
-- Looking for pthread_attr_setscope
-- Looking for pthread_attr_setscope - found
-- Looking for pthread_attr_setstacksize
-- Looking for pthread_attr_setstacksize - found
-- Looking for pthread_condattr_create
-- Looking for pthread_condattr_create - not found
-- Looking for pthread_condattr_setclock
-- Looking for pthread_condattr_setclock - not found
-- Looking for pthread_key_delete
-- Looking for pthread_key_delete - found
-- Looking for pthread_rwlock_rdlock
-- Looking for pthread_rwlock_rdlock - found
-- Looking for pthread_sigmask
-- Looking for pthread_sigmask - found
-- Looking for pthread_threadmask
-- Looking for pthread_threadmask - not found
-- Looking for pthread_yield_np
-- Looking for pthread_yield_np - found
-- Looking for putenv
-- Looking for putenv - found
-- Looking for readdir_r
-- Looking for readdir_r - found
-- Looking for readlink
-- Looking for readlink - found
-- Looking for re_comp
-- Looking for re_comp - not found
-- Looking for regcomp
-- Looking for regcomp - found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for rename
-- Looking for rename - found
-- Looking for rwlock_init
-- Looking for rwlock_init - not found
-- Looking for sched_yield
-- Looking for sched_yield - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for setlocale
-- Looking for setlocale - found
-- Looking for setfd
-- Looking for setfd - not found
-- Looking for sigaction
-- Looking for sigaction - found
-- Looking for sigthreadmask
-- Looking for sigthreadmask - not found
-- Looking for sigwait
-- Looking for sigwait - found
-- Looking for sigaddset
-- Looking for sigemptyset
-- Looking for sigemptyset - found
-- Looking for sighold
-- Looking for sighold - found
-- Looking for sigset
-- Looking for sigset - found
-- Looking for sleep
-- Looking for snprintf
-- Looking for snprintf - found
-- Looking for stpcpy
-- Looking for stpcpy - found
-- Looking for strcoll
-- Looking for strcoll - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strlcpy
-- Looking for strlcpy - found
-- Looking for strnlen
-- Looking for strnlen - found
-- Looking for strlcat
-- Looking for strlcat - found
-- Looking for strsignal
-- Looking for strsignal - found
-- Looking for fgetln
-- Looking for fgetln - found
-- Looking for strpbrk
-- Looking for strpbrk - found
-- Looking for strsep
-- Looking for strsep - found
-- Looking for strstr
-- Looking for strstr - found
-- Looking for strtok_r
-- Looking for strtok_r - found
-- Looking for strtol
-- Looking for strtol - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoul
-- Looking for strtoul - found
-- Looking for strtoull
-- Looking for strtoull - found
-- Looking for strcasecmp
-- Looking for strcasecmp - found
-- Looking for strncasecmp
-- Looking for strncasecmp - found
-- Looking for strdup
-- Looking for strdup - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for shmctl
-- Looking for shmctl - found
-- Looking for shmdt
-- Looking for shmdt - found
-- Looking for shmget
-- Looking for shmget - found
-- Looking for tell
-- Looking for tell - not found
-- Looking for tempnam
-- Looking for tempnam - found
-- Looking for thr_setconcurrency
-- Looking for thr_setconcurrency - not found
-- Looking for thr_yield
-- Looking for thr_yield - not found
-- Looking for vasprintf
-- Looking for vasprintf - found
-- Looking for vsnprintf
-- Looking for vsnprintf - found
-- Looking for vprintf
-- Looking for vprintf - found
-- Looking for valloc
-- Looking for valloc - found
-- Looking for memalign
-- Looking for memalign - not found
-- Looking for chown
-- Looking for chown - found
-- Looking for nl_langinfo
-- Looking for nl_langinfo - found
-- Looking for ntohll
-- Looking for ntohll - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Looking for epoll_create
-- Looking for epoll_create - not found
-- Looking for epoll_ctl
-- Looking for epoll_ctl - not found
-- Looking for inet_ntop
-- Looking for inet_ntop - found
-- Looking for kqueue
-- Looking for kqueue - found
-- Looking for kqueue
-- Looking for kqueue - found
-- Looking for signal
-- Looking for signal - found
-- Looking for timeradd
-- Looking for timeradd - found
-- Looking for timerclear
-- Looking for timerclear - found
-- Looking for timercmp
-- Looking for timercmp - found
-- Looking for timerisset
-- Looking for timerisset - found
-- Looking for timer_create
-- Looking for timer_create - not found
-- Looking for timer_settime
-- Looking for timer_settime - not found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file sys/times.h
-- Looking for include file sys/times.h - found
-- Looking for include file asm/msr.h
-- Looking for include file asm/msr.h - not found
-- Looking for include file ia64intrin.h
-- Looking for include file ia64intrin.h - not found
-- Looking for times
-- Looking for times - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for read_real_time
-- Looking for read_real_time - not found
-- Looking for ftime
-- Looking for time
-- Looking for time - found
-- Looking for rdtscll
-- Looking for rdtscll - not found
-- Looking for madvise
-- Looking for madvise - found
-- Looking for tzname
-- Looking for tzname - found
-- Looking for lrand48
-- Looking for lrand48 - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for TIOCGWINSZ
-- Looking for TIOCGWINSZ - found
-- Looking for FIONREAD
-- Looking for FIONREAD - found
-- Looking for TIOCSTAT
-- Looking for TIOCSTAT - found
-- Looking for FIONREAD
-- Looking for FIONREAD - found
-- Looking for SIGEV_THREAD_ID
-- Looking for SIGEV_THREAD_ID - not found
-- Looking for SIGEV_PORT
-- Looking for SIGEV_PORT - not found
-- Looking for EVFILT_TIMER
-- Looking for EVFILT_TIMER - found
-- Looking for finite
-- Looking for finite - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for rint
-- Looking for rint - found
-- Performing Test HAVE_ISINF
-- Performing Test HAVE_ISINF - Success
-- Performing Test HAVE_FESETROUND
-- Performing Test HAVE_FESETROUND - Success
-- Check size of sigset_t
-- Check size of sigset_t - done
-- Check size of mode_t
-- Check size of mode_t - done
-- Check size of char
-- Check size of char - done
-- Check size of short
-- Check size of short - done
-- Check size of int
-- Check size of int - done
-- Check size of long long
-- Check size of long long - done
-- Check size of off_t
-- Check size of off_t - done
-- Check size of uchar
-- Check size of uchar - failed
-- Check size of uint
-- Check size of uint - done
-- Check size of ulong
-- Check size of ulong - failed
-- Check size of int8
-- Check size of int8 - failed
-- Check size of uint8
-- Check size of uint8 - failed
-- Check size of int16
-- Check size of int16 - failed
-- Check size of uint16
-- Check size of uint16 - failed
-- Check size of int32
-- Check size of int32 - failed
-- Check size of uint32
-- Check size of uint32 - failed
-- Check size of u_int32_t
-- Check size of u_int32_t - done
-- Check size of int64
-- Check size of int64 - failed
-- Check size of uint64
-- Check size of uint64 - failed
-- Check size of time_t
-- Check size of time_t - done
-- Check size of bool
-- Check size of bool - failed
-- Check size of socklen_t
-- Check size of socklen_t - done
-- Performing Test TIME_T_UNSIGNED
-- Performing Test TIME_T_UNSIGNED - Failed
-- Performing Test HAVE_GETADDRINFO
-- Performing Test HAVE_GETADDRINFO - Success
-- Performing Test HAVE_SELECT
-- Performing Test HAVE_SELECT - Success
-- Performing Test HAVE_TIMESPEC_TS_SEC
-- Performing Test HAVE_TIMESPEC_TS_SEC - Failed
-- Performing Test QSORT_TYPE_IS_VOID
-- Performing Test QSORT_TYPE_IS_VOID - Success
-- Performing Test HAVE_SOCKET_SIZE_T_AS_socklen_t
-- Performing Test HAVE_SOCKET_SIZE_T_AS_socklen_t - Success
-- Performing Test HAVE_PTHREAD_YIELD_ZERO_ARG
-- Performing Test HAVE_PTHREAD_YIELD_ZERO_ARG - Failed
-- Checking stack direction : -1
-- Performing Test SIGNAL_RETURN_TYPE_IS_VOID
-- Performing Test SIGNAL_RETURN_TYPE_IS_VOID - Success
-- Looking for include files time.h, sys/time.h
-- Looking for include files time.h, sys/time.h - found
-- Looking for O_NONBLOCK
-- Looking for O_NONBLOCK - found
-- Performing Test C_HAS_inline
-- Performing Test C_HAS_inline - Success
-- Performing Test HAVE_PAUSE_INSTRUCTION
-- Performing Test HAVE_PAUSE_INSTRUCTION - Success
-- Looking for tcgetattr
-- Looking for tcgetattr - found
-- Performing Test HAVE_POSIX_SIGNALS
-- Performing Test HAVE_POSIX_SIGNALS - Success
-- Performing Test HAVE_BSS_START
-- Performing Test HAVE_BSS_START - Failed
-- Performing Test HAVE_WEAK_SYMBOL
-- Performing Test HAVE_WEAK_SYMBOL - Success
-- Performing Test HAVE_SOLARIS_STYLE_GETHOST
-- Performing Test HAVE_SOLARIS_STYLE_GETHOST - Failed
-- Performing Test HAVE_GCC_ATOMIC_BUILTINS
-- Performing Test HAVE_GCC_ATOMIC_BUILTINS - Success
-- Looking for netinet/in6.h
-- Looking for netinet/in6.h - not found
-- Check size of struct sockaddr_in6
-- Check size of struct sockaddr_in6 - done
-- Check size of struct in6_addr
-- Check size of struct in6_addr - done
-- Performing Test HAVE_SOCKADDR_STORAGE_SS_FAMILY
-- Performing Test HAVE_SOCKADDR_STORAGE_SS_FAMILY - Success
-- Performing Test HAVE_SOCKADDR_IN_SIN_LEN
-- Performing Test HAVE_SOCKADDR_IN_SIN_LEN - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_LEN
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_LEN - Success
-- Performing Test STRUCT_DIRENT_HAS_D_INO
-- Performing Test STRUCT_DIRENT_HAS_D_INO - Success
-- Performing Test STRUCT_DIRENT_HAS_D_NAMLEN
-- Performing Test STRUCT_DIRENT_HAS_D_NAMLEN - Success
-- Check size of mbstate_t
-- Check size of mbstate_t - done
-- Performing Test HAVE_LANGINFO_CODESET
-- Performing Test HAVE_LANGINFO_CODESET - Success
-- Looking for mbrlen
-- Looking for mbrlen - found
-- Looking for mbscmp
-- Looking for mbscmp - not found
-- Looking for mbsrtowcs
-- Looking for mbsrtowcs - found
-- Looking for wcrtomb
-- Looking for wcrtomb - found
-- Looking for mbrtowc
-- Looking for mbrtowc - found
-- Looking for wcscoll
-- Looking for wcscoll - found
-- Looking for wcsdup
-- Looking for wcsdup - found
-- Looking for wcwidth
-- Looking for wcwidth - found
-- Looking for wctype
-- Looking for wctype - found
-- Looking for iswlower
-- Looking for iswlower - found
-- Looking for iswupper
-- Looking for iswupper - found
-- Looking for towlower
-- Looking for towlower - found
-- Looking for towupper
-- Looking for towupper - found
-- Looking for iswctype
-- Looking for iswctype - found
-- Check size of wchar_t
-- Check size of wchar_t - done
-- Check size of wctype_t
-- Check size of wctype_t - done
-- Check size of wint_t
-- Check size of wint_t - done
-- Found Curses: /usr/lib/libcurses.dylib
-- Looking for 3 include files stdio.h, ..., readline/history.h
-- Looking for 3 include files stdio.h, ..., readline/history.h - found
-- Performing Test edit_HAVE_HIST_ENTRY
-- Performing Test edit_HAVE_HIST_ENTRY - Success
-- Performing Test edit_USE_LIBEDIT_INTERFACE
-- Performing Test edit_USE_LIBEDIT_INTERFACE - Failed
-- Performing Test edit_USE_NEW_READLINE_INTERFACE
-- Performing Test edit_USE_NEW_READLINE_INTERFACE - Failed
CMake Error at cmake/readline.cmake:183 (MESSAGE):
  Cannot use libreadline!
Call Stack (most recent call first):
  cmake/readline.cmake:194 (FIND_SYSTEM_LIBEDIT)
  CMakeLists.txt:397 (MYSQL_CHECK_READLINE)


-- Configuring incomplete, errors occurred!
edit_USE_NEW_READLINE_INTERFACE
$ cat > readline_tests.cxx
#include <stdio.h>
#include <readline/readline.h>
int main(int argc, char **argv)
{
  rl_completion_func_t *func1= (rl_completion_func_t*)0;
  rl_compentry_func_t *func2= (rl_compentry_func_t*)0;
}

$ c++ readline_tests.cxx -o readline_tests -lreadline \
 -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include/readline \
 -L/usr/local/lib

webscalesql-5.6 Truck Factor

As part of my PhD research on code authorship, we calculated the Truck Factor (TF) of some popular GitHub repositories.

As you probably know, the Truck (or Bus) Factor designates the minimal number of developers that have to be hit by a truck (or quit) before a project is incapacitated. In our work, we consider that a system is in trouble if more than 50% of its files become orphan (i.e., without a main author).

More details on our work in this preprint: https://peerj.com/preprints/1233

We calculated the TF for webscalesql-5.6 and obtained a value of 11.

The developers responsible for this TF are:

Murthy Narkedimilli - author of 21% of the files
magnus@neptunus.(none) - author of 16% of the files
Bernd Ocklin - author of 13% of the files
[email protected] - author of 8% of the files
Kent Boortz - author of 7% of the files
Jimmy Yang - author of 6% of the files
Marc Alff - author of 5% of the files
Jonas Oreland - author of 4% of the files
Satya B - author of 3% of the files
[email protected] - author of 3% of the files
[email protected] - author of 3% of the files

To validate our results, we would like to ask webscalesql-5.6 developers the following three brief questions:

(a) Do you agree that the listed developers are the main developers of webscalesql-5.6?

(b) Do you agree that webscalesql-5.6 will be in trouble if the listed developers leave the project (e.g., if they win in the lottery, to be less morbid)?

(c) Does webscalesql-5.6 have some characteristics that would attenuate the loss of the listed developers (e.g., detailed documentation)?

Thanks in advance for your collaboration,

Guilherme Avelino
PhD Student
Applied Software Engineering Group (ASERG)
UFMG, Brazil
http://aserg.labsoft.dcc.ufmg.br/

mysqld doesn't completely shutdown

Run
$/data/users/maykov/mysql/build-5.6-Debug/sql/mysqld --help --verbose

You will see:

Error in my_thread_global_end(): 1 threads didn't exit

I reproed this in Myrocks branch, but Just told me this also exists in Webscale. Justin was able to bisect this problem to a7ed5a7

-DENABLE_DOWNLOADS=1 -DWITH_PERFORMANCE_SCHEMA=ON results in a test build failure

Adding -DENABLE_DOWNLOADS=1 -DWITH_PERFORMANCE_SCHEMA=ON to cmake option results in

Linking CXX executable merge_small_tests-t
../../mysys/libmysys.a(posix_timers.c.o): In function `start_helper_thread':
/home/laurynas/mysql-server/mysys/posix_timers.c:112: undefined reference to `key_thread_timer_notifier'
collect2: error: ld returned 1 exit status
unittest/gunit/CMakeFiles/merge_small_tests-t.dir/build.make:102: recipe for target 'unittest/gunit/merge_small_tests-t' failed
make[2]: *** [unittest/gunit/merge_small_tests-t] Error 1
CMakeFiles/Makefile2:3892: recipe for target 'unittest/gunit/CMakeFiles/merge_small_tests-t.dir/all' failed
make[1]: *** [unittest/gunit/CMakeFiles/merge_small_tests-t.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
make: *** [all] Error 2

main.max_statement_time test not stable on loaded machines, upstream fixes should be backported

For example, an ASan build (which is slower but the test is not skipped, unlike with Valgrind) may fail with:

main.max_statement_time                  w4 [ fail ]
        Test ended at 2015-08-19 23:52:08

CURRENT_TEST: main.max_statement_time
mysqltest: At line 498: query 'SELECT 1 AS STATUS FROM INFORMATION_SCHEMA.GLOBAL_STATUS
WHERE VARIABLE_NAME = 'Qcache_hits'
        AND CONVERT(VARIABLE_VALUE, UNSIGNED) > @qc_hits' failed: 1886: Query execution was interrupted, max_statement_time exceeded

This particular failure could be avoided by resetting max_statement_time for INFORMATION_SCHEMA queries, which shouldn't be subject to timeouts here.

This has been fixed in upstream at 4a4f248. It also has at least one other stability fix (before the feature implementation diverged): a53f8bd. Still the current upstream test case (for the diverged implementation) has at least one instability bug report open: http://bugs.mysql.com/bug.php?id=77959

install on ubuntu 14.04 error

150701 06:02:02 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
2015-07-01 06:02:02 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
2015-07-01 06:02:02 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-07-01 06:02:02 6596 [ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
2015-07-01 06:02:02 6596 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
2015-07-01 06:02:02 6596 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/mysql/bin/mysqld: Unknown error 1146
2015-07-01 06:02:02 6596 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2015-07-01 06:02:02 6596 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-07-01 06:02:02 6596 [Note] InnoDB: The InnoDB memory heap is disabled
2015-07-01 06:02:02 6596 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-07-01 06:02:02 6596 [Note] InnoDB: Memory barrier is not used
2015-07-01 06:02:02 6596 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-07-01 06:02:02 6596 [Note] InnoDB: Using CPU crc32 instructions
2015-07-01 06:02:02 6596 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-07-01 06:02:02 6596 [Note] InnoDB: Completed initialization of buffer pool
2015-07-01 06:02:02 6596 [Note] InnoDB: Highest supported file format is Barracuda.
2015-07-01 06:02:02 6596 [Note] InnoDB: 128 rollback segment(s) are active.
2015-07-01 06:02:02 6596 [Note] InnoDB: Waiting for purge to start
2015-07-01 06:02:02 6596 [Note] InnoDB: 5.6.23 started; log sequence number 1600627
2015-07-01 06:02:02 6596 [ERROR] Aborting

2015-07-01 06:02:02 6596 [Note] Binlog end
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'partition'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'rpl_semi_sync_slave'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'rpl_semi_sync_master'
2015-07-01 06:02:02 6596 [Note] unregister_replicator OK
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'ARCHIVE'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_METRICS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_CMPMEM'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_CMP'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_LOCKS'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'INNODB_TRX'
2015-07-01 06:02:02 6596 [Note] Shutting down plugin 'InnoDB'
2015-07-01 06:02:02 6596 [Note] InnoDB: FTS optimize thread exiting.
2015-07-01 06:02:02 6596 [Note] InnoDB: Starting shutdown...
2015-07-01 06:02:05 6596 [Note] InnoDB: Shutdown completed; log sequence number 1600637
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'BLACKHOLE'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'MRG_MYISAM'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'MEMORY'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'CSV'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'MyISAM'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'sha256_password'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'mysql_old_password'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'mysql_native_password'
2015-07-01 06:02:05 6596 [Note] Shutting down plugin 'binlog'
2015-07-01 06:02:05 6596 [Note]
Error in my_thread_global_end(): 1 threads didn't exit
150701 06:02:10 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

cmake error

after running build #./BUILD/compile-pentium --prefix=/var/lib/mysql
Linux localhost.localdomain 3.14.0-0.rc7.git0.1.fc21.i686 #1 SMP Mon Mar 17 14:09:52 UTC 2014 i686 i686 i386 GNU/Linux
$ rpm -qa |grep bison
bison-3.0.2-1.fc21.i686
$ rpm -qa |grep cmake
cmake-3.0.0-0.5.rc3.fc21.i686
]$ rpm -qa |grep gcc
libgcc-4.8.2-14.fc21.i686
gcc-c++-4.8.2-14.fc21.i686

gcc-4.8.2-14.fc21.i686

Fedora release 21 (Rawhide)
NAME=Fedora
VERSION="21 (Rawhide)"
ID=fedora
VERSION_ID=21
PRETTY_NAME="Fedora 21 (Rawhide)"
===================[part of error output in console]==============
/* nothing / { Lex->xa_opt=XA_NONE; }
^
/home/niemi/webscale56/sql/sql_yacc.yy:31:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/niemi/webscale56/sql/sql_yacc.yy:39:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/niemi/webscale56/sql/sql_yacc.yy:16547:7: note: in expansion of macro ‘Lex’
| ONE_SYM PHASE_SYM { Lex->xa_opt=XA_ONE_PHASE; }
^
/home/niemi/webscale56/sql/sql_yacc.yy:31:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/niemi/webscale56/sql/sql_yacc.yy:39:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/niemi/webscale56/sql/sql_yacc.yy:16552:7: note: in expansion of macro ‘Lex’
{ Lex->xa_opt=XA_NONE; }
^
/home/niemi/webscale56/sql/sql_yacc.yy:31:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/niemi/webscale56/sql/sql_yacc.yy:39:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/niemi/webscale56/sql/sql_yacc.yy:16554:7: note: in expansion of macro ‘Lex’
{ Lex->xa_opt=XA_SUSPEND; }
^
/home/niemi/webscale56/sql/sql_yacc.yy:31:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/niemi/webscale56/sql/sql_yacc.yy:39:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/niemi/webscale56/sql/sql_yacc.yy:16560:7: note: in expansion of macro ‘Lex’
| FOR_SYM MIGRATE_SYM { Lex->xa_opt=XA_FOR_MIGRATE; }
^
/home/niemi/webscale56/sql/sql_yacc.yy:31:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/niemi/webscale56/sql/sql_yacc.yy:39:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/niemi/webscale56/sql/sql_yacc.yy:16566:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
/home/niemi/webscale56/sql/sql_yacc.yy:31:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/niemi/webscale56/sql/sql_yacc.yy:39:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/niemi/webscale56/sql/sql_yacc.yy:16576:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
make[2]: *
* [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2

A thread running SHOW PROCESSLIST shows Status "cleaning up" rather than "init" (mysql 5.6)

While maybe not an issue I notice that if I run SHOW PROCESSLIST the thread that runs the query shows it is in State "Cleaning up". MySQL shows "init". If this is known and expected that's fine: it would be good to know that.

root@webscalesql56 [(none)]> pager grep root
PAGER set to 'grep root'
root@webscalesql56 [(none)]> show processlist;
| 2644 | root        | localhost                                     | NULL               | Query   |    0 | cleaning up                      | show processlist                                                                                     |
4 rows in set (0.00 sec)
root@mysql56 [(none)]> pager grep root
PAGER set to 'grep root'
root@mysql56 [(none)]> show processlist;
| 28256365 | root            | localhost                                  | NULL  | Query            |      0 | init                                                                  | show processlist                                                                                     |
208 rows in set (0.00 sec)

Seen on a box running CentOS 6, using my rpm build script: https://github.com/sjmudd/webscalesql-rpm/, but all this does is package the source tree as a normal rpm.

$ rpm -q webscalesql-server
webscalesql-server-5.6-0.20140327.145247.rhel6.x86_64

I can't see the webscalesql engine from database??why??

I use I use the following parameters to compile my webscalesql-5.6.17:

cmake -DCMAKE_INSTALL_PREFIX=/data/webscalesoft \

-DMYSQL_UNIX_ADDR=/data/webscalesoft/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_WEBSCALESQL_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/data/webscaledb
-DMYSQL_TCP_PORT=3307
-DENABLE_DOWNLOADS=1
-DCMAKE_BUILD_TYPE=Debug

make && make install

mysql -uroot -p -P 3307 -S /data/webscalesoft/mysql.sock

Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.17-log Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

mysql>

but I can't still see the webscalesql engine?? I want to kown why the wescalesql engine is Appear??

innodb_cmp_per_index test failure with --innodb-log-compressed-pages=1 --innodb-compression-level=9

Looks like https://reviews.facebook.net/D42825 might have caused a regression elsewhere:

$ ./mtr --debug-server --mysqld=--innodb-log-compressed-pages=1 --mysqld=--innodb-compression-level=9 innodb_cmp_per_index
...
innodb_zip.innodb_cmp_per_index [ fail ]
Test ended at 2015-08-07 11:06:05

CURRENT_TEST: innodb_zip.innodb_cmp_per_index
--- /home/laurynas/mysql-server/mysql-test/suite/innodb_zip/r/innodb_cmp_per_index.result 2015-08-03 17:27:52.407005534 +0300
+++ /home/laurynas/obj-webscalesql-5.6.24-debug/mysql-test/var/log/innodb_cmp_per_index.reject 2015-08-07 11:06:04.476792982 +0300
@@ -64,8 +64,8 @@
database_name test
table_name t
index_name PRIMARY
-compress_ops 47
-compress_ops_ok 47
+compress_ops 65
+compress_ops_ok 65
uncompress_ops 0
database_name unknown
table_name unknown

mysqltest: Result content mismatch

Can't complete full build WITHOUT_SERVER: cannot find -lsemisync_slave_client

  • Ubuntu 14.04 x86_64
  • Cmake 2.8.12.2
$ cmake . -DWITHOUT_SERVER=on
...
$ make -j32
...
Linking CXX executable mysqlbinlog
/usr/bin/ld: cannot find -lsemisync_slave_client
collect2: error: ld returned 1 exit status
make[2]: *** [client/mysqlbinlog] Error 1
make[1]: *** [client/CMakeFiles/mysqlbinlog.dir/all] Error 2
make: *** [all] Error 2

I've temporarily worked around this for my needs with 'make -j32 -C libmysql'

Segmentation fault in webscalesqlclient

Hi,

we pushed a server in production, and we get systematically this segfault at this point after few minutes enabled.

The query send to mysql is a simple select count.

Type: Erreur de segmentation
Runtime: hhvm
Version: tags/HHVM-3.7.2-0-gfc9f29b2799933d8215faaadfa83de722df64e26
DebuggerCount: 0

Server: www.dailymotion.com
ThreadType: Web Request
Server_SERVER_NAME: dailymotion.com
URL: /us

#0  mysql_stmt_result_metadata at /tmp/tmp.w8x3hNtMiU/third-party/webscalesqlclient/webscalesql-5.6/libmysql/libmysql.c:1828
#1  HPHP::MySQLStmt::result_metadata() at /usr/bin/hhvm:0
#2  HPHP::c_mysqli_stmt_ni_result_metadata(HPHP::ObjectData*) at ext_mysqli.cpp:0
#3  void HPHP::Native::callFunc<false, false>(HPHP::Func const*, void*, HPHP::TypedValue*, HPHP::TypedValue&) at /usr/bin/hhvm:0
#4  HPHP::TypedValue* HPHP::Native::methodWrapper<false, false>(HPHP::ActRec*) at /usr/bin/hhvm:0
#5  HPHP::jit::x64::(anonymous namespace)::BackEnd::enterTCHelper(unsigned char*, HPHP::ActRec*) at back-end-x64.cpp:0
#6  HPHP::jit::MCGenerator::enterTC(unsigned char*, HPHP::ActRec*) at /usr/bin/hhvm:0
#7  HPHP::enterVM(HPHP::ActRec*, HPHP::StackArgsState, HPHP::Resumable*, HPHP::ObjectData*) at bytecode.cpp:0
#8  HPHP::ExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Variant const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::ExecutionContext::InvokeFlags) at /usr/bin/hhvm:0
#9  HPHP::ExecutionContext::invokeUnit(HPHP::TypedValue*, HPHP::Unit const*) at /usr/bin/hhvm:0
#10 HPHP::invoke_file(HPHP::String const&, bool, char const*) at builtin-functions.cpp:0
#11 HPHP::include_impl_invoke(HPHP::String const&, bool, char const*) at /usr/bin/hhvm:0
#12 HPHP::hphp_invoke(HPHP::ExecutionContext*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, HPHP::Array const&, HPHP::VRefParamValue const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool, bool, bool) at /usr/bin/hhvm:0
#13 HPHP::HttpRequestHandler::executePHPRequest(HPHP::Transport*, HPHP::RequestURI&, HPHP::SourceRootInfo&, bool) at /usr/bin/hhvm:0
#14 HPHP::HttpRequestHandler::handleRequest(HPHP::Transport*) at /usr/bin/hhvm:0
#15 HPHP::ServerWorker<std::shared_ptr<HPHP::FastCGIJob>, HPHP::FastCGITransportTraits>::doJobImpl(std::shared_ptr<HPHP::FastCGIJob>, bool) at /usr/bin/hhvm:0
#16 HPHP::ServerWorker<std::shared_ptr<HPHP::FastCGIJob>, HPHP::FastCGITransportTraits>::doJob(std::shared_ptr<HPHP::FastCGIJob>) at /usr/bin/hhvm:0
#17 HPHP::JobQueueWorker<std::shared_ptr<HPHP::FastCGIJob>, HPHP::Server*, true, false, HPHP::JobQueueDropVMStack>::start() at /usr/bin/hhvm:0
#18 HPHP::AsyncFuncImpl::ThreadFunc(void*) at /usr/bin/hhvm:0
#19 HPHP::start_routine_wrapper(void*) at /usr/bin/hhvm:0
#20 start_thread at /lib/x86_64-linux-gnu/libpthread.so.0:0
#21 clone at /lib/x86_64-linux-gnu/libc.so.6:0

PHP Stacktrace:

#0  mysqli_stmt->result_metadata()
#1  mysqli_stmt->store_result() called at [:202]
#2  SomeClass->execute(Array) called at [:384]
#3  SomeClass->query(SELECT COUNT(table.table_id) FROM `table`  WHERE table.status=1 AND table.status_toto=0 AND table.status_tata=0 AND table.status_titi=0 AND table.status_tyty=0 AND table.status_blabla=0 AND table.status_gugu = 1 AND table.user_id=?, Array) called at [:953]

Compilation failure caused by missing libedit-dev

When compiling WebScaleSQL 5.6.23 on Ubuntu 14.04.1 LTS, I got this error:

[ 67%] Building CXX object client/CMakeFiles/mysql.dir/mysql.cc.o
/home/vagrant/webscalesql/client/mysql.cc:1102:16: error: redefinition of ‘struct _hist_entry’
 typedef struct _hist_entry {
                ^
In file included from /home/vagrant/webscalesql/client/mysql.cc:101:0:
/usr/include/readline/history.h:47:16: error: previous definition of ‘struct _hist_entry’
 typedef struct _hist_entry {
                ^
/home/vagrant/webscalesql/client/mysql.cc:1105:13: error: invalid type in declaration before ‘;’ token
 } HIST_ENTRY; 
             ^
/home/vagrant/webscalesql/client/mysql.cc:1105:13: error: conflicting declaration ‘typedef int HIST_ENTRY’
In file included from /home/vagrant/webscalesql/client/mysql.cc:101:0:
/usr/include/readline/history.h:51:3: error: ‘HIST_ENTRY’ has a previous declaration as ‘typedef struct _hist_entry HIST_ENTRY’
 } HIST_ENTRY;
   ^
make[2]: *** [client/CMakeFiles/mysql.dir/mysql.cc.o] Error 1
make[1]: *** [client/CMakeFiles/mysql.dir/all] Error 2
make: *** [all] Error 2

I fixed it by installing the libedit-dev package.

Enum Empty Issues

Hi i have encountered some issues pertaining in MYsql export then importing it to WEbscale it seems that if the Datafield is Enum and the value has '' it doesn't load up everything it fails to import all db instead it only uploads the db which is no issues. Have you encounter this issues? Please advise. sorry for bad english

Build error

I got the following errors during build.
Centos 7
x86_64

sql/net_serv.cc:547:29: error: 'len' was not declared in this scope
       MYSQL_NET_WRITE_START(len);
                             ^
include/probes_mysql_dtrace.h:526:1: error: template argument 1 is invalid
 DTRACE_PROBE1(mysql,net__write__start,arg1)
 ^

super read only does not prevent DROP TRIGGER

Super read only patch at 73fe122 does not enforce the option on DROP TRIGGER, that is, a SUPER user can drop them regardless of the option value.

Fix is easy, the SRO handling pattern has to be added mysql_create_or_drop_trigger.

While at that, the MTR in the patch is missing some SRO tests implemented in the code: for multi-table update, START TRANSACTION READ WRITE, and CREATE TRIGGER.

Why webscalesql other than google spanner?

I know this place is for issue not for question,but I couldn't found a email or other contact methods~Forgive me^-^
It seems google has F1、spanner such "newsql" products,having very good scalibility,so why do you create webscalesql?

Gitignore file very incomplete

  • out of tree builds don't appear to be supported (can't find mysql_version.h)
  • makesfiles, cmake files, .o, .a, .... everything shows up in 'git status' afterwards

Binary MySQL protocol

Hi,

when Ulf Wendel implemented mysqlnd in PHP 5.3, he published a simple patch for MySQL to make the server send the data typed. This experiment - unfortunately, he took it offline - resulted in a few % of bandwidth reduction, but more importantly in a lot of freed CPU cycles on both sides.

Wouldn't it be a good idea to bring this low hanging fruit into HHVM and MySQL/WebscaleSQL? It would be nice, if this thing would land in Percona Server and maybe the official MySQL tree as well.

Robert

P.S.: I posted this suggestion on the HHVM bug tracker already and was asked to file it here.
facebook/hhvm#3487

innodb_doublewrite may leave a dangling mysqld process with locked ibdata

Tested with 5.6.24 on Ubuntu 15.04:

$ ./mtr --debug-server innodb_doublewrite
...
innodb.innodb_doublewrite [ fail ] Found warnings/errors in server log file!
Test ended at 2015-08-04 14:34:18
line
2015-08-04 14:34:16 16651 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
^ Found warnings in /home/laurynas/obj-webscalesql-5.6.24-debug/mysql-test/var/log/mysqld.1.err
ok
...

$ ps aux | grep [m]ysqld
laurynas 16627 0.5 1.9 1213860 39248 pts/1 Sl 14:33 0:01 /home/laurynas/obj-webscalesql-5.6.24-debug/sql/mysqld-debug --defaults-group-suffix=.1 --defaults-file=/home/laurynas/obj-webscalesql-5.6.24-debug/mysql-test/var/my.cnf --log_error=/home/laurynas/obj-webscalesql-5.6.24-debug/mysql-test/var/tmp/innodb_corrupt_doublewrite-1.log

The --log_error part shows this to be a mysqld started by innodb_corrupt_doublewrite_pages.py. Inspecting the log and attaching with gdb shows the server waiting for incoming connections. But it has clobbered the datadir, causing subsequent tests in the same MTR run to fail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.