[MDEV-14558] Indicate maturity level of the server somewhere in the server Created: 2017-12-03  Updated: 2023-04-27

Status: Open
Project: MariaDB Server
Component/s: Server
Fix Version/s: 10.4

Type: Task Priority: Minor
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: beginner-friendly

Attachments: JPEG File maturity.jpg     JPEG File maturity2.jpg    

 Description   

To my knowledge, there is no way to find out the current maturity level of MariaDB server from the server itself – neither from the --version output, nor from help, nor from I_S, etc. I think it might make sense to provide it somehow.



 Comments   
Comment by Mohammed Hammaad Mateen [ 2020-03-18 ]

Greetings, I would like to take up this task, but which set of directories could I possibly scan to find the maturity level of server (like is it present in hand or should I manually calculate the maturity). Thanks in advance .

Comment by Sergei Golubchik [ 2020-03-20 ]

How to show the maturity, where? In the version string? How? In old MySQL it was 4.0.1-alpha, for example. But the version now is, say, 10.5.1-MariaDB or even 10.5.1-MariaDB-debug-log. Should it be 10.5.1-beta-MariaDB or 10.5.1-MariaDB-beta ?

For gamma/RC and stable/GA — should it be "gamma" and "stable" or "rc" and "ga"?

And for for stable/GA version — should it be, say, 10.5.10-MariaDB or 10.5.10-stable-MariaDB (10.5.10-ga-MariaDB)? That is should stable/GA print a maturity explicitly or not?

Comment by Sergei Golubchik [ 2020-03-20 ]

May be it'd be simpler to add a read-only server or status variable @@server_maturity ?

Comment by Mohammed Hammaad Mateen [ 2020-03-20 ]

I'd suggest showing maturity in the version string is more apt as it enhances the understandability of server configuration.

Format:
mysqld XX Ver 10.5.2-MariaDB for Linux on x86_64 (Source Distribution).
where XX = SERVER MATURITY LEVEL.

When Alpha:
mysqld alpha Ver 10.5.2-MariaDB for Linux on x86_64 (Source Distribution)
Read as : "mysqld alpha version 10.5.2-MariaDB ...."

When Beta:
mysqld beta Ver 10.5.2-MariaDB for Linux on x86_64 (Source Distribution)

When Gamma:
mysqld gamma Ver 10.5.2-MariaDB for Linux on x86_64 (Source Distribution)

When Stable:
mysqld stable Ver 10.5.2-MariaDB for Linux on x86_64 (Source Distribution)

Comment by Elena Stepanova [ 2020-03-20 ]

I'd suggest showing maturity in the version string is more apt as it enhances the understandability of server configuration

I'm not sure what you refer to as "version string". If you mean the output of mysqld --version, it has nothing to do with the original request. A regular user cannot run mysqld --version. The request is about being able to get it from the running server.
Also, I wouldn't recommend changing the beginning of version output, it will probably break a countless number of custom scripts which parse the line.

May be it'd be simpler to add a read-only server or status variable @@server_maturity ?

Fine by me

Comment by Sergei Golubchik [ 2020-03-20 ]

A regular user can do select version() or select @@version it's the same version string.

Comment by Elena Stepanova [ 2020-03-20 ]

serg,

A regular user can do select version() or select @@version it's the same version string.

It's not the same string. The --version output contains @@version, but in the format Mohammed Mateen suggested, the maturity is placed between progname and Ver literal, which means it would have to be added directly to the printf. The server_version string starts after Ver.

Comment by Mohammed Hammaad Mateen [ 2020-03-21 ]

I understand that the above suggested format can potentially break scripts as identified by:
elenst,

it will probably break a countless number of custom scripts which parse the line.

hence reworked some more formats for this issue.
1) Displaying it when the client logs in:

2) Displaying the maturity as a variable as suggested by serg

3) We could also combine formats 1 and 2.

Hope this works.

Comment by Mohammed Hammaad Mateen [ 2020-03-22 ]

Please help me start the implementation by selecting any of the suggested formats or do suggest what else could be done to fix this issue.

Comment by Sergei Golubchik [ 2020-03-22 ]

Let's put it in the version, after "MariaDB". Like in 10.5.2-MariaDB-gamma.

Note that for MariaDB_PLUGIN_MATURITY_GAMMA it should print "gamma", not "rc".

And for MariaDB_PLUGIN_MATURITY_STABLE it should not print anything (not "stable").

In your tests try to add a test for mysqld --version, for @@version, and for mysql \s

Generated at Thu Feb 08 08:14:31 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.