algolia / algolia/algoliasearch-client-python

Update AlgoliaUnreachableHostException to OperationTimeout

未关闭
#556 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
207
派生
63
PR 合并指标
30 天内没有已合并 PR

描述

- Algolia Client Version: 2.5.0 (I see that 3.0 was released 3 days ago, not sure if that resolves this)
- Language Version: Python 3.9.7

### Description

Client throws `algoliasearch.exceptions.AlgoliaUnreachableHostException`: Unreachable hosts during `replace_all_objects` operation. The issue was not that hosts were unreachable but that the operation was timing out. I fixed the problem by setting `readTimeout` to 100:

```
client = SearchClient.create(algolia_application_id, algolia_api_key)
index = client.init_index(algolia_index)
request_options = {
"readTimeout": 100
}
index.replace_all_objects(records, request_options)
```

A timeout should produce a timeout error. Unreachable is misleading.

### Steps To Reproduce

See description.
Use `replace_all_objects` on a sufficiently big index. Mine was 6393 rows and 10+ columns some with significant text blocks.

贡献指南

打开贡献指南

调研方向

首先跟踪 Python 客户端中 replace_all_objects 的超时处理,以及它如何将失败映射为 AlgoliaUnreachableHostException。使用足够大的索引重现该操作,然后验证读取超时会报告 OperationTimeout,而真正无法访问的主机仍会报告主机异常。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
api
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。