You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Aerospike scan返回done(abandoned-response-timeout)如何调整超时参数?

调整方案

你遇到的done (abandoned-response-timeout)状态为Aerospike服务端扫描任务等待客户端拉取结果超时,主动终止任务导致,默认配置下客户端会直接返回已接收到的部分数据,不会抛出异常,可按以下两个维度调整参数:

1. 服务端参数调整(版本3.15.1.4适用)

需要调整服务端扫描任务等待客户端的最大空闲时间,配置方式如下:

  • 静态配置(需重启节点生效):在aerospike.conf的service配置块中添加如下内容,单位为毫秒:
scan-client-max-idle 30000
  • 动态配置(无需重启,即时生效):在任意节点执行如下命令:
asinfo -v 'set-config:context=service;scan-client-max-idle=30000'

可根据你单次扫描的预估耗时调整数值,建议设为预估最大耗时的1.5倍以上。

2. Go客户端参数调整

需要修改ScanPolicy相关配置,同时开启超时抛错逻辑:

  • 调整超时参数:
    • TotalTimeout:设置为整个扫描任务的最大总超时,需大于服务端scan-client-max-idle的配置值
    • SocketTimeout:设置为单节点socket通信超时,建议配置为5000~10000毫秒
  • 开启超时抛错误逻辑:将ScanPolicy的FailOnClusterChange设置为true,同时在扫描结果回调时判断返回的Error字段,若存在非空错误则直接向上抛出,不要处理已返回的部分数据。

额外优化建议

如果单次扫描的数据量超过100万条,建议拆分扫描范围(比如按主键哈希范围拆分多个子扫描任务),避免单次任务耗时过长触发超时。

内容的提问来源于stack exchange,提问作者Joehl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 12:15:00