Merge branch '2.3' of github.com:mariadb-corporation/MaxScale into 2.3

This commit is contained in:
Timofey Turenko 2019-04-23 13:46:53 +03:00
commit f8c964163f
8 changed files with 128 additions and 2 deletions

23
BUILD/install_cmake.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
# cmake
wget -q http://max-tst-01.mariadb.com/ci-repository/cmake-3.7.1-Linux-x86_64.tar.gz --no-check-certificate
if [ $? != 0 ] ; then
echo "CMake can not be downloaded from Maxscale build server, trying from cmake.org"
wget -q https://cmake.org/files/v3.7/cmake-3.7.1-Linux-x86_64.tar.gz --no-check-certificate
fi
sudo tar xzf cmake-3.7.1-Linux-x86_64.tar.gz -C /usr/ --strip-components=1
cmake_version=`cmake --version | grep "cmake version" | awk '{ print $3 }'`
if [ "`echo -e "3.7.1\n$cmake_version"|sort -V|head -n 1`" != "3.7.1" ] ; then
echo "cmake does not work! Trying to build from source"
wget -q https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz --no-check-certificate
tar xzf cmake-3.7.1.tar.gz
cd cmake-3.7.1
./bootstrap
gmake
sudo make install
cd ..
fi

View File

@ -0,0 +1,80 @@
#!/bin/bash
# Installs all build dependecies for maxscale-system-test
# Only Ubuntu Bionic/Xenial, CentOS 7, SLES 15 are supported
rp=`realpath $0`
export src_dir=`dirname $rp`
export LC_ALL=C
command -v apt-get
if [ $? == 0 ]
then
# DEB-based distro
install_libdir=/usr/lib
source /etc/os-release
echo "deb http://mirror.netinch.com/pub/mariadb/repo/10.3/ubuntu/ ${UBUNTU_CODENAME} main" > mariadb.list
sudo cp mariadb.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0xF1656F24C74CD1D8
sudo apt-get update
sudo apt-get install -y --force-yes \
git wget build-essential \
libssl-dev mariadb-client php perl \
coreutils libjansson-dev zlib1g-dev \
mariadb-test python python-pip cmake libpam0g-dev
sudo apt-get install -y --force-yes openjdk-8-jdk
if [ $? != 0 ]
then
sudo apt-get install -y --force-yes openjdk-7-jdk
fi
pip install --upgrade pip
pip install JayDeBeApi
else
## RPM-based distro
install_libdir=/usr/lib64
command -v yum
if [ $? != 0 ]
then
# We need zypper here
cat >mariadb.repo <<'EOL'
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/sles/$releasever/$basearch/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=0
EOL
sudo cp mariadb.repo /etc/zypp/repos.d/
sudo zypper -n refresh
sudo zypper -n install gcc gcc-c++ \
libopenssl-devel libgcrypt-devel MariaDB-devel MariaDB-test \
php perl coreutils libjansson-devel python python-pip \
cmake pam-devel openssl-devel python-devel libjansson-devel
sudo zypper -n install java-1_8_0-openjdk
else
# YUM!
cat >mariadb.repo <<'EOL'
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos/$releasever/$basearch/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=0
EOL
sudo cp mariadb.repo /etc/yum.repos.d/
sudo yum clean all
sudo yum install -y --nogpgcheck epel-release
sudo yum install -y --nogpgcheck git wget gcc gcc-c++ \
libgcrypt-devel \
openssl-devel mariadb-devel mariadb-test \
php perl coreutils python python-pip \
cmake pam-devel python-devel jansson-devel
sudo yum install -y --nogpgcheck java-1.8.0-openjdk
sudo yum install -y --nogpgcheck centos-release-scl
sudo yum install -y --nogpgcheck devtoolset-7-gcc*
echo "please run 'scl enable devtoolset-7 bash' to enable new gcc!!"
fi
sudo pip install --upgrade pip
sudo pip install JayDeBeApi
fi

View File

@ -1,4 +1,4 @@
# MariaDB MaxScale 2.3.6 Release Notes
# MariaDB MaxScale 2.3.6 Release Notes -- 2019-04-23
Release 2.3.6 is a GA release.

View File

@ -5,7 +5,7 @@
set(MAXSCALE_VERSION_MAJOR "2" CACHE STRING "Major version")
set(MAXSCALE_VERSION_MINOR "3" CACHE STRING "Minor version")
set(MAXSCALE_VERSION_PATCH "6" CACHE STRING "Patch version")
set(MAXSCALE_VERSION_PATCH "7" CACHE STRING "Patch version")
# This should only be incremented if a package is rebuilt
set(MAXSCALE_BUILD_NUMBER 1 CACHE STRING "Release number")

View File

@ -10,6 +10,7 @@ user=maxskysql
password= skysql
detect_stale_master=0
monitor_interval=1000
assume_unique_hostnames=false
[RW Split Router]
type=service
@ -18,6 +19,7 @@ servers=server1, server2, server3, server4
user=maxskysql
password=skysql
slave_selection_criteria=LEAST_ROUTER_CONNECTIONS
max_slave_replication_lag=1
[Read Connection Router Slave]
type=service

View File

@ -565,6 +565,7 @@ int dcb_read(DCB* dcb,
GWBUF** head,
int maxbytes)
{
mxb_assert(dcb->poll.owner == RoutingWorker::get_current());
int nsingleread = 0;
int nreadtotal = 0;
@ -904,6 +905,7 @@ static int dcb_log_errors_SSL(DCB* dcb, int ret)
*/
int dcb_write(DCB* dcb, GWBUF* queue)
{
mxb_assert(dcb->poll.owner == RoutingWorker::get_current());
dcb->writeqlen += gwbuf_length(queue);
// The following guarantees that queue is not NULL
if (!dcb_write_parameter_check(dcb, queue))
@ -3301,6 +3303,7 @@ public:
RoutingWorker& rworker = static_cast<RoutingWorker&>(worker);
if (dcb_is_still_valid(m_dcb, rworker.id()) && m_dcb->m_uid == m_uid)
{
mxb_assert(m_dcb->poll.owner == RoutingWorker::get_current());
m_dcb->fakeq = m_buffer;
dcb_handler(m_dcb, m_ev);
}
@ -3321,6 +3324,7 @@ static void poll_add_event_to_dcb(DCB* dcb, GWBUF* buf, uint32_t ev)
{
if (dcb == this_thread.current_dcb)
{
mxb_assert(dcb->poll.owner == RoutingWorker::get_current());
// If the fake event is added to the current DCB, we arrange for
// it to be handled immediately in dcb_handler() when the handling
// of the current events are done...

View File

@ -32,6 +32,8 @@ LocalClient::LocalClient(MYSQL_session* session, MySQLProtocol* proto, int fd)
, m_self_destruct(false)
{
MXB_POLL_DATA::handler = LocalClient::poll_handler;
m_protocol.owner_dcb = nullptr;
m_protocol.stored_query = nullptr;
}
LocalClient::~LocalClient()

View File

@ -12,6 +12,21 @@ then
exit 1
fi
# Prevent failures in case if Docker is not available
command -v docker
if [ $? != 0 ]
then
echo "Docker is not available, skipping the test"
exit 0
fi
command -v docker-compose
if [ $? != 0 ]
then
echo "docker-compose is not available, skipping the test"
exit 0
fi
srcdir=$1
testsrc=$2
testdir=$3