【标题】(请简要描述下实现的内容)
修复缺陷【分区表全表更新时存在内存泄露】
【实现内容】:
修复缺陷【分区表全表更新时存在内存泄露】
【根因分析】:
分区表更新操作时,存在以下调用ExecUpdate->ComputePartKeyExprTuple->ComputePartKeyExprTuple->freePartList
但是freePartList的实现没有对list的cell内存进行释放,每次会造成一些内存泄漏,导致ModifyTable算子内存不断上涨,缺陷场景下为每个元组72字节(debug版本)
【实现方案】:
(1)修改freePartList实现,参考list_free_private,释放cell的内存
(2)删除无用的freeSubPartList函数
【关联需求或issue】:
#I6Z3JF:分区表,全表更新时存在内存泄露
【开发自验报告】:

  1. 请附上自验结果(内容或者截图)
  2. 是否可以添加fastcheck测试用例,如是,请补充fastcheck用例
  3. 是否涉及资料修改,如是,在docs仓库补充资料
  4. 是否考虑升级场景(系统表修改、日志持久化以及修改执行态数据格式)
  5. 是否考虑在线扩容等扩展场景
  6. 是否考虑异常场景/并发场景/前向兼容/性能场景
  7. 是否对其他模块产生影响

【其他说明】: