与会人员:苏章艳、陈晓滨、李传成、彭炯、吴岳川、黄凯耀
时间:2021-08-11 16:00 – 18:00
会议纪要:
议题一:插件点列表讨论 (苏章艳)
1. 苏章艳结合插件化架构,讲解语法特性插件化案例,并梳理现有插件化架构的不足: a) 数据字典问题 b) 数据结构、枚举变量的修改 c) 钩子粒度太大 d) 备份/恢复
2. 会议上对以上四个问题分别进行了讨论。
a) 数据字典问题,进一步研究内核中增加一个系统视图的方法
b) 数据结构的修改,考虑基于变量钩子的方案
c) 钩子粒度太大,考虑语义插件的方法,细化钩子范围
d) 备份/恢复,涉及到导出工具感知对插件修改语法的感知,全核一盘棋,要统筹修改
议题二:算子插件分享
1. 陈晓滨分享了openGauss中的算子种类及汇总表、PG14所新增的算子,并开发了把PG14新增算子tidrangescan插件化,并迁移到openGauss的方案。
2. 会议建议晓滨提交PR,让SIG 组感兴趣的同学可以进行review,并到TC例会上进行评审。
3. 会议认为把新版本PG迁移到openGauss中是非常有价值的,晓滨可进一步考虑写作一篇文档,指导社区如何迁移。
4. 之前晓滨写过如何把contrib目录下的插件移植到openGauss的文章,建议继续完善,指导社区如何迁移。
5. 众智项目中有插件迁移的相关课题,要把众智涉及到的相关伙伴也加入到SIG组中,参与相关插件迁移讨论。
议题三:插件管理机制讨论
1、李传成分享了当前openGauss内核三种加载插件的方式,
a) GUC加载: PostmasterMain() / GaussDbThreadMain() -> process_shared_preload_libraries()->load_libraries()->load_file()->internal_load_library()->pg_dlsym() –> _PG_init
b) 执行加载:internal_load_library()
c) 内核代码绕过internal_load_library直接修改hook
i. pgaudit_agent_init();
ii. auto_explain_init();
2、 李传成梳理了当前内核管理机制的3个待解决问题
a) 内核代码绕过internal_load_library直接修改hook,导致某些插件(如Citus)加载失败
b) PG的RegisterDynamicBackgroundWorker()提供了在插件中开启多个具有backend属性线程的能力,能否借鉴过来
c) 修改shared_preload_libraries参数实现插件的禁用或启用,需要重启数据库,能否实现动态禁用、启用、排序插件的方法
-------------------------------------------------- 黄凯耀 Huang Kaiyao Mobile: +86-18664933229tel:+86-18664933229 Email: huangkaiyao@huawei.commailto:huangkaiyao@huawei.com
From: openGauss conference [mailto:public@opengauss.org] Sent: Monday, August 9, 2021 4:48 PM To: plugin@opengauss.org Subject: [Plugin] Plugin SIG例会
您好!
openGauss Plugin SIG 邀请您参加 2021-08-11 16:00 召开的ZOOM会议
会议主题:Plugin SIG例会
会议内容:议题一:插件点列表讨论
苏章艳已经反馈了一版,请其他小伙伴尽快反馈一下。请章艳来引导一下。
议题二:算子插件分享
陈晓滨分享openGauss算子插件化的方案。请晓滨引导一下。
议题三:插件管理机制讨论
李传成提到了插件管理的两个需求,大家一起系统讨论下插件管理机制。请传成引导一下。
会议链接:https://zoom.us/j/96849774699?pwd=aFNaMWNSNXIxdTVqN0tLekRuUmZBdz09
温馨提醒:建议接入会议后修改参会人的姓名,也可以使用您在gitee.com的ID
提前申报议题请编辑:https://etherpad.opengauss.org/p/Plugin-meetings
更多资讯尽在:https://opengauss.org/zh/
Hello!
openGauss Plugin SIG invites you to attend the ZOOM conference will be held at 2021-08-11 16:00,
The subject of the conference is Plugin SIG例会,
Summary: 议题一:插件点列表讨论
苏章艳已经反馈了一版,请其他小伙伴尽快反馈一下。请章艳来引导一下。
议题二:算子插件分享
陈晓滨分享openGauss算子插件化的方案。请晓滨引导一下。
议题三:插件管理机制讨论
李传成提到了插件管理的两个需求,大家一起系统讨论下插件管理机制。请传成引导一下。
You can join the meeting at https://zoom.us/j/96849774699?pwd=aFNaMWNSNXIxdTVqN0tLekRuUmZBdz09.
Note: You are advised to change the participant name after joining the conference or use your ID at gitee.com.
Add topics: https://etherpad.opengauss.org/p/Plugin-meetings
More informationhttps://opengauss.org/en/