This code from binlog_init() is the root cause:
#ifdef WITH_WSREP if (WSREP_ON) binlog_hton->state= SHOW_OPTION_YES; else { #endif /* WITH_WSREP */ binlog_hton->state=opt_bin_log ? SHOW_OPTION_YES : SHOW_OPTION_NO; #ifdef WITH_WSREP } #endif /* WITH_WSREP */
That is, unlike PS, PXC has binlog emulation, which makes start_snapshot_handlerton() think it can request a consistent snapshot from the binlog 'handlerton', but the binlog is not actually initialized.
This code from binlog_init() is the root cause:
#ifdef WITH_WSREP hton->state= SHOW_OPTION_YES; hton->state= opt_bin_ log ? SHOW_OPTION_YES : SHOW_OPTION_NO;
if (WSREP_ON)
binlog_
else
{
#endif /* WITH_WSREP */
binlog_
#ifdef WITH_WSREP
}
#endif /* WITH_WSREP */
That is, unlike PS, PXC has binlog emulation, which makes start_snapshot_ handlerton( ) think it can request a consistent snapshot from the binlog 'handlerton', but the binlog is not actually initialized.