secretpad
secretpad copied to clipboard
数据迁移到 MySQL 数据源的一些问题
hello,我目前在将 secretpad 的数据源从 sqlite 迁移到 MySQL,目前在执行 psi 的结果统计时,发现 project_report
表的 content
字段在 insert 时提示数据长度不足,这会导致 kuscia 任务实际执行成功,secretpad 却一直更新不了任务状态。
insert 数据的代码位于:
https://github.com/secretflow/secretpad/blob/254f594a5a2db0e99787d674421703daac4955ae/secretpad-manager/src/main/java/org/secretflow/secretpad/manager/integration/job/JobManager.java#L269
表字段定义为:
https://github.com/secretflow/secretpad/blob/254f594a5a2db0e99787d674421703daac4955ae/config/schema/init.sql#L162
我在 debug 时注意到 content 的内容来源于 dist_data
,这是一个很长的 json 内容,我想确认下这个问题是最近的版本变更导致的吗?
我目前调试的依赖组件版本为:
- kuscia-image: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/kuscia-secretflow:0.7.0.dev240229
- secretflow-image: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:1.4.0b0
使用 secretpad main 分支最新代码做调试。
另外,我注意到在建表语句中,有一些表结构字段使用了 desc
的名称,这会与 MySQL 的关键字产生冲突。
有一些表字段使用了 description
就不会有问题,我建议是否可以在后面统一将 desc
字段变更为 description
,减少数据源迁移的成本。
补充一张图示:
我们推荐使用问题模版 请按照模版内容给出与对你问题有影响的信息:
- OS
- Docker版本
- secretpad、kuscia、secretflow版本
- 部署模式(中心化、p2p)
我们推荐使用问题模版 请按照模版内容给出与对你问题有影响的信息:
- OS
- Docker版本
- secretpad、kuscia、secretflow版本
- 部署模式(中心化、p2p)
- OS:macos 13.6.3 (22G436)
- Docker:Docker version 24.0.7, build afdd53b
- 组件版本:secretpad 当前最新 main 分支代码,kuscia 0.7.0.dev240229,secretflow 1.4.0b0
- 部署模式:p2p,runp 模式
问题1:sqllite迁移mysql,需要mysql的content字段设置为longtext 问题2:最近一个即将发布的迭代会有mysql迁移说明,desc字段已经同步更新
感谢回复,我注意到目前的 sqlite 脚本中很多长字段都使用了 text,只有这个字段使用了 varcahr(64),才会造成只有这张表 insert 出问题,所以才怀疑是否有其他原因。