Search code examples
hyperledgerhyperledger-iroha

Hyperledger Iroha - MST_EXPIRED error when running example code


Started an Iroha node docker container, everything works fine when I submit transaction via command line tool. But when I tried to run the example code (both java and node versions) encountered an error with status MST_EXPIRED. mst_enabled config is false and nothing is changed in the default example code.

Output log of the example (java version, same for node):

Hash of the transaction: 
a7ea8d22ed0ec3b0426e58503d260cc98c186dc7d81cdb8c6c02c3ad5c709b27
Status of the transaction is: MST_EXPIRED
Your transaction wasn't committed

Output log of Iroha container:

[2018-11-14 13:13:43.918089622][th:40][info] TxProcessor handle batch
[2018-11-14 13:13:43.918116295][th:40][info] TxProcessor propagating batch to PCS
[2018-11-14 13:13:43.918169891][th:40][info] PCS propagate batch
[2018-11-14 13:13:43.918177499][th:40][info] OrderingGate propagate batch, account_id: admin@test
[2018-11-14 13:13:43.918186593][th:40][info] AsyncGrpcClient Propagate transaction batch (on transport)
[2018-11-14 13:13:43.918550129][th:38][info] AsyncGrpcClient OrderingServiceTransportGrpc::onBatch
[2018-11-14 13:13:43.918591326][th:38][info] OrderingServiceImpl Queue size is 1
[2018-11-14 13:13:43.941924884][th:32][info] OrderingServiceImpl Start proposal generation
[2018-11-14 13:13:43.942369144][th:32][info] StorageImpl create ordering service persistent state
[2018-11-14 13:13:43.942390879][th:32][info] PostgresOrderingServicePersistentState Save proposal_height in ordering_service_state 4
[2018-11-14 13:13:43.969640150][th:32][info] AsyncGrpcClient OrderingServiceTransportGrpc::publishProposal
[2018-11-14 13:13:43.970038906][th:38][info] AsyncGrpcClient receive proposal
[2018-11-14 13:13:43.970410273][th:38][info] AsyncGrpcClient transactions in proposal: 1
[2018-11-14 13:13:43.970426458][th:38][info] OrderingGate Received new proposal, height: 3
[2018-11-14 13:13:43.970459548][th:34][info] OrderingGate Pass the proposal to pipeline height 3
[2018-11-14 13:13:43.970473925][th:34][info] Simulator process proposal
[2018-11-14 13:13:43.970904726][th:34][info] SFV transactions in proposal: 1
[2018-11-14 13:13:43.973084613][th:34][info] SFV transactions in verified proposal: 1
[2018-11-14 13:13:43.973217877][th:34][info] Simulator process verified proposal
[2018-11-14 13:13:43.973431873][th:34][info] YacGate vote for block (d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e, Hash: [d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e ])
[2018-11-14 13:13:43.973935258][th:34][info] YAC Order for voting: {0.0.0.0:10001}
[2018-11-14 13:13:43.974084224][th:34][info] YAC Vote for round (3, 1), hash (d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e, d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e)
[2018-11-14 13:13:43.974220122][th:34][info] AsyncGrpcClient Send votes bundle[size=1] to 0.0.0.0:10001
[2018-11-14 13:13:43.974269361][th:34][info] TxProcessor on stateful validation success: a7ea8d22ed0ec3b0426e58503d260cc98c186dc7d81cdb8c6c02c3ad5c709b27
[2018-11-14 13:13:43.974313290][th:34][info] IROHAD ~~~~~~~~~| PROPOSAL ^_^ |~~~~~~~~~ 
[2018-11-14 13:13:43.974463906][th:42][info] AsyncGrpcClient Receive votes[size=1] from ipv4:127.0.0.1:39408
[2018-11-14 13:13:43.974669567][th:42][info] ProposalStorage Vote with round [3, 1] and hashes [d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e, d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e] looks valid
[2018-11-14 13:13:43.974679308][th:42][info] YacBlockStorage Vote with rounds (3, 1) and hashes (d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e, d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e) inserted
[2018-11-14 13:13:43.974684799][th:42][info] YacBlockStorage Votes in storage [1/1]
[2018-11-14 13:13:43.974691104][th:42][info] YAC Propagate state (3, 1) to whole network
[2018-11-14 13:13:43.974759898][th:42][info] AsyncGrpcClient Send votes bundle[size=1] to 0.0.0.0:10001
[2018-11-14 13:13:43.974932023][th:38][info] AsyncGrpcClient Receive votes[size=1] from ipv4:127.0.0.1:39408
[2018-11-14 13:13:43.975272280][th:38][info] YAC Pass outcome for (3, 1) to pipeline
[2018-11-14 13:13:43.975306433][th:38][info] YacGate consensus: commit top block: height 3, hash d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e
[2018-11-14 13:13:43.975316694][th:38][info] synchronizer processing commit
[2018-11-14 13:13:43.975782890][th:38][info] ChainValidator validate chain...
[2018-11-14 13:13:43.975896120][th:38][info] MutableStorage Applying block: height 3, hash d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e
[2018-11-14 13:13:43.975907314][th:38][info] ChainValidator validate block: height 3, hash d152f85b155a8e9a87e4ab0ab0a8e3c3b54a731491e29d59e83b922ffae5532e
[2018-11-14 13:13:43.985618510][th:38][info] IROHAD ~~~~~~~~~| COMMIT =^._.^= |~~~~~~~~~ 
[2018-11-14 13:13:43.985661598][th:38][info] TxProcessor on commit committed: a7ea8d22ed0ec3b0426e58503d260cc98c186dc7d81cdb8c6c02c3ad5c709b27

However it seems that the asset has been created, but the query returns error. Anyone can help? It seems that I'm the only one who encountered this problem! Thanks.


Solution

  • This might have happened because of the outdated library version. Please try one of the more recent ones here: https://artifact.soramitsu.co.jp/iroha/bindings/java/ or use a new Java library from the contributor: https://github.com/Warchant/iroha-pure-java - it is good and used in some projects based on Iroha already.