mysql 組提交 (Group Commit) 三階段流程

      網友投稿 869 2025-03-31

      MYSQL_BIN_LOG::ordered_commit() ← 執行事務順序提交,binlog group commit的主流程 | |-#########>>>>>>>>> ← 進入Stage_manager::FLUSH_STAGE階段 |-change_stage(..., &LOCK_log) | |-stage_manager.enroll_for() ← 將當前線程加入到m_queue[FLUSH_STAGE]中 | | | | ← (follower)返回true | |-mysql_mutex_lock() ← (leader)對LOCK_log加鎖,并返回false | |-finish_commit() ← (follower)對于follower則直接返回 | |-ha_commit_low() | |-process_flush_stage_queue() ← (leader)對于follower則直接返回 | |-fetch_queue_for() ← 通過stage_manager獲取隊列中的成員 | | |-fetch_and_empty() ← 獲取元素并清空隊列 | |-ha_flush_log() | |-flush_thread_caches() ← 對于每個線程做該操作 | |-my_b_tell() ← 判斷是否超過了max_bin_log_size,如果是則切換binlog文件 | |-flush_cache_to_file() ← (follower)將I/O Cache中的內容寫到文件中 |-RUN_HOOK() ← 調用HOOK函數,也就是binlog_storage->after_flush() | |-#########>>>>>>>>> ← 進入Stage_manager::SYNC_STAGE階段 |-change_stage() |-sync_binlog_file() | |-mysql_file_sync() | |-my_sync() | |-fdatasync() ← 調用系統API寫入磁盤,也可以是fsync() | |-#########>>>>>>>>> ← 進入Stage_manager::COMMIT_STAGE階段 |-change_stage() ← 該階段會受到binlog_order_commits參數限制 |-process_commit_stage_queue() ← 會遍厲所有線程,然后調用如下存儲引擎接口 | |-ha_commit_low() | |-ht->commit() ← 調用存儲引擎handlerton->commit() | | ← ### 注意,實際調用如下的兩個函數 | |-binlog_commit() | |-innobase_commit() |-process_after_commit_stage_queue() ← 提交之后的后續處理,例如semisync | |-RUN_HOOK() ← 調用transaction->after_commit | |-stage_manager.signal_done() ← 通知其它線程事務已經提交 | |-finish_commit()


      mysql 組提交 (Group Commit) 三階段流程

      在 enroll_for() 函數中,剛添加的線程如果是隊列的第一個線程,就將其設置為 leader 線程;否則就是 follower 線程,此時線程會睡眠,直到被 leader 喚醒 (m_cond_done) 。

      注意,binlog_max_flush_queue_time 參數已經取消。

      MySQL 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:生產制造行業如何管理
      下一篇:如何使用手機wps表格篩選數據(手機wps表格怎么篩選內容)
      相關文章
      亚洲 综合 国产 欧洲 丝袜 | 国产亚洲精品成人AA片新蒲金 | 亚洲av无码国产精品夜色午夜| 国产亚洲精品第一综合| 亚洲中文字幕无码中文| 亚洲国产日韩精品| 美女视频黄免费亚洲| 在线aⅴ亚洲中文字幕| 日韩亚洲人成在线| 亚洲国产日韩综合久久精品| 亚洲熟妇无码一区二区三区| 中文字幕亚洲综合久久综合| 亚洲一区二区三区在线观看网站| 亚洲国产成人久久综合野外| 亚洲精品乱码久久久久久蜜桃 | 亚洲精品无码永久在线观看| jizzjizz亚洲| 亚洲精品无码日韩国产不卡?V| 亚洲午夜精品一级在线播放放| 亚洲无线一二三四区手机| 中文字幕亚洲综合久久男男| 国产午夜亚洲不卡| 国产亚洲无线码一区二区 | 亚洲AV永久无码区成人网站| 亚洲av激情无码专区在线播放| 久久精品视频亚洲| 中文字幕亚洲综合久久2| 亚洲区精品久久一区二区三区| 97se亚洲国产综合自在线| 亚洲人成网站色7799| 日韩在线视精品在亚洲| 亚洲午夜日韩高清一区| 亚洲av无码av在线播放| 亚洲成AⅤ人影院在线观看| 久久精品国产亚洲Aⅴ蜜臀色欲| 亚洲国产另类久久久精品| 久久亚洲精品成人av无码网站| 亚洲国产精品张柏芝在线观看| 亚洲人成网站色7799| 亚洲人成无码网站久久99热国产| 亚洲人成人一区二区三区|