BUG#34930969: Previous_gtids miss gtid when binlog_order_commits off
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Beginne mit der Suche nach MYSQL_BIN_LOG::finish_commit und überprüfe die Reihenfolge von dec_prep_xids und gtid_state->update_on_commit. Überprüfe den DEBUG_SYNC-Punkt after_dec_prep_xids und den MTR-Testfall rpl_previous_gtids. Erledigt ist die Aufgabe, wenn der Test verifiziert, dass Previous_gtids alle committeten GTIDs enthält, wenn binlog_order_commits deaktiviert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
When binlog_order_commits is turned off, binlog rotate will wait for m_prep_xids to decrease to zero. However, m_prep_xids was decreased before updating the thread GTID to gtid_executed in MYSQL_BIN_LOG::finish_commit, causing GTIDs to be missed in the next binlog file Previous_gtids event.
Fix
The core fix moves dec_prep_xids to be called after gtid_state->update_on_commit in MYSQL_BIN_LOG::finish_commit. This ensures that when binlog rotate waits for m_prep_xids to reach zero, all GTIDs have already been registered in gtid_executed.
Additionally:
- Added
DEBUG_SYNCpointafter_dec_prep_xidsto enable deterministic testing - Added MTR test case
rpl_previous_gtidsto verify the fix
Commit
https://github.com/xyw0537/TXSQL/commit/ae7de225c2a
Branch: bugfix/previous_gtids_miss_gtid_binlog_order_commits_off
Upstream Reference
https://github.com/mysql/mysql-server/commit/a3faa6f8799e6c7c610245d2899386131731fb41
- Vorherrschende Sprache
- C++
- Sterne
- 338
- Forks
- 235
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus OpenTenBase/TXSQL
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
OpenTenBase/TXSQL#95 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
OpenTenBase/TXSQL#57 · 1 Kommentar ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 32/100
OpenTenBase/TXSQL#113 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
OpenTenBase/TXSQL#112 ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
OpenTenBase/TXSQL#111 ·
Alle Issues in OpenTenBase/TXSQL
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Component: GLib
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Mute ydb/tests/functional/dstool/test_canonical_requests.py.Test.test_group_take_snapshot in main Offenai_reviewed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
ydb-platform/ydb#53974 · 3 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google/libultrahdr#485 ·