1

我正在尝试在 fdbCli 中执行 getRange 命令,但它失败了 FDBException: Transaction is too old to perform reads or be committed 这个特殊异常的含义是什么?这是否意味着查询需要超过 5 秒才能完成?

4

1 回答 1

0

Fdb 保留 5 秒内开始的事务列表。此外,数据节点仅保留最后 5 秒的版本。所以如果读取的版本小于dataNodes保存的最后一个版本,dataNodes没有办法响应请求。这就是 fdb 抛出此异常的原因。规避此类例外的诀窍是将一个巨大的交易时间分配给许多小交易。我还注意到如果事务时间 < 300 毫秒,fdb 的性能非常好。

于 2020-02-06T08:42:44.457 回答