【问题标题】:Replaying flow from last checkpoint error从最后一个检查点错误重放流程
【发布时间】:2019-10-15 23:16:17
【问题描述】:

请注意,我的节点是 Corda TestNet 的一部分,并且部署在 Google Cloud Platform 上。
我正在使用以下内容:
1. Corda OS 4.1(更新为4.3-RC01
2. Tokens SDK 1.1-SNAPSHOT(更新为1.1-RC01
3.OKHttp 3.5.0

我有一个执行以下操作的流程:
1. 进行 HTTP 调用(根据 Samples repo 中的 HTTP 示例使用 OKHttp);在我的本地测试期间,我收到一个错误,即无法序列化 ClientRequestResponse 对象,因此我取消了这些引用并且它起作用了。
2.获取我的EvolvableTokenType的最新版本
3. 使用该版本创建新的FungibleTokens
4.拨打IssueTokens子流程
5. 休眠一毫秒(检查点流);我删除了这个,但仍然遇到同样的错误。
6. 调用UpdateEvolvableToken 子流程(我的令牌类型有一个字段可以跟踪已发行令牌的数量,因此在每次发行后;我更新该字段)。

当我运行流测试或从节点终端本地运行流时(针对 H2 和 Postgres DB),这一切都有效。

我将此 CorDapp 部署到 GCP(Google Cloud Platfrom),并且能够运行与该应用不同的流程,但是当我运行此流程时;我收到以下错误:

net.corda.node.services.statemachine.FlowTimeoutException: replaying flow from the last checkpoint
    at net.corda.node.services.statemachine.SingleThreadedStateMachineManager$scheduleTimeoutException$$inlined$with$lambda$1.run(SingleThreadedStateMachineManager.kt:638) ~[corda-node-4.1.jar:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_222]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_222]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_222]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_222]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_222]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_222]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

我删除了 HTTP 调用(担心这是问题所在)并重新部署,在 GCP 上重新运行,但仍然出现该错误。

【问题讨论】:

标签: corda


【解决方案1】:

不确定,但首先 Tokens 1.1 应该使用 Corda 4.3 :)

【讨论】:

  • 我试试看,罗杰。
  • 我无法添加新的selection 模块依赖项;找不到com.r3.corda.lib.tokens:tokens-selection:1.1-RC01
  • 当我尝试运行我的流程测试时(在添加 TestCordapp.findCordapp("com.r3.corda.lib.tokens.selection") 之后)。 java.lang.IllegalArgumentException: There are no CorDapps containing the package com.r3.corda.lib.tokens.selection on the classpath. Make sure the package name is correct and that the CorDapp is added as a gradle dependency.
  • 将依赖项从 token-selection 重命名为 tokens-selection 应为:ci-artifactory.corda.r3cev.com/artifactory/corda-lib-dev/com/r3/…
猜你喜欢
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
  • 2018-05-06
  • 2017-07-12
  • 2019-09-11
  • 1970-01-01
相关资源
最近更新 更多