hyperledger / caliper

A blockchain benchmark framework to measure performance of multiple blockchain solutions https://wiki.hyperledger.org/display/caliper
https://hyperledger.github.io/caliper/
Apache License 2.0
650 stars 402 forks source link

For "simple" chaincode: instantiate proposal was bad: Error: REQUEST_TIMEOUT #313

Closed CoreyLin closed 5 years ago

CoreyLin commented 5 years ago

Context

Env: 2 orgs, each org has 2 peers

Steps: 1.In network configuration file, use simple chaincode. Note: previously, I used marbles chaincode. 42b6458c82cc567755a16ab5b202758 2.Execute command "node benchmark/simple/main.js -c /home/yzapps/hyperledger/yingzi/caliper/network/fabric-v1.4-yingzi/2org2peercouchdb/config-linear-rate.yaml -n /home/yzapps/hyperledger/yingzi/caliper/network/fabric-v1.4-yingzi/2org2peercouchdb/fabric-node.json"

Expected Behavior

The simple chaincode should be instantiated successfully.

Actual Behavior

The simple chaincode instantiation failed. 536a0ff08fcc111d194859f31b90784 6c2e730262a3fd3d7a96a7a0d0c22d4 The log is not very complete. I only captured the beginning and ending log. Note: when I used marbles chaincode, the instantiation was successful. I only replaced chaincode from marbles to simple in the network configuration file.

Could you help check this? Thanks.

CoreyLin commented 5 years ago

Just now, I tried to replace the nodejs version simple to go version simple: 04f125e1bcee1100fcc5a823d2a2310 The instantiation of simple chaincode still failed. But the error log was a little different. The error log was below: fca8624ca2ff8a5f405a0851f202f10 104371477b2ec512ac8bd370575fd86 be6d34f9c124d76b4d0e46046f80f9c

aklenik commented 5 years ago

The instantiation was successful on some peers, so either there were some remnant containers (remove every container and the dev* chaincode images), or it's some resource problem (4 peers -> 4 chaincode containers, takes time)

Try it with a smaller network also.

CoreyLin commented 5 years ago

@aklenik I did the whole test operation very carefully. Before running testing, I docker rm -f dev* chaincode containers, and remove them in the peer container by rm /var/hyperledger/production/chaincodes/:

Everytime, I can instantiate "marbles" successfully, but "simple" instantiation failed. I don't think it is resource problem.

CoreyLin commented 5 years ago

Because when I got started with Caliper. I run it on a single machine, and the network is the default network provided by caliper team, it is very simple. But "simple" chaincode still instantiated in failure. After I removed "simple" and only keep "marbles", it is successful.

aklenik commented 5 years ago

Can you look at the peer logs and chaincode container logs (retrieve them before they're removed by the peer)?

CoreyLin commented 5 years ago

@aklenik I set the maximum size of my docker container. Now it has already been rotated and overrided. I can't provide it. I also don't have time to keep trying "simple" chaincode... I have to bypass it and try other chaincodes or develop chaincode by myself. So it is up to you whether to close this issue or not. Thanks.