davidkel / hlf

0 stars 0 forks source link

[Fabric-Network] timeout handling is confused #33

Open davidkel opened 4 years ago

davidkel commented 4 years ago

When interacting with a fabric there are 3 separate stages for which a timeout is required when submitting a transaction and 1 timeout when evaluating a transaction

  1. Timeout waiting for a response from the peer to a proposal (evaluate/submit)
  2. Timeout waiting for a response from the orderer to a sendTransaction (submit)
  3. Timeout waiting for peers to commit the transaction (submit)

In fabric-network it appears all these timeouts are now set to the value configured for option 3. This seems to me to be very confusing. It also means that any timeouts set in the connection profile are ignored.

I think what is required is that fabric-network should separate these timeouts so that a user has individual control either via code or via the connection profile. Code should override any connection profile settings. If no values are provided for any then fabric-network can decide on an appropriate strategy for default. It might also be good to have a single timeout that covers the complete end to end but shouldn't be the timeout defined for use in option 3