Bug #55630 --server-id=0 fails silently
Submitted: 29 Jul 2010 16:36 Modified: 29 Aug 2010 19:59
Reporter: Paul DuBois Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Options Severity:S3 (Non-critical)
Version:5.5 OS:Any
Assigned to: CPU Architecture:Any

[29 Jul 2010 16:36] Paul DuBois
Description:
I start the server with:

[mysqld]
server_id=-1

This message appears in the error log:

100729 11:25:19 [Warning] option 'server_id': unsigned value 18446744073709551615 adjusted to 4294967295

So -1 is being treated incorrectly like an unsigned value. That's a problem, but at least you get a warning in the error log.

However, when I start the server with:

[mysqld]
server_id=0

No warning appears in the error log, but neither is the setting accepted.  SHOW VARIABLES shows that the variable has its default value:

mysql> show variables like 'server%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 1     |
+---------------+-------+

If the value 0 is legal, then it should be accepted, and not ignored.

If it is illegal, attempting to use it should produce a warning or error.

According to the manual, the value 0 is in the legal range for server_id. See:
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_server_id
which says: Range	0-4294967295
I suspect that is incorrect, and that the legal range should start from 1.

So we have a server bug, at least. And we may have a documentation issue. If so, I would like to fix the manual, but I need an assessment of this bug report first. Thanks.

How to repeat:
See above.
[29 Jul 2010 17:21] MySQL Verification Team
Thank you for the bug report. Which exactly source tree have you tested?. With mysql-next-mr I got the below warning:

100729 14:19:52 [Warning] You have enabled the binary log, but you haven't set server-id to a non-zero value: we force server id to 1; updates will be logged to the binary log, but connections from slaves will not be accepted.
[29 Jul 2010 17:40] Paul DuBois
Interesting. I get the behavior I reported with mysql-trunk (5.5.6) and mysql-next-mr (5.6.99), on both Mac OS X and Gentoo Linux: No warning, and server_id set to 1. What platform did you use?
[29 Jul 2010 17:45] Paul DuBois
I should mention that I am also using the log-bin option in my option file.

Without log-bin, server_id is set to 0. So this is curious: With log-bin, why are you getting a warning and I am not?
[29 Jul 2010 19:56] Sveta Smirnova
I also get warnings.
[29 Jul 2010 19:59] Sveta Smirnova
Paul,

how do you compile server and which options do you use when start it? I use BUILD/compile-pentium64-debug-max script, HAVE_CMAKE=no and MTR default options.
[29 Jul 2010 21:27] MySQL Verification Team
I tested on Fedora 13 X86_64 and compiled with:

[miguel@tikal mysql-next-mr]$ BUILD/compile-amd64-debug-max
[29 Aug 2010 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".