Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perform manual testing on non-gateway peers going down cleanly in a submit scenario #28

Open
davidkel opened this issue Oct 26, 2021 · 3 comments

Comments

@davidkel
Copy link
Owner

davidkel commented Oct 26, 2021

The testing here needs to be split into 2 separate tasks

  1. test scenarios where we expect the system to continue to work because there are enough alternative peers to satisfy the used endorsement policy. We should try multiple different endorsement policies
  2. test scenarios where we expect the system to not be able to satisfy the endorsement policy. We need to see what kind of errors clients may receive in these scenarios

Endorsement policies to test

  • default (Majority)
  • explicit Majority: OR(AND(‘Org1MSP.member’,‘Org2MSP.member’),AND(‘Org1MSP.member’,‘Org3MSP.member’),AND(‘Org3MSP.member’,‘Org2MSP.member’))
  • explicit All orgs
@davidkel
Copy link
Owner Author

davidkel commented Nov 1, 2021

Point 1.

Tested with endorsement policy of

  1. default (Majority)
  2. explicit (Majority): OR(AND(‘Org1MSP.member’,‘Org2MSP.member’),AND(‘Org1MSP.member’,‘Org3MSP.member’),AND(‘Org3MSP.member’,‘Org2MSP.member’))
  3. explicit (All): AND('Org1MSP.member','Org2MSP.member','Org3MSP.member')

issues raised

@davidkel davidkel changed the title Perform manual testing on peers going down in a submit scenario Perform manual testing on non-gateway peers going down in a submit scenario Nov 2, 2021
@davidkel davidkel changed the title Perform manual testing on non-gateway peers going down in a submit scenario Perform manual testing on non-gateway peers going down cleanly in a submit scenario Nov 3, 2021
@davidkel
Copy link
Owner Author

davidkel commented Nov 3, 2021

Point 2.

Tested with explicit endorsement policy of all (Don't believe there is a need to test other endorsement policies)

I see the following different types of error

{"component":"CLIENT","timestamp":"2021-11-03T12:00:56.036Z","txnId":"7f41db59172999e592f27206e54e4573770be9e54522e1ff10684b0a328aa16a","stage":"Failed","message":"14 UNAVAILABLE: failed to select a set of endorsers that satisfy the endorsement policy Details: []"}
{"component":"CLIENT","timestamp":"2021-11-03T12:00:56.826Z","txnId":"9bbaefa6539d142c9252d670045c75535cfd8cc43ef4523940ac6159afe6053c","stage":"Failed","message":"10 ABORTED: failed to collect enough transaction endorsements, see attached details for more info Details: [{\"address\":\"peer0.org3.example.com:11051\",\"message\":\"rpc error: code = DeadlineExceeded desc = context deadline exceeded\",\"mspId\":\"Org3MSP\"}]"}

{"component":"CLIENT","timestamp":"2021-11-03T12:00:56.826Z","txnId":"8f10d89783898140f6927dc9d152bbc552dec815e572a82f980606c14c203c69","stage":"Failed","message":"10 ABORTED: failed to collect enough transaction endorsements, see attached details for more info Details: [{\"address\":\"peer0.org3.example.com:11051\",\"message\":\"rpc error: code = Unavailable desc = transport is closing\",\"mspId\":\"Org3MSP\"}]"}

{"component":"CLIENT","timestamp":"2021-11-03T13:31:19.214Z","txnId":"a9e0713159c7eeac3baed71dfb99f9f47b7bcceb25566685cd76f81418a35aa5","stage":"Failed","message":"10 ABORTED: failed to collect enough transaction endorsements, see attached details for more info Details: [{\"address\":\"peer0.org2.example.com:9051\",\"message\":\"rpc error: code = Unavailable desc = connection error: desc = \\\"transport: error while dialing: dial tcp 192.168.0.5:9051: connect: connection refused\\\"\",\"mspId\":\"Org2MSP\"}]"}

{"component":"CLIENT","timestamp":"2021-11-03T13:31:19.580Z","txnId":"ea3f10e176e35a6d8e8ec2be433051bd48f3ba467e0349132171b1649b66330f","stage":"Failed","message":"10 ABORTED: failed to collect enough transaction endorsements, see attached details for more info Details: [{\"address\":\"peer0.org2.example.com:9051\",\"message\":\"rpc error: code = Canceled desc = grpc: the client connection is closing\",\"mspId\":\"Org2MSP\"},{\"address\":\"peer0.org3.example.com:11051\",\"message\":\"rpc error: code = Unavailable desc = transport is closing\",\"mspId\":\"Org3MSP\"}]"}

{"component":"CLIENT","timestamp":"2021-11-03T13:32:35.752Z","txnId":"687cf65618a727ff0d82f2779b6c444d66e1cad002df991486484fe73cf636a1","stage":"Failed","message":"10 ABORTED: failed to collect enough transaction endorsements, see attached details for more info Details: [{\"address\":\"peer1.org3.example.com:11151\",\"message\":\"error 500, error in simulation: failed to execute transaction 687cf65618a727ff0d82f2779b6c444d66e1cad002df991486484fe73cf636a1: error sending: chaincode stream terminated\",\"mspId\":\"Org3MSP\"},{\"address\":\"peer0.org3.example.com:11051\",\"message\":\"error 500, error in simulation: failed to execute transaction 687cf65618a727ff0d82f2779b6c444d66e1cad002df991486484fe73cf636a1: error sending: chaincode stream terminated\",\"mspId\":\"Org3MSP\"}]"}
{"component":"CLIENT","timestamp":"2021-11-03T12:00:57.677Z","txnId":"bad55ec98c0c2c19617fb3a7c0780f8d963430038b75e6ce5ffe4b304ae83eb0","stage":"Failed","message":"14 UNAVAILABLE: no combination of peers can be derived which satisfy the endorsement policy: no peer combination can satisfy the endorsement policy Details: []"}

The messages are typical fabric terminology but don't provide enough detail and you have to resort to logs, have raised an issue for discussion about if there is a way to improve the information for quicker problem determination

@davidkel
Copy link
Owner Author

davidkel commented Nov 8, 2021

MajorityEP Scenarios

StopRestartOrg2
StopRestartOrg3
StopAPeerInAllOrgs
StopRestartOrg12Peer
StopRestartOrg13Peer
StopRestartOrg23Peer
StopRestartOrg1Peer
StopRestartOrg2Peer
StopRestartOrg3Peer

All EP Scenarios

StopAPeerInAllOrgs
StopRestartOrg12Peer
StopRestartOrg13Peer
StopRestartOrg23Peer
StopRestartOrg1Peer
StopRestartOrg2Peer
StopRestartOrg3Peer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant