Test timeout: "broke chain ordering"
Sometimes the payment service integration tests timeout - it seems that the two nodes seem to de-synchronize and then continue to have problems syncing / de-syncing for the rest of the test - the initial de-synchronization seems to prevent our listener being fired and seeing that a transaction has occurred. The attached log has the full integration test run logs.
Points to note:
- The occurrence of "broke chain ordering" - I've only seen these messages in builds that fail with a timeout
- payment-service-b never sees the result of Tx(0x6ecc5fea8dd79a1081b7d7aa071847871225c52dd655111603b1dc7435a29e20) (i.e we should see a line like 1985 that shows payment-service-a's TransactionPoller receiving a response)
- It looks like that tx is mined in block 23 in geth-docker-b, but then geth sync's with geth-docker-a and ignores that block and it's transactions
- This explains why our tests hang - the call to addIban in the test startup never returns, but we need to get to the bottom of the "broke chain ordering" message