Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mariadb: 10.3.20 -> 10.4.10 #74486

Closed
wants to merge 1 commit into from

Conversation

@r-ryantm
Copy link
Contributor

r-ryantm commented Nov 28, 2019

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mariadb-server/versions.

meta.description for mariadb is: '"An enhanced, drop-in replacement for MySQL"'.

meta.homepage for mariadb is: '"https://mariadb.org/"

Checks done (click to expand)
Rebuild report (if merged into master) (click to expand)

190 total rebuild path(s)

61 package rebuild(s)

61 x86_64-linux rebuild(s)
59 i686-linux rebuild(s)
11 x86_64-darwin rebuild(s)
59 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
akonadi
akregator
automysqlbackup
diesel-cli
digikam
kaddressbook
kdeApplications.akonadi
kdeApplications.akonadi-calendar
kdeApplications.akonadi-contacts
kdeApplications.akonadi-import-wizard
kdeApplications.akonadi-mime
kdeApplications.akonadi-notes
kdeApplications.akonadi-search
kdeApplications.akonadiconsole
kdeApplications.akregator
kdeApplications.calendarsupport
kdeApplications.eventviews
kdeApplications.incidenceeditor
kdeApplications.kaddressbook
kdeApplications.kalarm
kdeApplications.kalarmcal
kdeApplications.kdepim-addons
kdeApplications.kdepim-apps-libs
kdeApplications.kdepim-runtime
kdeApplications.kgpg
kdeApplications.kmail
kdeApplications.kmail-account-wizard
kdeApplications.kmailtransport
kdeApplications.knotes
kdeApplications.kontact
kdeApplications.korganizer
kdeApplications.libgravatar
kdeApplications.libkdepim
kdeApplications.libksieve
kdeApplications.mailcommon
kdeApplications.mailimporter
kdeApplications.mbox-importer
kdeApplications.messagelib
kdeApplications.pim-data-exporter
kdeApplications.pim-sieve-editor
kdeApplications.pimcommon
kgpg
kmail
kmymoney
kontact
korganizer
lua51Packages.luadbi-mysql
lua52Packages.luadbi-mysql
lua53Packages.luadbi-mysql
luaPackages.luadbi-mysql

Instructions to test this update (click to expand)

Either download from Cachix:

nix-store -r /nix/store/whbmqm4yg8a7ha89d7f1lwmgk490csj7-mariadb-server-10.4.10 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)

Or, build yourself:

nix-build -A mariadb https://github.com/r-ryantm/nixpkgs/archive/d58f108c78a2d863d6da943678a2f94b742236a3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:

ls -la /nix/store/whbmqm4yg8a7ha89d7f1lwmgk490csj7-mariadb-server-10.4.10
ls -la /nix/store/whbmqm4yg8a7ha89d7f1lwmgk490csj7-mariadb-server-10.4.10/bin

cc @thoughtpolice for testing.

@aanderse
Copy link
Contributor

aanderse commented Feb 29, 2020

@Izorkin we should really upgrade mariadb to the 10.4 series for NixOS 20.09. Does that sound good to you?

Copy link
Contributor

aanderse left a comment

This requires an entry into the release notes stating that mysql_upgrade must be run after upgrading to this package.

@Izorkin
Copy link
Contributor

Izorkin commented Feb 29, 2020

@aanderse i did not use 10.4. Already released beta 10.5.1

@Izorkin
Copy link
Contributor

Izorkin commented Feb 29, 2020

If update to 10.4 need upgrade mariadb-galera to 26.4.3.

@aanderse
Copy link
Contributor

aanderse commented Feb 29, 2020

10.5 is still preview. Maybe we just wait until 10.5 is stable and update to that. Do you agree?

@Izorkin
Copy link
Contributor

Izorkin commented Feb 29, 2020

You can wait. Then I will add 10.5.1 to nur-packages, 10.4.12 is already there.

@ryantm
Copy link
Member

ryantm commented Apr 2, 2020

@aanderse Do you know the significance of the "General Availability" indication at https://downloads.mariadb.org/ ?

@aanderse
Copy link
Contributor

aanderse commented Apr 2, 2020

@ryantm I do not.

I have spent some more time thinking about this PR recently and propose the following:

  • rebase and update this PR to mariadb 10.4.12, include any other dependencies updates like those @Izorkin described (see comment about mariadb-galera requirements) and then merge as soon as possible
  • ship mariadb 10.4.x series with NixOS 20.09
  • immediately after NixOS 20.09 is released update mariadb to 10.5.x in master
  • ship mariadb 10.5.x series with NixOS 21.03

We should probably avoid skipping a major release of mariadb as we don't know what sort of consequences that might have for all of our users and the various configurations they may have.

Does this sound reasonable? ping @callahad @flokli @florianjacob @Izorkin @matthewbauer @ryantm @thefloweringash @thorstenweber83 as potentially interested parties.

@ryantm
Copy link
Member

ryantm commented Apr 3, 2020

This plan sounds good. I think we should only update to 10.5.x on master after it is out of "development".

Don't feel like this PR is special or something, feel free to close it and do the work on a different PR.

I asked about general availability on #maria@freenode and they seem to think it isn't significant.

@florianjacob
Copy link
Contributor

florianjacob commented Apr 3, 2020

Plan sounds very good, gradually getting up to speed while giving NixOS users bite-sized updates to digest.
I was bitten several times by old-but-supported mariadb series in NixOS in terms of features / bugs, and am very in favour of coordinated but steady upgrading.

@Izorkin
Copy link
Contributor

Izorkin commented Apr 3, 2020

If update to MariaDB 1.4 need update plugin MariaDB-Galera to 26.4.3.
https://mariadb.com/kb/en/upgrading-from-mariadb-103-to-mariadb-104-with-galera-cluster/

@Izorkin
Copy link
Contributor

Izorkin commented Apr 3, 2020

In version 10.4 and 10.5 not builded plugin auth_socket

@Izorkin
Copy link
Contributor

Izorkin commented Apr 3, 2020

In 10.4 and 10.5 don`t need auth_socket.so.
https://mariadb.com/kb/en/authentication-plugin-unix-socket/
MariaDB/server@83de75d?diff=split
Worked with this patch:

diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index f9e657f5774..6bca8de2d71 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -87,7 +87,6 @@ in
             datadir = /var/lib/mysql
             bind-address = 127.0.0.1
             port = 3336
-            plugin-load-add = auth_socket.so

             !includedir /etc/mysql/conf.d/
           ''';
@@ -315,7 +314,6 @@ in
         datadir = cfg.dataDir;
         bind-address = mkIf (cfg.bind != null) cfg.bind;
         port = cfg.port;
-        plugin-load-add = optional (cfg.ensureUsers != []) "auth_socket.so";
       }
       (mkIf (cfg.replication.role == "master" || cfg.replication.role == "slave") {
         log-bin = "mysql-bin-${toString cfg.replication.serverId}";

@flokli
Copy link
Contributor

flokli commented Apr 3, 2020

@Izorkin would you be willing to prepare a PR bumping MariaDB to 10.4.12 for master?

@Izorkin
Copy link
Contributor

Izorkin commented Apr 3, 2020

@flokli need help to correct write release notes. To release notes need add instruction to correct upgrade database and galera cluster - https://mariadb.com/kb/en/upgrading-from-mariadb-103-to-mariadb-104-with-galera-cluster/

@flokli
Copy link
Contributor

flokli commented Apr 4, 2020

@Izorkin quickly skimming over the docs, what sounds relevant to us might be:

Before doing the upgrade:

  • setting wsrep_provider_options="gcache.size=…G" to an appropriate value
  • possibly bumping startup timeouts (?) (I assumed mysql_upgrade would do migrations, so why is this necessary?)

Then switching to the new nixpkgs version containing the bump.

After the switch:

  • running mysql_upgrade --skip-write-binlog
  • checking if everything is okay
  • setting back wsrep_provider_options="gcache.size=…G" (?)

I must however admit I don't feel quite comfortable on giving any guidelines here. I don't operate any Galera Cluster at the moment, and would love to get more feedback from people using this in production.

@flokli
Copy link
Contributor

flokli commented Apr 4, 2020

cc @dasJ

@aanderse
Copy link
Contributor

aanderse commented May 14, 2020

Resolved by #86900

@aanderse aanderse closed this May 14, 2020
@r-ryantm r-ryantm deleted the r-ryantm:auto-update/mariadb-server branch May 16, 2020
@aanderse aanderse mentioned this pull request Jul 2, 2020
4 of 10 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

6 participants
You can’t perform that action at this time.