Bug #94015 Cannot re-boostrap mysql router when it is running since 8.0.14
Submitted: 23 Jan 9:38 Modified: 22 Feb 22:57
Reporter: Guillaume Bienkowski Email Updates:
Status: Closed Impact on me:
Category:MySQL Router Severity:S3 (Non-critical)
Version:8.0.14 OS:Debian (stretch)
Assigned to: CPU Architecture:x86 (amd64)

[23 Jan 9:38] Guillaume Bienkowski
Since 8.0.14, executing `mysqlrouter --bootstrap` on a configured router will not work.

We used to be able to re-bootstrap the router while the service was running. This is not the case anymore: we now need to stop the service, bootstrap, then restart the service.

For completeness, we re-bootstrap regularly because our ansible role does it and it used to be of no consequences.

Downgrading manually to 8.0.13, we are able to re-bootstrap normally.

How to repeat:

- Install mysqlrouter
- Bootstrap it on a running cluster
- Verify that you can connect locally (mysql -uxx -pyy -h -P 6446)
- Re issue the bootstrap command while the router is running (shouldn't change much, creates a new unique id)
- Restart the router 
- Verify that the router cannot connect anymore to the distant cluster.

The only way to get out of this is to 
- stop the service, 
- bootstrap while the service is down, and then 
- restart it.
[23 Jan 9:41] Guillaume Bienkowski
For reference, when the router is re-bootstraped and doesn't work, you get this message when trying to connect locally:

root@testvm:/home/ansible# mysql -u xxx -pyyy -h -P 6446 
ERROR 2003 (HY000): Can't connect to remote MySQL server for client connected to ''
[28 Jan 11:43] Umesh Shastry
Hello Guillaume,

Thank you for the report and feedback.
Verified as described.

[22 Feb 22:57] Philip Olson
Posted by developer:
Fixed as of the upcoming MySQL Router 8.0.16 release, and here's the changelog entry:

It was not possible to re-boostrap Router while it was running. Instead,
stopping the service beforehand was required.

Thank you for the bug report.