[CONC-650] Connector/C fails to read MariaDB binlog with XA transactions Created: 2023-06-14 Updated: 2023-06-20 Resolved: 2023-06-19 |
|
| Status: | Closed |
| Project: | MariaDB Connector/C |
| Component/s: | Replication/Binlog API |
| Affects Version/s: | 3.3.5 |
| Fix Version/s: | 3.3.6 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Sruli Ganor | Assignee: | Georg Richter |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Client running on Windows |
||
| Attachments: |
|
| Description |
|
Hi, I'm using MariaDB Connector/C 3.3.5 to read binary logs. If the function doesn't crash, it returns this error: Read next binary log event failed; mariadb_rpl_fetch error 1236 (Failed to replace GTID event with backwards-compatible event: corrupt event.; Please advise . Thanks. |
| Comments |
| Comment by Sruli Ganor [ 2023-06-14 ] | |||
|
A binary log file is attached. | |||
| Comment by Georg Richter [ 2023-06-15 ] | |||
|
Thanks for your bug report! How and with which parameters (especially mariadb_slave_capability) does the replica connect to the source? | |||
| Comment by Sruli Ganor [ 2023-06-15 ] | |||
|
Hi, I didn't set any replica parameters and am not familiar with How do I show or set these parameters? Please note that I cannot reply or attach in the Jira itself, because it's Regards בתאריך יום ה׳, 15 ביוני 2023 ב-12:10 מאת Georg Richter (Jira) < | |||
| Comment by Georg Richter [ 2023-06-15 ] | |||
|
Hi, The problem might be caused by Could you please try to set the following variables before calling rpl_open():
| |||
| Comment by Sruli Ganor [ 2023-06-15 ] | |||
|
Hi, P.s. Are these variables documented somewhere? Regards בתאריך יום ה׳, 15 ביוני 2023 ב-15:48 מאת Georg Richter (Jira) < | |||
| Comment by Sruli Ganor [ 2023-06-18 ] | |||
|
Hi, please note that unfortunately we still can't read XA transactions Please advise how to get the XA START statement, or at least the Thanks בתאריך יום ה׳, 15 ביוני 2023 ב-16:26 מאת Sruli Ganor (Jira) < | |||
| Comment by Georg Richter [ 2023-06-18 ] | |||
|
The transaction id is included in XID_EVENT, and it will be read in mariadb_rpl_fetch(): https://github.com/mariadb-corporation/mariadb-connector-c/blob/3.3/libmariadb/mariadb_rpl.c#L1501 | |||
| Comment by Sruli Ganor [ 2023-06-18 ] | |||
|
XID_EVENT appears after COMMIT of a *regular *(not XA) transaction. XA START 'TXN1'; In MariaDB 10.6, I cannot read the XA START statement because Hope it's clear. If not, we can talk since this is a critical issue for our בתאריך יום א׳, 18 ביוני 2023 ב-18:12 מאת Georg Richter (Jira) < | |||
| Comment by Georg Richter [ 2023-06-19 ] | |||
|
It looks like with implementation of |