当出现Wait future timeout错误时,请确保客户端未出现FullGC并且未在请求期间调用client.shutdown()方法,以及排查服务端延迟是否过高。

问题现象

使用SDK调用API请求服务端时出现Wait future timeout错误。

可能原因

从发出请求到返回结果的耗时超过了syncClientWaitFutureTimeoutInMillis的值。syncClientWaitFutureTimeoutInMillis的默认值为60000,单位为毫秒。
说明 正常情况下,syncClientWaitFutureTimeoutInMillis的值不建议设置的过小。您可以在ClientConfiguration中设置syncClientWaitFutureTimeoutInMillis的值。

出现此问题的可能原因如下:

  • 客户端出现FullGC或者在请求期间主动调用了client.shutdown()方法。
  • 服务端延迟过高,大于syncClientWaitFutureTimeoutInMillis的值。

解决方案

  • 确认客户端中是否出现FullGC或者是否在请求期间主动调用了client.shutdown()方法导致callBack回调线程被关闭。
  • 登录表格存储控制台确认服务端延迟是否过高。具体步骤如下:

    在数据表的表管理页面,单击监控指标页签后,选择表或索引,指定时间范围以及选择指标分组平均访问延迟,即可查看不同操作类型的平均访问延迟信息。

    如果服务端延迟大于syncClientWaitFutureTimeoutInMillis的值,请提交工单联系表格存储技术支持。

    fig_20220217_mointor