【问题标题】:What does the Datomic exception `read-transactor-location-failed` mean?Datomic 异常“read-transactor-location-failed”是什么意思?
【发布时间】:2014-11-16 19:24:10
【问题描述】:

删除或创建 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)
...

这个异常是什么意思?它可能发生的一些常见原因是什么?

【问题讨论】:

  • 您使用的是哪种存储?
  • 我正在使用 Amazon DynamoDB。

标签: exception datomic


【解决方案1】:

当交易者启动时,他们会将自己的位置写入存储。他们实际上在每条心跳消息中都写下了他们的位置。如果您在对等方尝试连接时看到此消息,则表示未写入任何交易者位置,或者他们无法从存储中读取(并在尝试这样做时首先遇到此错误)。

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

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

【讨论】:

【解决方案2】:

当我在数据库 uri 中没有密码的情况下连接时出现此错误

datomic:dev://transactor:4334/mydb?password=XxXxXx

【讨论】:

    【解决方案3】:

    自从我遇到这种情况已经有几个星期了。我想我想出了答案,但我不确定我是否记得正确。所以我会把它变成一个社区维基,以防我错了。

    :db.error/read-transactor-location-failed 表示在 Datomic 中配置的位置没有有效的后端存储服务。

    我在 AWS CloudFormation 中遇到了这个错误。我有一个事务器(在 EC2 实例上运行)和后端存储(一个 DynamoDB 表)。我认为发生此错误是因为事务器在创建 DynamoDB 表之前启动。 (在事务实例中添加DependsOn 子句解决了这个问题。)

    【讨论】:

    猜你喜欢
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    相关资源
    最近更新 更多