YoushouldhavereceivedacopyoftheGNUGeneralPublicLicense alongwiththisprogram;ifnot,writetotheFreeSoftware
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
int Repl_semi_sync_slave::init_object()
{ int result= 0;
m_init_done = true;
/* References to the parameter works after set_options(). */
set_trace_level(rpl_semi_sync_slave_trace_level);
set_delay_master(rpl_semi_sync_slave_delay_master);
set_kill_conn_timeout(rpl_semi_sync_slave_kill_conn_timeout); return result;
}
int Repl_semi_sync_slave::request_transmit(Master_info *mi)
{
MYSQL *mysql= mi->mysql;
MYSQL_RES *res= 0;
MYSQL_ROW row; constchar *query;
if (!get_slave_enabled()) return0;
query= "SHOW VARIABLES LIKE 'rpl_semi_sync_master_enabled'"; if (mysql_real_query(mysql, query, (ulong)strlen(query)) ||
!(res= mysql_store_result(mysql)))
{
sql_print_error("Execution failed on master: %s, error :%s", query, mysql_error(mysql));
set_slave_enabled(0); return1;
}
row= mysql_fetch_row(res); if (DBUG_IF("master_not_support_semisync") || (!row || ! row[1]))
{ /* Master does not support semi-sync */ if (!row)
sql_print_warning("Master server does not support semi-sync, " "fallback to asynchronous replication");
set_slave_enabled(0);
mysql_free_result(res); return0;
} if (strcmp(row[1], "ON"))
sql_print_information("Slave has semi-sync enabled but master server does " "not. Semi-sync will be activated when master " "enables it");
mysql_free_result(res);
/* Tellmasterdumpthreadthatwewanttodosemi-sync replication.Thisisdonebysettingathreadlocalvariablein themasterconnection.
*/
query= "SET @rpl_semi_sync_slave= 1"; if (mysql_real_query(mysql, query, (ulong)strlen(query)))
{
sql_print_error("%s on master failed", query);
set_slave_enabled(0); return1;
}
mi->semi_sync_reply_enabled= 1; /* Inform net_server that pkt_nr can come out of order */
mi->mysql->net.pkt_nr_can_be_reset= 1;
mysql_free_result(mysql_store_result(mysql));
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.