Bug #28714 Doc: innodb_safe_binlog and innodb_support_xa
Submitted: 28 May 2007 5:41 Modified: 30 Aug 2007 16:44
Reporter: Yoshiaki Tajika (Basic Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.0, 5.1 OS:Any
Assigned to: MC Brown CPU Architecture:Any
Triage: D4 (Minor)

[28 May 2007 5:41] Yoshiaki Tajika
Description:
I know innodb_safe_binlog is obsolete, after innodb_support_xa 
was inplemented in 5.0.3.

 (quoted from the reference manual)
 > innodb_safe_binlog
 > Adds consistency guarantees between the content of InnoDB 
 > tables and the binary log. See Section 5.12.3, "The Binary Log".
 > This variable was removed in MySQL 5.0.3, having been made
 > obsolete by the introduction of XA transaction support.

 > Note: For the greatest possible durability and consistency 
 > in a replication setup using InnoDB with transactions, 
 > you should use innodb_flush_log_at_trx_commit=1,
 > sync_binlog=1, and, before MySQL 5.0.3, innodb_safe_binlog 
 > in your master server my.cnf file. (innodb_safe_binlog is 
 > not needed from 5.0.3 on.)

But what if the user turn innodb_support_xa off?
Does MySQL still keeps consistent binary logging?
If not, I suggest that the manual tells that innodb_support_xa 
should be ON in some cases, even if the user don't use XA.

How to repeat:
N/A

Suggested fix:
See above.
[28 May 2007 7:16] Sveta Smirnova
Thank you for the report.

But there is note "Note: For the greatest possible durability and consistency in a replication setup using InnoDB with transactions, you should use innodb_flush_log_at_trx_commit=1, sync_binlog=1, and, before MySQL 5.0.3, innodb_safe_binlog in your master server my.cnf file. (innodb_safe_binlog is not needed from 5.0.3 on.)" at http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#optvar_innodb_flush_log_at_t... section in the manual.
[28 May 2007 9:22] Yoshiaki Tajika
Sorry, would you please tell me more?

Do you mean, as the current note says, it doesn't matter 
for durability and consistency in a replication setup 
whether innodb_support_xa is ON or OFF?

But, Heikki Tuuri and Peter Zaitsev say
> innodb_support_xa setting to 0 reduces work InnoDB
> should do on transaction commit. Binlog can get out of sync
at p.31 in the document below. 
http://www.mysqlperformanceblog.com/files/presentations/UC2007-Innodb-Performance-Optimiza...

I'm not asking a technical question, I only want the manual 
to be valid and adequate.
[1 Jun 2007 6:32] Sveta Smirnova
Thank you for the additional information.

Verified as described.
[30 Aug 2007 16:44] MC Brown
The documentation has been updated to note that innodb_support_xa should be switched on to ensure synchronization of the data and binary log.