内容纲要
概要描述
环境背景:sophon2.5升级到sophon2.6再升级到sophon2.7
问题描述:sophon2.7实验模块中的代码显示不完整。
详细说明
问题排查:
- F12 发现codes的 response里面最后有null 值
[{"id":"1e2d8e1a-19bb-4dc5-9da2-c92b27f9ab10","name":"test12345",
"createTimestamp":1620441012000,"modifyTimestamp":1620441019000,
"desc":"","type":"script","language":"python3",
"codeContent":"from sophon.script.load_spark import EntryPoint\nentry = EntryPoint()\nparams = entry.get_parameters()\n# 请保留上述的代码, 自定义算子运行必须依赖上述代码\ninput_a = entry.get_df('a') # 获取 a 输入的端口\nentry.put_df('g', ) # 添加输出端口 g,请在第二个参数中填入希望输出的内容\n",
"inputs":[{"name":"a","isGroup":null,"dataType":"data","key":1,"optional":false,"type":null,"desc":null}],
"outputs":[{"name":"g","isGroup":null,"dataType":"data","key":1,"optional":false,"type":null,"desc":null}],"params":[],
"pid":"9941afff-c033-4268-a20b-6010fb6f1074","attr":{"category":"complex"}},null]
- 进入sophon的元数据库,使用下面的SQL , 发现故障项目id的metastore_sophon1.code和metastore_resource_sophon1.data_object的数据对不上,有一个有null值
select c.id, d.id from metastore_sophon1.code as c right join (select * from metastore_resource_sophon1.data_object where parent_id="9941afff-c033-4268-a20b-6010fb6f1074" and object_type="code") as d on c.id=d.id \G
问题原因
sophon2.6及2.6以前的代码模块是不支持文件夹的形式的,sophon2.7才支持;
在2.7中创建代码的时候会在metastore_resource_sophonX库里面存一份,故障环境中,在resource库中有记录,但是在metastore_sophon1没有这个文件的记录(也就是实际没有这个代码文件),导致的显示不完整。
解决方案
workround :删除查出来的空数据。
永久解决方案:
- 替换sophon base容器里面的
/usr/lib/sophon/driver-jars/sophon-code-2.7.0-SNAPSHOT.jar /usr/lib/sophon/server-jars/sophon-server-2.7.0-SNAPSHOT.jar
这两个包
- 重启sophon base角色。
下载链接:咨询售后支持获取