w***@163.com
w***@163.com
  • 发布:2021-12-23 11:06
  • 更新:2022-02-28 15:47
  • 阅读:907

【报Bug】unicloud 前端调用,比较高的几率返回错误问题

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

使用unicloud前端组件和jql语法请求

预期结果:

正常返回数据

实际结果:

较高的概率返回如图错误

bug描述:

项目的app端(只有安卓和ios平台)使用uni-app,管理后台是用 unicloud admin 搭建的,请求方式都是前端直接查询数据库。经过长达两个多月的使用和观察,前端几乎所有的请求会有较高的概率返回错误,特别是间隔1~2小时,或者第二天早上请求,有极大的概率会返回错误,刷新后正常(正常后持续一段时间请求都没问题),错误信息主要为两种,附件图片是浏览器控制台截图:

第一种情况是返回查询超时,需要根据文档优化查询性能,但查询的表数据(关联2个表)只有不到100条(多的表也只有2000条左右),查询和排序的字段都已经按文档要求添加索引;

第二种情况返回400,但错误信息里返回 request:ok,这种情况除了查询会出现,add()或者update()时也会出现,表现为返回这个错误信息,但是数据add/update是成功的。

怀疑是冷启动问题,但因为是前端直查数据库,且官方文档也没有这方面的说明,也没法像云函数那样在unicloud后台设置超时时间,在慢查询日志没有任何记录。
这期间为了解决这个问题,已经翻遍了官方文档,目前都没有解决,如果还有其他办法,麻烦告知。

2021-12-23 11:06 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

在云函数日志里面找一下后面一个错误对应的日志,发出来看看。另外那个有提示参考文档进行优化的看一下文档,对照你的代码数据库看看有没有优化空间

  • w***@163.com (作者)

    没想到按要求发日志出来看了,就没有下文了,有点失望。这个问题还一直存在,刚刚在社区里看到你们官方的人说unicloud只有腾讯云是稳定可靠的,难道是因为免费版的阿里云只适合用来写写demo玩玩?

    2021-12-28 12:09

  • DCloud_uniCloud_WYQ

    回复 w***@163.com: 你上次上传schema或者uni-id是什么时间还记得吗?

    2021-12-28 15:02

  • DCloud_uniCloud_WYQ

    回复 w@163.com: 回复 w@163.com: 帖子比较多难免有漏看的情况,建议加一下官方QQ群

    2021-12-28 15:04

  • DCloud_uniCloud_WYQ

    回复 w***@163.com: 另外clientDB权限校验也会查一次库,看一下你得权限怎么配置的

    2021-12-28 15:06

  • w***@163.com (作者)

    回复 DCloud_uniCloud_WYQ: 上传schema具体时间不记得了,最近一次在一周前,uni-id是基本没动过。read权限除了true,就是 doc.status==0 这种,最复杂也就是 doc.status+ uid 一起。但我的问题描述得很详细,你有可能忘记看了,这个问题我观察了很长时间,出错的关键是一段时间没有请求了,比如早上登录后初次加载列表,有很大的概率会报错,加载成功后,持续一段时间都会没问题。这和冷启动超时很像。

    2021-12-28 22:57

  • DCloud_uniCloud_WYQ

    回复 w***@163.com: 我把你的requestId发给阿里那边看看吧,不太好确定原因

    2021-12-29 11:13

  • DCloud_uniCloud_WYQ

    回复 w***@163.com: 服务空间id可以私聊发我一下

    2021-12-29 11:14

  • w***@163.com (作者)

    回复 DCloud_uniCloud_WYQ: 昨天想发私信空间id,提示让我先去改头像和昵称才能发,去改昵称提示我改不了...这体验也是够糟糕,今天试了还是一样

    2021-12-30 11:08

  • DCloud_uniCloud_WYQ

    回复 w***@163.com: 那今天还出现超时问题吗?可以加我QQ 2292434668

    2021-12-30 14:52

  • DCloud_uniCloud_WYQ

    回复 w***@163.com: 没法发私信的问题我让同事看下

    2021-12-30 14:54

  • w***@163.com (作者)

    回复 DCloud_uniCloud_WYQ: 已经发送qq验证了,现在还没通过,麻烦看一下

    2022-01-04 11:02

w***@163.com

w***@163.com (作者) - we

请求响应状态: success
请求入参: {
"args": {
"command": {
"$db": [
{
"$method": "collection",
"$param": [
"guitar-app-versions"
]
},
{
"$method": "orderBy",
"$param": [
"addtime desc"
]
},
{
"$method": "skip",
"$param": [
0
]
},
{
"$method": "limit",
"$param": [
10
]
},
{
"$method": "get",
"$param": [
{
"getCount": true
}
]
}
]
},
"clientInfo": {
"PLATFORM": "h5",
"OS": "mac",
"APPID": "UNI0B069BF",
"LOCALE": "zh-Hans",
"DEVICEID": "1625801283388571645",
"CLIENT_SDK_VERSION": "1.0.14"
},
"uniIdToken": "token内容我手动删掉了"
},
"requestId": "ac1408181640243877469175787"
}

上面是刷了几遍又出来的,对应的控制台内容是图片

  • w***@163.com (作者)

    补充,上面这个表只有7条数据,出错后,再次刷新正常

    2021-12-23 15:25

w***@163.com

w***@163.com (作者) - we

另外关于查询优化的那个错误,已经按文档要求都尝试过了,问题仍然没有改善,而且很多新建的表只有几条数据的,也会出现这种情况。

hws007

hws007 - 我就是我!

用的阿里云的嘛?

  • w***@163.com (作者)

    是阿里云,你也遇到了吗,我很奇怪,难道这个问题只有我们遇到了?因为已经持续很长时间了

    2021-12-24 11:58

hikerw

hikerw

遇到了同样的问题 很不稳定

3***@qq.com

3***@qq.com - 自己人

我也遇到了! 我看了社区反馈这个问题的 都是联表查询的多 !我这边的问题也是表现为 早上的查询或者很长一段时间就会报这个错! 解决思路是写给定时器定时执行不知道会不会暂时解决

hws007

hws007 - 我就是我!

要优化联表查询!我优化后!很少超时了!好了好多!但还会有小概率会报错,但比之前好多了!还在优化中!看看是哪些问题!能不能彻底解决!现用的阿里云

1***@qq.com

1***@qq.com

+1,表里就一条数据,也会报查询超时

  • 3***@qq.com

    这个我感觉是冷启动和阿里云给的查询时间太少的问题

    2022-02-28 20:22

  • 1***@qq.com

    回复 3***@qq.com: 阿里云再不商业化,就只能改代码用腾讯云了

    2022-02-28 20:28

该问题目前已经被锁定, 无法添加新回复