Comment 10 for bug 1379204

Revision history for this message
Kenn Takara (kenn-takara) wrote :

I investigated this (since I was seeing in my local MTR runs).

To repro, run the galera.galera_suspend_slave test followed by the galera.pxc-421 test (or any test that resets the wsrep_provider variable).

The bug occurs because the suspend_slave test runs long enough to establish the protocol version and pxc-421 uses the same running servers.

When we stop the wsrep provider, the information is not being reset, so a warning is issued because of the downgrade in capabilities.

    Galera defaults the repl_proto_ver to -1.
    We then request the capabilities (while the version is -1) (wsrep_view_handler_cb() in wsrep_mysqld.cc)
    We receive the v4 capabilities (the default) with the incremental data collection bit set to 0
    At some point the real protocol version is established (v7), so we get the v5 set of capabilities with the incremental data collection bit set to 1. (galera_capabilities() in wsrep_provider.cpp)
    Now the PXC-421 test restarts the wsrep_provider, so galera now has a version of -1 again (but wsrep still has the incremental data collection enabled)
    Since it's been restarted, the capabilities is requested again and since the version is -1, the incremental data collection bit is set to 0
    This then triggers the warning message as WSREP has the bit enabled and it is now being disabled.