Muruga Balu
Muruga Balu

Reputation: 135

Flow is hanging at Collecting counterparties signature in Corda

I am trying to run Example Cordapp in two AWS instances. With Notary and PartyA in 1st Instance and PartyB and PartyC in 2nd Instance.

I followed the steps here, Corda nodes: how to connect two independent pc as two nodes?

In the conf file of,

  1. Notary and PartyA - I have edited the P2P address to reflect the PrivateIP of Instance 1
  2. PartyB and PartyC - I have edited the P2P address to reflect the PrivateIP of Instance 2

With the above conf files, I ran the Network Bootstrapper jar in Instance 1 and copied the folders PartyB and PartyC to Instance 2 and started the Notary and Parties 1 by 1 respectively in the corresponding Instances.

All nodes started succesfully and when I try to execute a IOU flow from PartA(in Instance 1) to PartyC(in Instance2), it is pausing at Collecting counterparties signature step without proceeding further. Below is what I see in PartyA's Console,

Fri Nov 30 08:39:10 UTC 2018>>> flow start ExampleFlow$Initiator iouValue: 50, otherParty: "O=PartyC,L=Paris,C=FR"
Verifying contract constraints.
Signing transaction with our private key.
Gathering the counterparty's signature.
Collecting signatures from counterparties. (hanging here and not proceeding further)

When I tried to look at the log information in NodeA, it displays as below.,

[INFO ] 2018-11-30T08:39:10,077Z [main] messaging.RPCServer.start - Starting RPC server with configuration RPCServerConfiguration(rpcThreadPoolSize=4, reapInterval=PT1S, deduplicationCacheExpiry=PT24H) {}
[INFO ] 2018-11-30T08:39:10,115Z [Thread-0 (ActiveMQ-client-global-threads)] bridging.BridgeControlListener.processControlMessage - Received bridge control message Create(nodeIdentity=DLHBP432vnpLNpCNwGQJjx3hd6RDz4LiYxmZJo757W8Hbw, bridgeInfo=BridgeEntry(queueName=internal.peers.DL9tRWQ867M3tni7KRqkXEJKPrkyW5KVj6fyRyDBHGaGA6, targets=[[2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013], legalNames=[O=PartyC, L=Paris, C=FR])) {}
[INFO ] 2018-11-30T08:39:11,072Z [nioEventLoopGroup-2-2] netty.AMQPClient.nextTarget - Retry connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}
[INFO ] 2018-11-30T08:39:12,171Z [nioEventLoopGroup-2-3] netty.AMQPClient.operationComplete - Failed to connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}
[INFO ] 2018-11-30T08:39:14,172Z [nioEventLoopGroup-2-4] netty.AMQPClient.nextTarget - Retry connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}
[INFO ] 2018-11-30T08:39:15,175Z [nioEventLoopGroup-2-1] netty.AMQPClient.operationComplete - Failed to connect to [2001:0:9d38:953c:3c:ce3:cbd9:3c59]:10013 {}

I could able to ping between instances with the private IP's without any issues. Can someone help me where am I missing things.

Thanks in advance.

Upvotes: 1

Views: 308

Answers (1)

Joel
Joel

Reputation: 23140

This issue was caused by a firewall on the node's machine that was preventing the node's messages from reaching the counterparty nodes.

You need to open:

  1. Outbound ports for your node's P2P address
  2. Inbound ports for the other nodes' P2P addresses

On a large network, this can mean opening many inbound ports, which can be an issue for some companies' security policies. This issue is addressed by the Corda Firewall.

Upvotes: 1

Related Questions