gpt4 book ai didi

exception - Datomic 异常 `read-transactor-location-failed` 是什么意思?

转载 作者:行者123 更新时间:2023-12-01 23:23:17 31 4
gpt4 key购买 nike

删除或创建 Datomic 数据库(使用 Datomic Pro 0.9.4899)时出现以下异常:

Exception in thread "main" java.lang.IllegalArgumentException: :db.error/read-transactor-location-failed Could not read transactor location from storage
at datomic.error$arg.invoke(error.clj:55)
at datomic.coordination$check_peer_version.invoke(coordination.clj:138)
at datomic.coordination$lookup_compatible_transactor_endpoint.invoke(coordination.clj:149)
at datomic.peer$send_admin_request$fn__8594.invoke(peer.clj:713)
at datomic.peer$send_admin_request.invoke(peer.clj:707)
at datomic.peer$delete_database.invoke(peer.clj:745)
at clojure.lang.Var.invoke(Var.java:379)
at datomic.Peer.deleteDatabase(Peer.java:142)
at datomic.api$delete_database.invoke(api.clj:23)
...
这个异常是什么意思?它可能发生的一些常见原因是什么?

最佳答案

当交易者启动时,他们将他们的位置写入存储。他们实际上用每条心跳消息写下他们的位置。如果您在对等方尝试连接时看到此消息,则意味着没有写入事务处理位置,或者它们无法从存储中读取(并且在尝试这样做时首先遇到此错误)。

AWS 配置的一个原因——比如使用 AWS CloudFormation 和 DynamoDB 作为你的存储——将使用未正确配置为写入存储的事务器属性文件启动。当对等方尝试连接到存储时,他们将无法读取交易者的位置。这可能是因为交易者和对等点指向不同的存储。您还可能遇到权限问题,例如交易者无权写入您指定的存储(安全组配置等)

无论哪种方式,造成这种情况的一般原因是错误消息所说的 - 无法从存储中读取事务处理位置。看起来这里缺少的细节是当系统健康且配置正确时这是如何发生的:对等节点从存储中读取事务处理程序的位置,并且事务处理程序将其位置作为心跳的一部分写入(并且在故障转移事件中,备用事务处理程序将在接管时写入其位置)。有各种系统配置问题可能会导致此问题。

关于exception - Datomic 异常 `read-transactor-location-failed` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961068/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com