美文网首页
openGauss源码#session_manager

openGauss源码#session_manager

作者: upup果 | 来源:发表于2021-01-12 11:10 被阅读0次

    session_manager负责管理所有会话,session_manager.h和session_manger.cpp是具体的实现.MOT的内存资源都是以session来分配的,需要通过SessionContext来进行资源管理,session_manager主要就是负责SessionContext的创建和销毁.涉及两个函数:
    1.CreateSessionContext:创建一个SessionContext有以下步骤,分配线程id,分配连接id,分配会话id.初始化masstree信息,申请内
      存,初始化session.以上每一步都执行成功,则会返回一个SessionContext对象.
    2.DestroySessionContext:销毁的过程主要有两步,首先调用TxnManager的GcRemoveSession,然后调用sessionContext的析构函数,
      对申请的资源进行释放销毁.
    此外,还保留了一个map,作为sessionid和sessioncontext的映射,这样就可以根据id获取相应的会话上下文.

    相关文章

      网友评论

          本文标题:openGauss源码#session_manager

          本文链接:https://www.haomeiwen.com/subject/ufnmoktx.html