[MDEV-20637] MariaDb upgrade leads to fatal error 1236 after startup Master Slave Created: 2019-09-20 Updated: 2020-12-01 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Replication |
| Affects Version/s: | 10.2.26, 10.1.41 |
| Fix Version/s: | 10.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Ragul | Assignee: | Andrei Elkin |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | master-slave, replication | ||
| Environment: |
Ubuntu Rhel 7 |
||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
Hi, I have upgraded MariaDB from 10.1.38 to 10.1.41 version and 10.2.18 to 10.2.26 in my project for different branches, which caused the below problem during the start of Database Replication
In earlier versions, it was working properly. Are there any changes went related to replication which we need to adapt explicitly during installation? Binary Logs details: Master bin logs events
|
| Comments |
| Comment by Ragul [ 2019-09-26 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Is there anything we need to adapt explicitly during installation? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrei Elkin [ 2019-09-26 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
RagulR: Thanks for the report! What are the slave's @@global.gtid_slave_pos? I suggest to use CHANGE MASTER TO .. MASTER_USE_GTID=slave_pos unless you already do that. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ragul [ 2019-09-26 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
In the earlier version, we had MASTER_USE_GTID=Current_Pos and the above mentioned issue didn't occur. But only with the latest version upgrade, we are facing this issue. Any recent change has been done regarding this? What will be the impact on changing to MASTER_USE_GTID=slave_pos ? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrei Elkin [ 2019-09-26 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
RagulR In this sort of failure, sorry, it's not enough to refer to any successful past without providing more details, Your slave error suggests that either "slave"@@global.gtid_slave_pos or "slave"@@global.gtid_binlog_pos has a gtid value that does not exist in the master binlog. I think it's reasonable that we first explain what is happening to your slave currently, and after that answer the question of why it had worked before. Thank you. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ragul [ 2019-09-27 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks. Here are the details of the server's and master's pos & state. Is there any other details needed Slave Details:
Master Detail:
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrei Elkin [ 2019-09-27 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Now with the gtid states available it's clear that the master refused to feed the slave correctly. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ragul [ 2019-09-27 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Thanks, Elkin. But still, I don't understand why this change I could see only after MariaDB upgrade Before the upgrade, I could see the value of gtid_binlog_pos as empty in slave but gtid_current_pos has some value. But after upgrade the state is different. Is there any recent change has been done regarding this and that should adapt during installation because no explicit change has been made from our end except the MariaDB version change? What will be the impact on changing to MASTER_USE_GTID=slave_pos? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ragul [ 2019-10-01 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi Elkin. Is there any information needed from our end. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrei Elkin [ 2019-10-02 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
> gtid_binlog_pos as empty in slave but gtid_current_pos has some value This may be fine 'cos of the definition of gtid_current_pos. Please check with the docs that defines both. If you have a reproducible test case that creates such a state we would really appreciate for sharing it, To your question of 'recent changes', I can't point to any that may relate to your description. To 'What will be the impact on changing to MASTER_USE_GTID=slave_pos', I suggest you to read the mariadb docs' GTID section. Normally, the gtid tracking by slave should base on 'slave_pos'. To a normal case I relate for instance one that the slave does not update its state on its own. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ragul [ 2019-10-24 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi Elkin, Thanks for the clarification. But still, we have some doubts regarding this.
from where I could see the difference in the output of gtid_positions in v10.2.18 where first 3 positions are null while in v10.2.27 it has 0-1-1. As part of my analysis, I could see the above difference only after adding "log-bin=binary-log." properties in my cnf file. while without the property I could not see the above difference. Can you please clarify the above behavior? Why the position get affected after adding "log-bin" ? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Ragul [ 2019-11-12 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hi Elkin, can you comment on the below behaviour
As per the above note found in https://mariadb.com/kb/en/library/gtid/#gtid_binlog_pos. |