[错误]: 使用特定的 page_size 时,分页可能会出现问题

作者: HarryFreeMyLand创建于 2024年6月10日更新于 2024年7月20日
标签bug

我看过文件

操作系统

Linux (TrueNAS k3s) (法语).

您的臭虫报告

□ 描述错误

似乎有一个带有 pagination 的bug 根据页面大小的设置方式(在/sets/user中称为存档视图),可能导致向ES发送的请求过多。

下面是导致的错误,在一个有9981个视频和150个取景大小的频道上,导致pagination到达了会返回一个错误500和日志中这个输出的最后一页67. QQ"error":{"root cause": [{'type':"非法 参数 例外","理由":"result窗口太大了,从+大小必须小于或等于:[1000]但当时[10050]. 请参看卷轴 api 以更高效的方式请求大型数据集 。 这个限制可以通过改变[index.max result window]索引级别设置来设定.],"类型":"搜索-相位 执行-例外","理性":"所有硬度失败","阶段":"平分","组合","正确","失败","硬度":[{"硬度":0"index":"ta-video","node":"6V50WepGHS9j3s32-DcFQ","合理":{"类型":"非法 argument 例外","理性":"result窗口太大了,从+大小必须小于或等于:[1000],但是[10050]. 请参看卷轴 api 以更高效的方式请求大型数据集 。 这个限制可以通过改变[index.max result window]索引级别设置来设定."","caused by":{"类型":"非法 参数 例外","理由":"结果窗口太大了,从+大小必须小于或等于:[1000]但是[10050]. 请参看卷轴 api 以更高效的方式请求大型数据集 。 这个限制可以通过改变[index.max result window]的索引级别设置来设定.","caused by":{"类型":"非法的 参数 例外","理由":"结果窗口太大了,从+大小必须小于或等于:[1000],但当时[10050]. 请参看卷轴 api 以更高效的方式请求大型数据集 。 这个限制可以通过改变[index.max result window]的索引级别设置来设定.""状态":400}`.

Lamusmaser在一条discord shele中发现了具体细节,他的研究结果如下:

好吧,我想我明白了这一点。 第66页的配置正确,预计来自Pagination类: https://GitHub.com/tubearchivist/tubearchivist/blob/master/tubearchivist/home/src/index/generic.py#L79-L145 (中文(简体) ). 第67页不是因为页面大小=150,页面大小=(9750+150=9900),这意味着请求之所以去是因为ElasticSearch的最大限制,如前所述. . . . . . . .

内容来源: tubearchivist/tubearchivist