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.22 -> 10.4.12 #86900

Merged
merged 9 commits into from May 14, 2020
Merged

mariadb: 10.3.22 -> 10.4.12 #86900

merged 9 commits into from May 14, 2020

Conversation

Izorkin
Copy link
Contributor

@Izorkin Izorkin commented May 5, 2020

Motivation for this change

Upgrade MariaDB server to 10.4.12

cc @thoughtpolice @flokli @aanderse @dasJ

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Copy link
Member

@aanderse aanderse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for doing this @Izorkin!

Copy link
Contributor

@flokli flokli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but haven't tested it - especially the migration part, so would love to get some more feedback from people using this.

@Izorkin
Copy link
Contributor Author

Izorkin commented May 7, 2020

@GrahamcOfBorg test mariadb-galera-mariabackup

@Izorkin
Copy link
Contributor Author

Izorkin commented May 7, 2020

@GrahamcOfBorg test mysql-replication

@Izorkin Izorkin marked this pull request as draft May 7, 2020 17:22
@Izorkin
Copy link
Contributor Author

Izorkin commented May 7, 2020

Found errors with authentication.
https://mariadb.com/kb/en/authentication-from-mariadb-104

@Izorkin Izorkin force-pushed the mariadb-update branch 2 times, most recently from bc59a9c to 861daa3 Compare May 7, 2020 19:55
@Izorkin Izorkin marked this pull request as ready for review May 7, 2020 19:55
@Izorkin Izorkin requested review from aanderse and flokli May 7, 2020 19:56
@Izorkin Izorkin force-pushed the mariadb-update branch 2 times, most recently from cc7c88f to a3c26a6 Compare May 7, 2020 20:42
@Izorkin
Copy link
Contributor Author

Izorkin commented May 8, 2020

@GrahamcOfBorg test mariadb-galera-mariabackup
@GrahamcOfBorg test mariadb-galera-rsync
@GrahamcOfBorg test mysql
@GrahamcOfBorg test mysql-autobackup
@GrahamcOfBorg test mysql-backup
@GrahamcOfBorg test mysql-replication

@aanderse
Copy link
Member

aanderse commented May 9, 2020

Test is failing on arm because TokuDB is unsupported plugin it looks like.

@flokli I'll upgrade a box or two this weekend to test this out, but we should be looking to merge early enough that our unstable users can catch any issues before 20.09.

Thank you very much for your hard work @Izorkin!

@flokli
Copy link
Contributor

flokli commented May 9, 2020

it seems ha_tokudb.so isn't part of the mysql output path:

[ERROR] mysqld: Can't open shared library '/nix/store/al7j8gzl8qjhh6fdiwjdh7bqyrrm911r-mariadb-server-10.4.12/lib/mysql/plugin/ha_tokudb.so' (errno: 22, cannot open shared object file: No such file or directory)

However, this is already the case on master (aarch64 and i686).

We might want to figure out why it's not available on these arches, and possibly update the test to only test tokudb where it's available, but this can be done in a follow-up PR.

Copy link
Member

@aanderse aanderse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I upgraded a machine to this package, ran mysql_upgrade, and then tested some connections and programs out... everything worked fine 👍

Thanks again @Izorkin 🎉

nixos/doc/manual/release-notes/rl-2009.xml Show resolved Hide resolved
Copy link
Member

@aanderse aanderse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@flokli I suggest merge once the bot confirms everything. Any issue with that?

@Izorkin Izorkin force-pushed the mariadb-update branch 2 times, most recently from c128f0f to e733611 Compare May 10, 2020 19:22
Copy link
Contributor

@flokli flokli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A minor nitpick, otherwise should be fine for me now! Thanks for your work!

nixos/doc/manual/release-notes/rl-2009.xml Outdated Show resolved Hide resolved
@Izorkin
Copy link
Contributor Author

Izorkin commented May 12, 2020

@GrahamcOfBorg test mariadb-galera-mariabackup
@GrahamcOfBorg test mariadb-galera-rsync
@GrahamcOfBorg test mysql
@GrahamcOfBorg test mysql-autobackup
@GrahamcOfBorg test mysql-backup
@GrahamcOfBorg test mysql-replication

@Izorkin
Copy link
Contributor Author

Izorkin commented May 12, 2020

@GrahamcOfBorg test mariadb-galera-mariabackup
@GrahamcOfBorg test mariadb-galera-rsync
@GrahamcOfBorg test mysql
@GrahamcOfBorg test mysql-autobackup
@GrahamcOfBorg test mysql-backup
@GrahamcOfBorg test mysql-replication

Copy link
Contributor

@flokli flokli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this now built with another protobuf? I'm missing the explanation here.

@Izorkin
Copy link
Contributor Author

Izorkin commented May 13, 2020

With protobuf 3.8 mysql 5.7 anf 8.0 error build:

In file included from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/protocol/message.h:24,
                 from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/protocol_encoder.h:23,
                 from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/client_session.h:24,
                 from /build/mysql-5.7.27/rapid/plugin/x/src/xpl_session.h:25,
                 from /build/mysql-5.7.27/rapid/plugin/x/src/xpl_plugin.cc:23:
/build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs_common/protocol_protobuf.h:32:10: fatal error: google/protobuf/wire_format_lite_inl.h: No such file or directory
   32 | #include <google/protobuf/wire_format_lite_inl.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [rapid/plugin/x/CMakeFiles/mysqlx.dir/build.make:203: rapid/plugin/x/CMakeFiles/mysqlx.dir/src/xpl_plugin.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....

@flokli
Copy link
Contributor

flokli commented May 14, 2020

Please name the last commit message like this:

mysql57, mysql80: build with protobuf 3.7

They fail to build with protobuf 3.8:

In file included from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/protocol/message.h:24,
                 from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/protocol_encoder.h:23,
                 from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/client_session.h:24,
                 from /build/mysql-5.7.27/rapid/plugin/x/src/xpl_session.h:25,
                 from /build/mysql-5.7.27/rapid/plugin/x/src/xpl_plugin.cc:23:
/build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs_common/protocol_protobuf.h:32:10: fatal error: google/protobuf/wire_format_lite_inl.h: No such file or directory
   32 | #include <google/protobuf/wire_format_lite_inl.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [rapid/plugin/x/CMakeFiles/mysqlx.dir/build.make:203: rapid/plugin/x/CMakeFiles/mysqlx.dir/src/xpl_plugin.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....

MariaDB 10.4 introduces a number of changes to the authentication
process, intended to make things easier and more intuitive.
MariaDB 10.4 introduces a number of changes to the authentication
process, intended to make things easier and more intuitive.
MariaDB 10.4 introduces a number of changes to the authentication
process, intended to make things easier and more intuitive.
They fail to build with protobuf 3.8:

In file included from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/protocol/message.h:24,
                 from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/protocol_encoder.h:23,
                 from /build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs/client_session.h:24,
                 from /build/mysql-5.7.27/rapid/plugin/x/src/xpl_session.h:25,
                 from /build/mysql-5.7.27/rapid/plugin/x/src/xpl_plugin.cc:23:
/build/mysql-5.7.27/rapid/plugin/x/ngs/include/ngs_common/protocol_protobuf.h:32:10: fatal error: google/protobuf/wire_format_lite_inl.h: No such file or directory
   32 | #include <google/protobuf/wire_format_lite_inl.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [rapid/plugin/x/CMakeFiles/mysqlx.dir/build.make:203: rapid/plugin/x/CMakeFiles/mysqlx.dir/src/xpl_plugin.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
@Izorkin
Copy link
Contributor Author

Izorkin commented May 14, 2020

Updated and rebased.

@flokli
Copy link
Contributor

flokli commented May 14, 2020

Built all mysql/mariadb attributes I could find, and ran the mysql, mysql-replication and mysql-autobackup tests.

@flokli flokli merged commit 3d60859 into NixOS:master May 14, 2020
@Izorkin Izorkin deleted the mariadb-update branch May 14, 2020 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants