Bug #91212 @@global.log_error_services doesn't ignore trailing whitespaces after a service
Submitted: 11 Jun 2018 13:51 Modified: 14 Jun 2018 14:53
Reporter: Srikanth Balakuntla Ramamoorthy Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Logging Severity:S3 (Non-critical)
Version:8.0.12 OS:Any
Assigned to: CPU Architecture:Any

[11 Jun 2018 13:51] Srikanth Balakuntla Ramamoorthy
Description:
The variable `log_error_services` used to accept a log service pipeline
having whitespaces on either side of the service separator ';'.

mysql> set global log_error_services="log_filter_internal ; log_sink_internal";
Query OK, 0 rows affected (0.00 sec)

But, this behavior is altered and the variable no longer accepts such a
configuration:

mysql> set global log_error_services="log_filter_internal ; log_sink_internal";
ERROR 1231 (42000): Variable 'log_error_services' can't be set to the value of 'log_filter_internal ; log_sink_internal'

The error is ambiguous as the specified argument looks perfectly valid.

This change  could be bisected to the below bug fix :-
--
commit 6d909f02263b13a78de056ab3c8cc84d37a0fe11
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Thu Apr 5 04:00:20 2018 +0100

    Bug#27788925: LOG_ERROR_SERVICES COMPONENTS SHOULD BE COMMA-SEPARATED
    
    Global system variable log_error_services accepts a list of services.
    Services could previously be separated by ';' (semicolon).
    This is still the case, but ',' (comma) may be used instead if preferred.
    Using both separators in the same list is not allowed.
    A separator may not occur before the first list-element (that is, before
    the first service).
    All whitespace padding is ignored.

How to repeat:
set global log_error_services="log_filter_internal ; log_sink_internal";

Suggested fix:
Ignore whitespace padding
[14 Jun 2018 14:53] Paul Dubois
Posted by developer:
 
Revised variable description:

The log_error_services system variable controls which log components
to enable for error logging. The variable may contain a list with 0,
1, or many elements. In the latter case, elements may be delimited by
semicolon or (as of MySQL 8.0.12) comma, optionally followed by
space. A given setting cannot use both semicolon and comma
separators. Component order is significant because the server
executes components in the order listed.