[Maria-discuss] MariaDB Fedora update - testing
Hello everybody, I made a (form my POV) bigger change to how MariaDB is packed, and I would be grateful for any feedback. I separated all the non-essential utilities to a standalone sub-package "server-utils". It should be installed automaticly with the "server" package as a weak dendency, so regular user should not spot any change. For example, if you don't need Perl with your server, you can save about 20MB of the space with this update. Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=17426872 F25: https://bodhi.fedoraproject.org/updates/FEDORA-2017-0f44f2b8c8 F24: https://bodhi.fedoraproject.org/updates/FEDORA-2017-801e01d1ed Thanks for any feedback in an advance! -- Michal Schorm Core Services - Databases Team mail: mschorm@redhat.com Brno-IRC: mschorm
On 27/01/17 22:58, Michal Schorm wrote:
Hello everybody,
I made a (form my POV) bigger change to how MariaDB is packed, and I would be grateful for any feedback.
Thanks for continuing with this.
I separated all the non-essential utilities to a standalone sub-package "server-utils". It should be installed automaticly with the "server" package as a weak dendency, so regular user should not spot any change.
Good. If every it becomes a non-dependency the following should be moved to a dependent package: /usr/bin/mysqldump /usr/bin/mysqlbinlog /usr/bin/mysqlcheck mysql_upgrade and associated man pages.
Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=17426872 F25: https://bodhi.fedoraproject.org/updates/FEDORA-2017-0f44f2b8c8 F24: https://bodhi.fedoraproject.org/updates/FEDORA-2017-801e01d1ed
questions/comments: on the systemd settings: ExecStopPost=/usr/libexec/mysql-wait-stop seems to just wait for pid, in the case of Type=notify I thought this wasn't needed. MDEV-10646, https://github.com/MariaDB/server/pull/297 should be an easy fix. https://github.com/MariaDB/server/blob/10.1/support-files/mariadb.service.in has been updated a bit more to support added constraints and better support for galera configurations. errors: /usr/libexec/mysql-scripts-common includes mysqld_safe as a section however this isn't read by the systemd invocation of mysqld. Running mysql (the client program) with these packages fails to find the server socket. strace of mysql sees and attempt to connect to a null string socket socket(AF_UNIX, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_UNIX, sun_path=@"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 110) = -1 ECONNREFUSED (Connection refused) There seems to be a lack of compile time to support the default of /var/lib/mysql/mysql.sock To be prudent, and to support other mysql client programs, including socket=/var/lib/mysql/mysql.sock in a [client] section of a config file is recommended. recommendations: /usr/share/mariadb/my-* - recommend dropping these. "huge" isn't really a myisam configuration or an innodb with a 384M buffer pool. Other files are equally as comicly harmful. Getting users to actually read rather than these wild ass guesses as config files will save them much pain. https://jira.mariadb.org/browse/MDEV-11869 might contains some insights to systemd settings/packaging too. dnf list installed | grep -i mariadb mariadb.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-common.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-config.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-errmsg.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-libs.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-server.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-server-utils.x86_64 3:10.1.21-1.fc24 @updates-testing
Hi Daniel and thanks for a reply! I'll parse the mail you send a little: *1) Move "mysqldump, mysqlbinlog, mysqlcheck, mysql_upgrade" and their manpages to dependent package.* * I'm really not going to make another subpackage only with them, but I can easily move them back to subpackages where they were. * But Why ?? (I don't see the point. The idea is, that when you really need them, you can install them on the server, use them and remove again, since they would be used verry little. ) Please explan, what did you meant. *2) https://jira.mariadb.org/browse/MDEV-10646 <https://jira.mariadb.org/browse/MDEV-10646>* * I'm deffinitelly gonna wait for the upstream. I don't see really the urgence of this issue and it is elementarly solved by config file change. *3) /usr/libexec/mysql-scripts-common includes mysqld_safe as a section, however this isn't read by the systemd invocation of mysqld* * I'll check it, test it, eventualy file the bugs to start appropriate processes. *4) /usr/share/mariadb/my-* - recommend dropping these.* recommendations:
/usr/share/mariadb/my-* - recommend dropping these. "huge" isn't really a myisam configuration or an innodb with a 384M buffer pool. Other files are equally as comicly harmful. Getting users to actually read rather than these wild ass guesses as config files will save them much pain.
On Mon, Jan 30, 2017 at 3:04 AM, Daniel Black <daniel.black@au1.ibm.com> wrote:
On 27/01/17 22:58, Michal Schorm wrote:
Hello everybody,
I made a (form my POV) bigger change to how MariaDB is packed, and I would be grateful for any feedback.
Thanks for continuing with this.
I separated all the non-essential utilities to a standalone sub-package "server-utils". It should be installed automaticly with the "server" package as a weak dendency, so regular user should not spot any change.
Good. If every it becomes a non-dependency the following should be moved to a dependent package:
/usr/bin/mysqldump /usr/bin/mysqlbinlog /usr/bin/mysqlcheck mysql_upgrade and associated man pages.
Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=17426872 F25: https://bodhi.fedoraproject.org/updates/FEDORA-2017-0f44f2b8c8 F24: https://bodhi.fedoraproject.org/updates/FEDORA-2017-801e01d1ed
questions/comments:
on the systemd settings:
ExecStopPost=/usr/libexec/mysql-wait-stop seems to just wait for pid, in the case of Type=notify I thought this wasn't needed.
MDEV-10646, https://github.com/MariaDB/server/pull/297 should be an easy fix.
https://github.com/MariaDB/server/blob/10.1/support- files/mariadb.service.in has been updated a bit more to support added constraints and better support for galera configurations.
errors:
/usr/libexec/mysql-scripts-common includes mysqld_safe as a section however this isn't read by the systemd invocation of mysqld.
Running mysql (the client program) with these packages fails to find the server socket.
strace of mysql sees and attempt to connect to a null string socket socket(AF_UNIX, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_UNIX, sun_path=@"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ 0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 110) = -1 ECONNREFUSED (Connection refused)
There seems to be a lack of compile time to support the default of /var/lib/mysql/mysql.sock
To be prudent, and to support other mysql client programs, including socket=/var/lib/mysql/mysql.sock in a [client] section of a config file is recommended.
recommendations:
/usr/share/mariadb/my-* - recommend dropping these. "huge" isn't really a myisam configuration or an innodb with a 384M buffer pool. Other files are equally as comicly harmful. Getting users to actually read rather than these wild ass guesses as config files will save them much pain.
https://jira.mariadb.org/browse/MDEV-11869 might contains some insights to systemd settings/packaging too.
dnf list installed | grep -i mariadb mariadb.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-common.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-config.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-errmsg.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-libs.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-server.x86_64 3:10.1.21-1.fc24 @updates-testing mariadb-server-utils.x86_64 3:10.1.21-1.fc24 @updates-testing
-- Michal Schorm Core Services - Databases Team mail: mschorm@redhat.com Brno-IRC: mschorm
On 31/01/17 00:31, Michal Schorm wrote:
Hi Daniel and thanks for a reply!
I'll parse the mail you send a little:
*1) Move "mysqldump, mysqlbinlog, mysqlcheck, mysql_upgrade" and their manpages to dependent package. * * I'm really not going to make another subpackage only with them, but I can easily move them back to subpackages where they were. * But Why ?? (I don't see the point. The idea is, that when you really need them,
mysql_ugprade is often needed once on upgrade to support new features.
you can install them on the server, use them and remove again, since they would be used verry little. )
correct. Please explan, what did
you meant.
Sorry - I meant "ever" not "every" in the following. So as a dependent package is good and there isn't a requirement for another subpackage.
Good. If every it becomes a non-dependency the following should be
moved
to a dependent package:
2) https://jira.mariadb.org/browse/MDEV-10646* * I'm deffinitelly gonna wait for the upstream. I don't see really the urgence of this issue and it is elementarly solved by config file change.
*3) /usr/libexec/mysql-scripts-common includes mysqld_safe as a section, however this isn't read by the systemd invocation of mysqld* * I'll check it, test it, eventualy file the bugs to start appropriate processes.
$ /usr/libexec/mysqld --help --verbose | head ... The following groups are read: mysqld server mysqld-10.1 mariadb mariadb-10.1 client-server galera parsing other bits: 4) Install the following as part of a my.cnf in some way [client] socket=/var/lib/mysql/mysql.sock 5) /usr/share/mariadb/my-* - recommend dropping these 6) Updating the systemd config to closer to upstream ExecStopPost=/usr/libexec/mysql-wait-stop seems to just wait for pid, in the case of Type=notify I thought this wasn't needed. https://github.com/MariaDB/server/blob/10.1/support/files/mariadb.service.in has been updated a bit more to support added constraints and better support for galera configurations.
participants (2)
-
Daniel Black
-
Michal Schorm