From 664facff94c7bc3b0f7ef045cd6d98e932bf1ace Mon Sep 17 00:00:00 2001 From: Julian Carrivick Date: Thu, 11 Aug 2016 13:52:20 +0800 Subject: [PATCH] Improve BDDTest decompose times During BDDTests decomposing takes a lot longer than it should. This is due to the containers are started using `bash -c ""` which does not pass on signals to the specified command. Hence, docker-compose sends a SIGTERM which is ignored and after a timeout, sends SIGKILL. Changing the invocations to `bash -c "exec "` ensures the command receives the signals and terminates in a timely manner. This change improves BDDTest times by about 5 minutes. Change-Id: Id0504809740c948758f49ff08961cb377f0a8634 Signed-off-by: Julian Carrivick --- bddtests/compose-defaults.yml | 2 +- bddtests/docker-compose-1-devmode.yml | 8 ++++++-- bddtests/scripts/start-peer.sh | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bddtests/compose-defaults.yml b/bddtests/compose-defaults.yml index 0c3be5a8698..5bb1445f009 100644 --- a/bddtests/compose-defaults.yml +++ b/bddtests/compose-defaults.yml @@ -8,7 +8,7 @@ vp: # Script will wait until membersrvc is up (if it exists) before starting # $$GOPATH (double dollar) required to prevent docker-compose doing its own # substitution before the value gets to the container - command: sh -c '$$GOPATH/src/github.com/hyperledger/fabric/bddtests/scripts/start-peer.sh' + command: sh -c "exec $$GOPATH/src/github.com/hyperledger/fabric/bddtests/scripts/start-peer.sh" # Use these options if coverage desired for peers #image: hyperledger/fabric-peer-coverage diff --git a/bddtests/docker-compose-1-devmode.yml b/bddtests/docker-compose-1-devmode.yml index 7f506bd1dd8..a29e936b6b3 100755 --- a/bddtests/docker-compose-1-devmode.yml +++ b/bddtests/docker-compose-1-devmode.yml @@ -4,7 +4,7 @@ vp0: service: vp environment: - CORE_PEER_ID=vp0 - command: sh -c "peer node start --peer-chaincodedev" + command: peer node start --peer-chaincodedev ccenv: image: hyperledger/fabric-ccenv @@ -13,6 +13,10 @@ ccenv: - CORE_PEER_ADDRESS=vp0:7051 # $$GOPATH (double dollar) required to prevent docker-compose doing its own # substitution before the value gets to the container - command: bash -c 'go install github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 && $$GOPATH/bin/chaincode_example02' + command: | + sh -c " + go install github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 + exec $$GOPATH/bin/chaincode_example02 + " links: - vp0 diff --git a/bddtests/scripts/start-peer.sh b/bddtests/scripts/start-peer.sh index cd6965fdfd9..c05b36d8108 100755 --- a/bddtests/scripts/start-peer.sh +++ b/bddtests/scripts/start-peer.sh @@ -16,5 +16,5 @@ else echo "No membersrvc to wait for, starting immediately" fi -peer node start +exec peer node start