Innodb mtr buf 模块的源码阅读记录

innodb cyanprobe 5年前 (2019-09-03) 5036次浏览 已收录 1个评论

前言:

记录下最近gbdb折腾时阅读innodb源码的记录。

正文:

之前说过Mtr,有很多书写的Mtr能够控制memo内的锁结构,然而加锁过程其实来自于buf 下的 buf_page_get_gen 函数, mtr_memo_push 不包含加锁流程,而mtr中有释放锁的方法mtr_memo_slot_release 这个方法可用于处理获得page的锁及其 释放获取bufpage的锁在buf中实现。

// 会在释放页的锁中调用这个函数
// 会做一下事情页LSN的写入 buf_flush_insert_into_flush_list (加入flush链表)
buf_flush_note_modification

Mtr 的主要功能是产生日志 和负责锁的释放 。加锁的过程和锁级别则是由上层控制。


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Innodb mtr buf 模块的源码阅读记录
喜欢 (2)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 非技术的路过。
    repostone2019-10-11 16:13 回复