0

When I use same code with simple-validate and 3 nodes RAFT that are all ok. but I change to BFT. report below error. Actually I only use one un-consume make as input. but not sure why report below error. My code based on M14 version.

[WARN ] 2017-09-26T14:01:38,402Z [Node thread] flow.[9c5ea2df-43ef-4ff8-a954-c6b81ca2740f].run - Flow ended due to receiving exception net.corda.core.flows.NotaryException: Error response from Notary - One or more input states for transaction 0EFBAA4B3FAC43D15EB51CD6F7D352C62AC9C5438F56949C50484D1FE38E0A5A have been used in another transaction at net.corda.node.services.statemachine.FlowStateMachineImpl.erroredEnd(FlowStateMachineImpl.kt:373) ~[corda-node-0.14.0.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.waitForLedgerCommit(FlowStateMachineImpl.kt:212) ~[corda-node-0.14.0.jar:?] at net.corda.core.flows.FlowLogic.waitForLedgerCommit(FlowLogic.kt:232) ~[corda-core-0.14.0.jar:?] at com.legalcontract.flow.LegalContractFlow$Initiator.call(LegalContractFlow.kt:266) ~[kotlin-source-0.1.jar:?] at com.legalcontract.flow.LegalContractFlow$Initiator.call(LegalContractFlow.kt:44) ~[kotlin-source-0.1.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:101) [corda-node-0.14.0.jar:?] at net.corda.node.services.statemachine.FlowStateMachineImpl.run(FlowStateMachineImpl.kt:33) [corda-node-0.14.0.jar:?] at co.paralleluniverse.fibers.Fiber.run1(Fiber.java:1067) [quasar-core-0.7.6-jdk8.jar:0.7.6] at co.paralleluniverse.fibers.Fiber.exec(Fiber.java:767) [quasar-core-0.7.6-jdk8.jar:0.7.6] at co.paralleluniverse.fibers.RunnableFiberTask.doExec(RunnableFiberTask.java:100) [quasar-core-0.7.6-jdk8.jar:0.7.6] at co.paralleluniverse.fibers.RunnableFiberTask.run(RunnableFiberTask.java:91) [quasar-core-0.7.6-jdk8.jar:0.7.6] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_144] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_144] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) [?:1.8.0_144] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [?:1.8.0_144] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_144] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_144] at net.corda.node.utilities.AffinityExecutor$ServiceAffinityExecutor$1$thread$1.run(AffinityExecutor.kt:69) [corda-node-0.14.0.jar:?]

eye
  • 61
  • 7
  • BTW, also involved existed document with Attachment. – eye Sep 26 '17 at 15:29
  • What do you mean by `I only use one un-consume make as input`? – Joel Sep 29 '17 at 09:21
  • actually I only use a index make it as input. I also involved a used attachment. – eye Oct 04 '17 at 14:37
  • From the error message, it looks like you're trying to consume the same input state twice. Is that possible? Try deleting the nodes and re-deploying them, then making sure you only do a single transaction. Does the error occur the very first time? – Joel Oct 05 '17 at 08:15
  • Hi Joel, If I make a single transaction with a input and attachment to party, it's ok. after that I send back report this issue from party report this error.Seem it because attachment be consumed twice in BFT. I will use release 1.0.0 to test. With RAFT it's ok – eye Oct 09 '17 at 16:42
  • Hi Joel, I changed to V1 version and make a final test after I re-correct flow logic. as you from 13 or 14 version, let sender to notify notary. I always based on receipt to notify notary from 12 flow logic. so far it's ok. we can close this issue. thx for help. – eye Oct 18 '17 at 03:51

1 Answers1

0

As Eye points out in his last comment, the issue was on the flows. You should always your flows for spending the same input more than once.

That will trigger an auto rejection from the notary, no matter what consensus you have in your notary cluster.

Peter Li
  • 1,032
  • 1
  • 6
  • 10