【发布时间】: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);在我的本地测试期间,我收到一个错误,即无法序列化 Client、Request 和 Response 对象,因此我取消了这些引用并且它起作用了。
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 的 repo 上为这个错误打开了一个 issue(按照 Roger 的指示)。
-
最新信息在以下问题中:github.com/corda/corda/issues/5593
标签: corda