Commit ec62f46a authored by Daniel Black's avatar Daniel Black

Merge 10.5 to 10.6

parents 0da5f45a 157a838b
......@@ -16,6 +16,7 @@ set -e
# Buildbot, running the test suite from installed .debs on a clean VM.
export DEB_BUILD_OPTIONS="nocheck $DEB_BUILD_OPTIONS"
source ./VERSION
# General CI optimizations to keep build output smaller
if [[ $GITLAB_CI ]]
then
......@@ -50,25 +51,46 @@ remove_rocksdb_tools()
fi
}
architecture=$(dpkg-architecture -q DEB_BUILD_ARCH)
CODENAME="$(lsb_release -sc)"
case "${CODENAME}" in
stretch)
# MDEV-28022 libzstd-dev-1.1.3 minimum version
sed -i -e '/libzstd-dev/d' \
-e 's/libcurl4/libcurl3/g' -i debian/control
remove_rocksdb_tools
;;
bionic)
remove_rocksdb_tools
;;
stretch)
# MDEV-16525 libzstd-dev-1.1.3 minimum version
sed -e '/libzstd-dev/d' \
-e 's/libcurl4/libcurl3/g' -i debian/control
remove_rocksdb_tools
;&
buster)
;&
bullseye|bookworm)
# mariadb-plugin-rocksdb in control is 4 arches covered by the distro rocksdb-tools
# so no removal is necessary.
;&
sid)
# should always be empty here.
# need to match here to avoid the default Error however
;;
# UBUNTU
bionic)
remove_rocksdb_tools
;&
focal)
;&
impish|jammy)
# mariadb-plugin-rocksdb s390x not supported by us (yet)
# ubuntu doesn't support mips64el yet, so keep this just
# in case something changes.
if [[ ! "$architecture" =~ amd64|arm64|ppc64el|s390x ]]
then
remove_rocksdb_tools
fi
;;
*)
echo "Error - unknown release codename $CODENAME" >&2
exit 1
esac
if [[ ! "$(dpkg-architecture -q DEB_BUILD_ARCH)" =~ amd64|arm64|ppc64el|s390x ]]
then
remove_rocksdb_tools
fi
# From Debian Bullseye/Ubuntu Groovy, liburing replaces libaio
if ! apt-cache madison liburing-dev | grep 'liburing-dev' >/dev/null 2>&1
then
......@@ -89,7 +111,6 @@ fi
echo "Incrementing changelog and starting build scripts"
# Find major.minor version
source ./VERSION
UPSTREAM="${MYSQL_VERSION_MAJOR}.${MYSQL_VERSION_MINOR}.${MYSQL_VERSION_PATCH}${MYSQL_VERSION_EXTRA}"
PATCHLEVEL="+maria"
LOGSTRING="MariaDB build"
......
etc/columnstore/Columnstore.xml
etc/columnstore/ErrorMessage.txt
etc/columnstore/MessageFile.txt
etc/columnstore/storagemanager.cnf
etc/mysql/mariadb.conf.d/columnstore.cnf
usr/bin/mcsRebuildEM
usr/bin/DDLProc
usr/bin/DMLProc
usr/bin/ExeMgr
usr/bin/PrimProc
usr/bin/StorageManager
usr/bin/WriteEngineServer
usr/bin/clearShm
usr/bin/cleartablelock
usr/bin/columnstore-post-install
usr/bin/columnstore-pre-uninstall
usr/bin/columnstoreDBWrite
usr/bin/columnstoreSyslogSetup.sh
usr/bin/columnstore_run.sh
usr/bin/colxml
usr/bin/controllernode
usr/bin/cpimport
usr/bin/cpimport.bin
usr/bin/cplogger
usr/bin/cspasswd
usr/bin/cskeys
usr/bin/dbbuilder
usr/bin/dbrmctl
usr/bin/ddlcleanup
usr/bin/editem
usr/bin/idbmeminfo
usr/bin/load_brm
usr/bin/mariadb-columnstore-start.sh
usr/bin/mariadb-columnstore-stop.sh
usr/bin/mcs-savebrm.py
usr/bin/mcs-loadbrm.py
usr/bin/mcs-stop-controllernode.sh
usr/bin/mcsGetConfig
usr/bin/mcsSetConfig
usr/bin/mycnfUpgrade
usr/bin/post-mysql-install
usr/bin/post-mysqld-install
usr/bin/reset_locks
usr/bin/rollback
usr/bin/save_brm
usr/bin/smcat
usr/bin/smls
usr/bin/smput
usr/bin/smrm
usr/bin/testS3Connection
usr/bin/viewtablelock
usr/bin/workernode
usr/lib/*/libbatchloader.so
usr/lib/*/libbrm.so
usr/lib/*/libcacheutils.so
usr/lib/*/libcloudio.so
usr/lib/*/libcommon.so
usr/lib/*/libcompress.so
usr/lib/*/libconfigcpp.so
usr/lib/*/libdataconvert.so
usr/lib/*/libddlcleanuputil.so
usr/lib/*/libddlpackage.so
usr/lib/*/libddlpackageproc.so
usr/lib/*/libdmlpackage.so
usr/lib/*/libdmlpackageproc.so
usr/lib/*/libexecplan.so
usr/lib/*/libfuncexp.so
usr/lib/*/libidbdatafile.so
usr/lib/*/libjoblist.so
usr/lib/*/libjoiner.so
usr/lib/*/liblibmysql_client.so
usr/lib/*/libloggingcpp.so
usr/lib/*/libmarias3.so
usr/lib/*/libmessageqcpp.so
usr/lib/*/liboamcpp.so
usr/lib/*/libquerystats.so
usr/lib/*/libquerytele.so
usr/lib/*/libregr.so
usr/lib/*/librowgroup.so
usr/lib/*/librwlock.so
usr/lib/*/libstoragemanager.so
usr/lib/*/libthreadpool.so
usr/lib/*/libthrift.so
usr/lib/*/libudfsdk.so
usr/lib/*/libwindowfunction.so
usr/lib/*/libwriteengine.so
usr/lib/*/libwriteengineclient.so
usr/lib/*/libwriteengineredistribute.so
usr/lib/*/libdatatypes.so
usr/lib/mysql/plugin/ha_columnstore.so
usr/lib/mysql/plugin/libregr_mysql.so
usr/lib/mysql/plugin/libudf_mysql.so
usr/sbin/install_mcs_mysql.sh
usr/share/columnstore/calremoveuserpriority.sql
usr/share/columnstore/calsetuserpriority.sql
usr/share/columnstore/calshowprocesslist.sql
usr/share/columnstore/columnstoreAlias
usr/share/columnstore/columnstoreLogRotate
usr/share/columnstore/columnstoreSyslog
usr/share/columnstore/columnstoreSyslog-ng
usr/share/columnstore/columnstoreSyslog7
usr/share/columnstore/columnstore_info.sql
usr/share/columnstore/dumpcat_mysql.sql
usr/share/columnstore/gitversionEngine
usr/share/columnstore/mariadb-columnstore.service
usr/share/columnstore/mcs-controllernode.service
usr/share/columnstore/mcs-ddlproc.service
usr/share/columnstore/mcs-dmlproc.service
usr/share/columnstore/mcs-exemgr.service
usr/share/columnstore/mcs-loadbrm.service
usr/share/columnstore/mcs-primproc.service
usr/share/columnstore/mcs-storagemanager.service
usr/share/columnstore/mcs-workernode.service
usr/share/columnstore/mcs-writeengineserver.service
usr/share/columnstore/myCnf-exclude-args.text
usr/share/columnstore/myCnf-include-args.text
usr/share/columnstore/releasenum
usr/share/columnstore/syscatalog_mysql.sql
var/lib/columnstore/local/module
#!/bin/bash
set -e
# Install ColumnStore
columnstore-post-install install
#DEBHELPER#
#!/bin/bash
set -e
if [ "$1" = "purge" ]; then
rm -rf /var/lib/columnstore
rm -rf /etc/columnstore
rm -f /etc/mysql/mariadb.conf.d/columnstore.cnf.rpmsave
fi
# Automatically restart MariaDB after ColumnStore plugin has been removed
case "$1" in
purge|remove|disappear)
if [ -d /run/systemd/system ]; then
# If systemd
deb-systemd-invoke restart mariadb.service >/dev/null
elif [ -x "/etc/init.d/mariadb" ]; then
# Fall-back to SysV init
invoke-rc.d mariadb restart || exit $?
fi
;;
esac
#DEBHELPER#
#!/bin/bash
set -e
columnstore-pre-uninstall
#DEBHELPER#
......@@ -7,7 +7,7 @@ include:
# Override Salsa-CI with MariaDB specific variations
variables:
DEB_BUILD_OPTIONS: "nocheck noautodbgsym"
RELEASE: sid
RELEASE: bullseye
SALSA_CI_DISABLE_REPROTEST: 1
SALSA_CI_DISABLE_MISSING_BREAKS: 0
SALSA_CI_DISABLE_RC_BUGS: 1
......@@ -20,8 +20,8 @@ stages:
- provisioning
- build
- test
- upgrade in Sid
- upgrade from Bullseye/Buster/Stretch
- upgrade in Bullseye
- upgrade from Buster/Stretch
- upgrade extras
- test extras
- publish # Stage referenced by Salsa-CI template aptly stanza, so must exist even though not used
......@@ -46,10 +46,9 @@ build:
- ccache -s # Show ccache stats to validate it worked
- mv ${CCACHE_TMP_DIR} ${CCACHE_WORK_DIR}
build bullseye-backports:
extends: .build-package
variables:
RELEASE: bullseye-backports
# build jobs often needs more than default GitLab timeout (1h)
.build-package:
timeout: 3h
build buster-backports:
extends: .build-package
......@@ -100,14 +99,14 @@ blhc:
dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
service mysql status || service mariadb status # Early MariaDB 10.5 only had 'mariadb'
mysql --skip-column-names -e "select @@version, @@version_comment" # Show version
mysql --table -e 'SHOW DATABASES;' # List databases before upgrade
mysql --table -e "SHOW DATABASES;" # List databases before upgrade
mysql --table -e "SELECT host,user,plugin,authentication_string FROM user;" mysql
mysql --table -e "SELECT * FROM plugin;" mysql
mysql --table -e "SHOW PLUGINS;" mysql
.test-enable-sid-repos: &test-enable-sid-repos |
# Replace any old repos with just Sid
echo 'deb http://deb.debian.org/debian sid main' > /etc/apt/sources.list
.test-enable-bullseye-repos: &test-enable-bullseye-repos |
# Replace any old repos with just Bullseye
echo "deb http://deb.debian.org/debian bullseye main" > /etc/apt/sources.list
# Upgrade minimal stack first
apt-get update
apt-get install -y apt
......@@ -125,7 +124,7 @@ blhc:
cp -ra /etc/mysql debug/etc-mysql
cp -ra /var/log/mysql debug/var-log-mysql
mariadb --skip-column-names -e "select @@version, @@version_comment" # Show version
mariadb --table -e 'SHOW DATABASES;' # List databases
mariadb --table -e "SHOW DATABASES;" # List databases
mariadb --table -e "SELECT host,user,plugin,authentication_string FROM user;" mysql
mariadb --table -e "SELECT * FROM plugin;" mysql
mariadb --table -e "SHOW PLUGINS;" mysql
......@@ -262,7 +261,7 @@ mariadb-10.3 Buster to mariadb-10.6 upgrade:
- apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadb*'
# Verify installation of MariaDB from Buster
- *test-verify-initial
- *test-enable-sid-repos
- *test-enable-bullseye-repos
- *test-install
- service mysql status
- *test-verify-final
......@@ -289,8 +288,7 @@ mariadb-10.1 Stretch to mariadb-10.6 upgrade:
- apt-get install -y 'default-mysql*' 'mariadb-*' 'libmariadbd*' 'libmariadbclient*'
# Verify installation of MariaDB from Stretch
- *test-verify-initial
- apt-get remove -y manpages # Workaround for Bug#99375
- *test-enable-sid-repos
- *test-enable-bullseye-repos
- *test-install
- service mysql status
- *test-verify-final
......@@ -404,41 +402,8 @@ build mariadbclient consumer Python-MySQLdb:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
libmysql* to libmariadb* upgrade:
stage: upgrade in Sid
needs:
- job: build
image: debian:${RELEASE}
artifacts:
when: always
name: "$CI_BUILD_NAME"
paths:
- ${WORKING_DIR}/debug
script:
- *test-prepare-container
# Install all libmysql* available in Debian unstable
- apt-get install -y pkg-config libmysqlclient-dev
- pkg-config --list-all
- pkg-config --cflags mysqlclient # mysqlclient.pc from original package
- apt-get install -y ./libmariadb3_*.deb ./mariadb-common_*.deb
- pkg-config --list-all
- apt-get install -y ./libmariadb-dev_*.deb
- pkg-config --list-all
- apt-get install -y ./libmariadb-dev-compat_*.deb
- pkg-config --cflags mysqlclient # mysqlclient.pc from compat package
- pkg-config --list-all
- apt-get install -y ./libmariadbd19_*.deb
- pkg-config --list-all
- apt-get install -y ./libmariadbd-dev_*.deb
- pkg-config --list-all
- apt-get install -y default-libmysqlclient-dev default-libmysqld-dev
- *test-verify-libs
except:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
default-libmysqlclient-dev Sid upgrade:
stage: upgrade in Sid
default-libmysqlclient-dev Bullseye upgrade:
stage: upgrade in Bullseye
needs:
- job: build
image: debian:${RELEASE}
......@@ -458,7 +423,7 @@ default-libmysqlclient-dev Sid upgrade:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
default-libmysqlclient-dev Buster upgrade:
stage: upgrade from Bullseye/Buster/Stretch
stage: upgrade from Buster/Stretch
needs:
- job: build
image: debian:buster
......@@ -471,7 +436,7 @@ default-libmysqlclient-dev Buster upgrade:
- *test-prepare-container
- apt-get install -y pkg-config default-libmysqlclient-dev
- pkg-config --list-all
- *test-enable-sid-repos
- *test-enable-bullseye-repos
- *test-install-all-libs
- *test-verify-libs
except:
......@@ -479,7 +444,7 @@ default-libmysqlclient-dev Buster upgrade:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
default-libmysqlclient-dev Stretch upgrade:
stage: upgrade from Bullseye/Buster/Stretch
stage: upgrade from Buster/Stretch
needs:
- job: build
image: debian:stretch
......@@ -492,8 +457,7 @@ default-libmysqlclient-dev Stretch upgrade:
- *test-prepare-container
- apt-get install -y pkg-config default-libmysqlclient-dev
- pkg-config --list-all
- apt-get remove -y manpages # Workaround for Bug#99375
- *test-enable-sid-repos
- *test-enable-bullseye-repos
- *test-install-all-libs
- *test-verify-libs
except:
......@@ -501,7 +465,7 @@ default-libmysqlclient-dev Stretch upgrade:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
mariadb-connector-c Stretch upgrade:
stage: upgrade from Bullseye/Buster/Stretch
stage: upgrade from Buster/Stretch
needs:
- job: build
image: debian:stretch
......@@ -514,8 +478,7 @@ mariadb-connector-c Stretch upgrade:
- *test-prepare-container
- apt-get install -y pkg-config libmariadb2 libmariadb-dev libmariadb-dev-compat
- pkg-config --list-all
- apt-get remove -y manpages # Workaround for Bug#99375
- *test-enable-sid-repos
- *test-enable-bullseye-repos
- *test-install-all-libs
- *test-verify-libs
except:
......@@ -568,14 +531,14 @@ mysql-8.0 Focal to mariadb-10.6 upgrade:
# Add Ubuntu Focal archive keys and repository
- apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
- apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 871920D1991BC93C 3B4FE6ACC0B21F32
- echo 'deb http://archive.ubuntu.com/ubuntu/ focal main restricted' > /etc/apt/sources.list.d/ubuntu.list
- echo "deb http://archive.ubuntu.com/ubuntu/ focal main restricted" > /etc/apt/sources.list.d/ubuntu.list
- apt-get update
# First install often fail due to bug in mysql-8.0
- apt-get install -y mysql-server 'libmysqlc*' || true
- sleep 10 && apt-get install -f
- *test-verify-initial
# Enable backports to make galera-4 available
- echo 'deb http://deb.debian.org/debian buster-backports main' > /etc/apt/sources.list.d/backports.list && apt-get update
- echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list && apt-get update
- *test-install
- service mysql status
- sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
......@@ -590,7 +553,7 @@ mariadb.org-10.5 to mariadb-10.6 upgrade:
stage: upgrade extras
needs:
- job: build
image: debian:sid
image: debian:${RELEASE}
artifacts:
when: always
name: "$CI_BUILD_NAME"
......@@ -600,14 +563,14 @@ mariadb.org-10.5 to mariadb-10.6 upgrade:
- *test-prepare-container
- apt install -y curl
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
- echo 'deb http://mirror.one.com/mariadb/repo/10.5/debian sid main' > /etc/apt/sources.list.d/mariadb.list
- echo "deb https://deb.mariadb.org/repo/10.5/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
- apt-get update
# The 10.5.9 release is missing mariadb-plugin-columnstore, define all other packages but it to avoid hitting the error:
# The following packages have unmet dependencies:
# mariadb-plugin-columnstore : Depends: mariadb-server-10.5 (= 1:10.5.8+maria~sid) but 1:10.5.9+maria~sid is to be installed
- apt-get install -y libmariadb3 'libmariadb-*' 'libmariadbd*' 'mariadb-c*' 'mariadb-b*' 'mariadb-s*' 'mariadb-t*' 'mariadb-plugin-con*' 'mariadb-plugin-cr*' 'mariadb-plugin-g*' 'mariadb-plugin-m*' 'mariadb-plugin-o*' 'mariadb-plugin-s*'
# Once 10.5.10 is out, revert back to:
# Package libmariadbclient-dev from mariadb.org conflicts with libmariadb-dev in Sid, so cannot use wildcard that would include it
# Package libmariadbclient-dev from mariadb.org conflicts with libmariadb-dev in Bullseye, so cannot use wildcard that would include it
#- apt-get install -y 'mariadb*' libmariadb3 'libmariadb-*' 'libmariadbd*'
- *test-verify-initial
# Install MariaDB built in this commit
......@@ -620,6 +583,7 @@ mariadb.org-10.5 to mariadb-10.6 upgrade:
- *test-verify-final
variables:
GIT_STRATEGY: none
RELEASE: bullseye # Last Debian release that MariaDB.org publised 10.5 binaries for
except:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
......@@ -627,8 +591,8 @@ mariadb.org-10.5 to mariadb-10.6 upgrade:
mariadb.org-10.4 to mariadb-10.6 upgrade:
stage: upgrade extras
needs:
- job: build
image: debian:sid
- job: build buster-backports
image: debian:${RELEASE}
artifacts:
when: always
name: "$CI_BUILD_NAME"
......@@ -636,9 +600,9 @@ mariadb.org-10.4 to mariadb-10.6 upgrade:
- ${WORKING_DIR}/debug
script:
- *test-prepare-container
- apt install -y curl systemctl # systemctl shim needed on platforms that don't have systemd
- apt install -y curl
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
- echo 'deb http://mirror.one.com/mariadb/repo/10.4/debian sid main' > /etc/apt/sources.list.d/mariadb.list
- echo "deb https://deb.mariadb.org/repo/10.4/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
- apt-get update
- apt-get install -y mariadb-server-10.4
# MariaDB.org version of 10.4 and early 10.5 do not install an init file, so
......@@ -652,6 +616,7 @@ mariadb.org-10.4 to mariadb-10.6 upgrade:
- *test-verify-final
variables:
GIT_STRATEGY: none
RELEASE: buster # Last Debian release that MariaDB.org publised 10.4 binaries for
except:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
......@@ -659,8 +624,8 @@ mariadb.org-10.4 to mariadb-10.6 upgrade:
mariadb.org-10.3 to mariadb-10.6 upgrade:
stage: upgrade extras
needs:
- job: build
image: debian:sid
- job: build buster-backports
image: debian:${RELEASE}
artifacts:
when: always
name: "$CI_BUILD_NAME"
......@@ -670,23 +635,21 @@ mariadb.org-10.3 to mariadb-10.6 upgrade:
- *test-prepare-container
- apt install -y curl
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
- echo 'deb http://mirror.one.com/mariadb/repo/10.3/debian sid main' > /etc/apt/sources.list.d/mariadb.list
- echo "deb https://deb.mariadb.org/repo/10.3/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
- apt-get update
- apt-get install -y mariadb-server-10.3
# Verify initial state before upgrade
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
- service mysql status
# prepending with --defaults-file=/etc/mysql/debian.cnf is needed in upstream 5.5–10.3
- mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names -e "SELECT @@version, @@version_comment"
- echo 'SHOW DATABASES;' | mysql --defaults-file=/etc/mysql/debian.cnf
- mysql --defaults-file=/etc/mysql/debian.cnf -e "SELECT Host,User,plugin,authentication_string FROM user;" mysql
- mysql --defaults-file=/etc/mysql/debian.cnf -e "SELECT * FROM plugin;" mysql
- *test-verify-initial
# Enable backports to make galera-4 available
- echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list.d/backports.list && apt-get update
- *test-install
- service mysql status
- sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
# Give the mariadb-upgrade plenty of time to complete, otherwise next commands
# fail on non-existing mariadb.sys user
- sleep 15
- *test-verify-final
variables:
GIT_STRATEGY: none
RELEASE: buster # Last Debian release that MariaDB.org publised 10.3 binaries for
except:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
......@@ -694,8 +657,8 @@ mariadb.org-10.3 to mariadb-10.6 upgrade:
mariadb.org-10.2 to mariadb-10.6 upgrade:
stage: upgrade extras
needs:
- job: build
image: debian:sid
- job: build stretch-backports
image: debian:${RELEASE}
artifacts:
when: always
name: "$CI_BUILD_NAME"
......@@ -703,25 +666,42 @@ mariadb.org-10.2 to mariadb-10.6 upgrade:
- ${WORKING_DIR}/debug
script:
- *test-prepare-container
- apt install -y curl
- apt install -y curl apt-transport-https
- curl -sS https://mariadb.org/mariadb_release_signing_key.asc -o /etc/apt/trusted.gpg.d/mariadb.asc
- echo 'deb http://mirror.one.com/mariadb/repo/10.2/debian sid main' > /etc/apt/sources.list.d/mariadb.list
- echo "deb https://deb.mariadb.org/repo/10.2/debian ${RELEASE} main" > /etc/apt/sources.list.d/mariadb.list
- apt-get update
- apt-get install -y mariadb-server-10.2
# Verify initial state before upgrade
- dpkg -l | grep -iE 'maria|mysql|galera' || true # List installed
- service mysql status
# prepending with --defaults-file=/etc/mysql/debian.cnf is needed in upstream 5.5–10.3
- mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names -e "SELECT @@version, @@version_comment"
- echo 'SHOW DATABASES;' | mysql --defaults-file=/etc/mysql/debian.cnf
- mysql --defaults-file=/etc/mysql/debian.cnf -e "SELECT * FROM mysql.user; SHOW CREATE USER root@localhost"
- mysql --defaults-file=/etc/mysql/debian.cnf -e "SELECT * FROM mysql.plugin; SHOW PLUGINS"
- |
mysql --defaults-file=/etc/mysql/debian.cnf --skip-column-names -e "SELECT @@version, @@version_comment"
mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SHOW DATABASES;"
mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SELECT * FROM mysql.user; SHOW CREATE USER root@localhost;"
mysql --defaults-file=/etc/mysql/debian.cnf --table -e "SELECT * FROM mysql.plugin; SHOW PLUGINS;"
# Enable backports to make libzstd1, rocksdb-tools
- echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/backports.list
# Enable backports to make galera-4 available
- echo "deb http://deb.debian.org/debian stretch-backports-sloppy main" >> /etc/apt/sources.list.d/backports.list && apt-get update
# Increase default backports priority policy from '100' to '500' so it can actually be used
- |
cat << EOF > /etc/apt/preferences.d/enable-backports-to-satisfy-dependencies
Package: *
Pin: release n=stretch-*
Pin-Priority: 500
EOF
# Remove plugin that requires libcurl4, not available in Debian Stretch
- rm mariadb-plugin-s3*.deb
- *test-install
- service mysql status
- sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
# Give the mariadb-upgrade plenty of time to complete, otherwise next commands
# fail on non-existing mariadb.sys user
- sleep 15
- *test-verify-final
variables:
GIT_STRATEGY: none
RELEASE: stretch # Last Debian release that MariaDB.org publised 10.2 binaries for
except:
variables:
- $CI_COMMIT_TAG != null && $SALSA_CI_ENABLE_PIPELINE_ON_TAGS !~ /^(1|yes|true)$/
......@@ -740,16 +720,16 @@ mysql.com-5.7 to mariadb-10.6 upgrade:
- *test-prepare-container
- |
apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 8C718D3B5072E1F5
echo 'deb https://repo.mysql.com/apt/debian/ buster mysql-5.7' > /etc/apt/sources.list.d/mysql.list
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 467B942D3A79BD29
echo "deb https://repo.mysql.com/apt/debian/ buster mysql-5.7" > /etc/apt/sources.list.d/mysql.list
apt-get update
apt-get install -y 'mysql*' 'libmysqlc*'
- *test-verify-initial
# Enable backports to make galera-4 available
- echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list.d/backports.list && apt-get update
- echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list.d/backports.list && apt-get update
- *test-install
- service mysql status
- sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
- sleep 15 # Give the mysql_upgrade a bit of extra time to complete with MySQL 5.7 before querying the server
- *test-verify-final
variables:
GIT_STRATEGY: none
......@@ -772,16 +752,16 @@ percona-xtradb-5.7 to mariadb-10.6 upgrade (MDEV-22679):
- |
apt-get install --no-install-recommends --yes gpg gpg-agent dirmngr ca-certificates # Bare minimal (<4MB) for apt-key to work
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com:443 9334A25F8507EFA5
echo 'deb https://repo.percona.com/apt/ buster main' > /etc/apt/sources.list.d/mysql.list
echo "deb https://repo.percona.com/apt/ buster main" > /etc/apt/sources.list.d/mysql.list
apt-get update
apt-get install -y percona-xtradb-cluster-full-57 percona-xtrabackup-24 percona-toolkit pmm2-client
- service mysql status
- *test-verify-initial
# Enable backports to make galera-4 available
- echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list.d/backports.list && apt-get update
- echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list.d/backports.list && apt-get update
- *test-install
- service mysql status
- sleep 5 # Give the mysql_upgrade a bit of time to complete before querying the server
- sleep 15 # Give the mysql_upgrade a bit of extra time to complete with MySQL 5.7 before querying the server
- *test-verify-final
variables:
GIT_STRATEGY: none
......
......@@ -23,8 +23,10 @@ version-substvar-for-external-package libmariadbd-dev -> libmariadbclient-dev
# ColumnStore not used in Debian, safe to ignore. Reported upstream in https://jira.mariadb.org/browse/MDEV-24124
source-is-missing storage/columnstore/columnstore/utils/jemalloc/libjemalloc.so.2
# Must be fixed upstream
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js line 58 is 273 characters long (>256)
source-is-missing storage/mroonga/vendor/groonga/examples/dictionary/html/js/jquery-ui-1.8.18.custom.js *
# Intentional control relationships
version-substvar-for-external-package Replaces (line 216) ${source:Version} libmariadbd-dev -> libmariadbclient-dev
version-substvar-for-external-package Replaces (line 66) ${source:Version} libmariadb-dev -> libmysqlclient-dev
version-substvar-for-external-package Replaces (line 66) ${source:Version} libmariadb-dev -> libmysqld-dev
# We can't change build dependencies on a stable branch (10.5..10.8) so just override this
missing-build-dependency-for-dh-addon systemd *
......@@ -2,3 +2,15 @@
# suite.pm will make sure that all tests including this file
# will be skipped unless innodb is enabled
#
--disable_query_log
if (`select count(*) from information_schema.system_variables where variable_name='have_sanitizer' and global_value like "MSAN%"`)
{
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
}
if ($VALGRIND_TEST)
{
SET STATEMENT sql_log_bin=0 FOR
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
}
--enable_query_log
......@@ -12,6 +12,10 @@
--echo # Save the initial number of concurrent sessions
--source include/count_sessions.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
......
......@@ -15,6 +15,11 @@ if (!$INNOCHECKSUM) {
--die Need innochecksum binary
}
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
let $checksum_algorithm = `SELECT @@innodb_checksum_algorithm`;
SET GLOBAL innodb_file_per_table = ON;
# zlib
......
# This test is slow on buildbot.
--source include/big_test.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
create table innodb_normal (c1 int not null auto_increment primary key, b char(200)) engine=innodb;
create table innodb_page_compressed1 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=1;
create table innodb_page_compressed2 (c1 int not null auto_increment primary key, b char(200)) engine=innodb page_compressed=1 page_compression_level=2;
......
......@@ -2,6 +2,11 @@
-- source include/have_innodb_bzip2.inc
-- source include/not_embedded.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
# bzip2
set global innodb_compression_algorithm = 5;
......
......@@ -4,6 +4,11 @@
# The test can take very long time with valgrind
--source include/not_valgrind.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
# lz4
set global innodb_compression_algorithm = 2;
......
......@@ -2,6 +2,11 @@
-- source include/have_innodb_lzma.inc
-- source include/not_embedded.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
# lzma
set global innodb_compression_algorithm = 4;
......
......@@ -2,6 +2,11 @@
-- source include/have_innodb_lzo.inc
-- source include/not_embedded.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
# lzo
set global innodb_compression_algorithm = 3;
......
......@@ -2,6 +2,10 @@
--source include/not_embedded.inc
let $innodb_compression_algorithm_orig=`SELECT @@innodb_compression_algorithm`;
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
# zlib
set global innodb_compression_algorithm = 1;
......
......@@ -3,6 +3,11 @@
# This test is slow on buildbot.
--source include/big_test.inc
--disable_query_log
# This may be triggered on a slow system or one that lacks native AIO.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
# zlib
set global innodb_compression_algorithm = 1;
......
......@@ -6,6 +6,9 @@
--disable_query_log
call mtr.add_suppression("InnoDB: Difficult to find free blocks in the buffer pool");
--disable_query_log
# This may be triggered on a slow system.
call mtr.add_suppression("InnoDB: Trying to delete tablespace.*pending operations");
--enable_query_log
SET GLOBAL innodb_undo_log_truncate = 0;
......
......@@ -3,7 +3,6 @@
#
--source include/no_protocol.inc
--source include/have_innodb.inc
--echo # SET-UP
CREATE DATABASE nested_sp;
......@@ -17,7 +16,7 @@ CREATE TABLE t1(
CREATE TABLE t2(
n INT UNSIGNED NOT NULL,
f BIGINT UNSIGNED
) engine=innodb;
);
--echo ############################
--echo # Creating Stored Programs #
......
......@@ -167,7 +167,7 @@ data INT NOT NULL
CREATE TABLE t2(
n INT UNSIGNED NOT NULL,
f BIGINT UNSIGNED
) engine=innodb;
);
############################
# Creating Stored Programs #
############################
......
......@@ -167,7 +167,7 @@ data INT NOT NULL
CREATE TABLE t2(
n INT UNSIGNED NOT NULL,
f BIGINT UNSIGNED
) engine=innodb;
);
############################
# Creating Stored Programs #
############################
......
......@@ -13,7 +13,7 @@ data INT NOT NULL
CREATE TABLE t2(
n INT UNSIGNED NOT NULL,
f BIGINT UNSIGNED
) engine=innodb;
);
############################
# Creating Stored Programs #
############################
......@@ -67,6 +67,7 @@ END WHILE;
END|
CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW
CALL ifac(10)|
ALTER TABLE t2 ENGINE=InnoDB;
#####################
# Executing queries #
#####################
......@@ -1199,7 +1200,7 @@ data INT NOT NULL
CREATE TABLE t2(
n INT UNSIGNED NOT NULL,
f BIGINT UNSIGNED
) engine=innodb;
);
############################
# Creating Stored Programs #
############################
......
......@@ -101,6 +101,7 @@ CREATE TRIGGER trg4 BEFORE DELETE ON t1 FOR EACH ROW
SET @del:= @del + 1|
CREATE TRIGGER trg5 AFTER DELETE ON t1 FOR EACH ROW
SET @del:= @del + 8 + old.j|
ALTER TABLE t2 ENGINE=InnoDB;
#####################
# Executing queries #
#####################
......@@ -159,6 +160,7 @@ WHERE CURRENT_SCHEMA='stored_programs' AND
ORDER BY OBJECT_NAME,NESTING_EVENT_LEVEL,SQL_TEXT;
EVENT_NAME SQL_TEXT OBJECT_NAME NESTING_EVENT_TYPE NESTING_EVENT_LEVEL
statement/scheduler/event NULL NULL NULL 0
statement/sql/alter_table ALTER TABLE t2 ENGINE=InnoDB NULL NULL 0
statement/sql/call_procedure CALL SampleProc1(30,40,50) NULL NULL 0
statement/sql/call_procedure CALL SampleProc2("Jwalamukhi",34) NULL NULL 0
statement/sql/call_procedure CALL SampleProc3() NULL NULL 0
......@@ -375,7 +377,7 @@ data INT NOT NULL
CREATE TABLE t2(
n INT UNSIGNED NOT NULL,
f BIGINT UNSIGNED
) engine=innodb;
);
############################
# Creating Stored Programs #
############################
......@@ -429,6 +431,7 @@ END WHILE;
END|
CREATE TRIGGER trg AFTER INSERT ON t1 FOR EACH ROW
CALL ifac(10)|
ALTER TABLE t2 ENGINE=InnoDB;
#####################
# Executing queries #
#####################
......
......@@ -4,6 +4,7 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
--source include/have_innodb.inc
TRUNCATE TABLE performance_schema.events_statements_summary_by_program;
TRUNCATE TABLE performance_schema.events_statements_history_long;
......@@ -13,6 +14,7 @@ TRUNCATE TABLE performance_schema.events_statements_history_long;
--echo #################################################
--source suite/perfschema/include/program_nested_setup.inc
ALTER TABLE t2 ENGINE=InnoDB;
--source suite/perfschema/include/program_nested_execution.inc
SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA,
......
......@@ -7,6 +7,7 @@
--source include/not_embedded.inc
--source include/have_perfschema.inc
--source include/have_innodb.inc
TRUNCATE TABLE performance_schema.events_statements_history_long;
......@@ -14,6 +15,7 @@ TRUNCATE TABLE performance_schema.events_statements_history_long;
--echo # Non-nested Stored programs.
--echo #----------------------------
--source suite/perfschema/include/program_setup.inc
ALTER TABLE t2 ENGINE=InnoDB;
--source suite/perfschema/include/program_execution.inc
SELECT EVENT_NAME, SQL_TEXT, OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL
......@@ -31,6 +33,7 @@ TRUNCATE TABLE performance_schema.events_statements_history_long;
--echo # Nested stored programs.
--echo #------------------------
--source suite/perfschema/include/program_nested_setup.inc
ALTER TABLE t2 ENGINE=InnoDB;
--source suite/perfschema/include/program_nested_execution.inc
SELECT EVENT_NAME, SQL_TEXT, OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL
......
......@@ -4,6 +4,11 @@ SELECT @orig;
25
SET GLOBAL innodb_buffer_pool_dump_pct=3;
# Do the dump
SELECT @@global.innodb_buffer_pool_dump_now;
SELECT variable_value INTO @old_dump_status FROM information_schema.global_status
WHERE LOWER(variable_name) = 'innodb_buffer_pool_dump_status';
SET GLOBAL innodb_buffer_pool_dump_now = ON;
SELECT @@global.innodb_buffer_pool_dump_now;
SET GLOBAL innodb_buffer_pool_dump_pct=20;
SELECT @@global.innodb_buffer_pool_dump_pct;
@@global.innodb_buffer_pool_dump_pct
......
--disable_query_log
if (!$TEST_VERSIONING_SO)
{
--skip needs test_versioning plugin
}
source include/have_innodb.inc;
--disable_query_log
set @@session.time_zone='+00:00';
select ifnull(max(transaction_id), 0) into @start_trx_id from mysql.transaction_registry;
......
......@@ -5116,7 +5116,7 @@ static Sys_var_have Sys_have_symlink(
# ifdef __SANITIZE_ADDRESS__
# ifdef WITH_UBSAN
# define SANITIZER_MODE "ASAN+UBSAN"
# define SANITIZER_MODE "ASAN,UBSAN"
# else
# define SANITIZER_MODE "ASAN"
# endif
......
......@@ -117,14 +117,14 @@ SET(S3_SOURCES s3_func.c
libmarias3/src/sha256-internal.c libmarias3/src/xml.c
libmarias3/src/assume_role.c)
IF(NOT PLUGIN_S3 STREQUAL NO)
IF(NOT PLUGIN_S3 STREQUAL NO AND NOT WIN32)
FIND_PACKAGE(CURL)
ENDIF()
IF (CURL_FOUND)
LINK_DIRECTORIES(${PC_CURL_LIBDIR})
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
MYSQL_ADD_PLUGIN(s3 ha_s3.cc ${S3_SOURCES} COMPONENT s3-engine
LINK_LIBRARIES curl z STORAGE_ENGINE NOT_EMBEDDED CONFIG s3.cnf)
LINK_LIBRARIES ${CURL_LIBRARIES} z STORAGE_ENGINE NOT_EMBEDDED CONFIG s3.cnf)
ENDIF()
SET(CPACK_RPM_s3-engine_PACKAGE_SUMMARY "Amazon S3 archival storage engine for MariaDB" PARENT_SCOPE)
......
......@@ -1310,7 +1310,7 @@ my_bool set_database_and_table_from_path(S3_INFO *s3, const char *path)
if (path[length-1] == FN_LIBCHAR || path[length-1] == '/')
break;
#ifdef FN_DEVCHAR
if (path[length-1] == FN_DECVHAR)
if (path[length-1] == FN_DEVCHAR)
break;
#endif
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment