У меня есть сеть fabri c с 3 оргами с 2 пирами в каждом.
Если я внедряю в сеть запросы один за другим, ожидая возврата первого, прежде чем ввести второй, все работает гладко, но я имеют небольшую задержку.
Так как каждый запрос не зависит от других, и нет столкновения с базой данных, я пытаюсь вводить запросы асинхронно.
Я делаю это, удаляя оператор ожидания в invoke.js
:
contract.submitTransaction(....);
В некоторых случаях из монитора docker я вижу, что один и тот же пир выполняет два предложения по сделке в то же время несмотря на то, что по-прежнему существуют бездействующие одноранговые узлы. Например, peer1.org1 обрабатывает две транзакции вместе, а peer0.org1 бездействует. В конце обе транзакции успешно достигают конца контракта:
[mychannel-66b1e42a] Calling chaincode Invoke() succeeded. Sending COMPLETED message back to peer
Тем не менее, несколько строк ниже в мониторе docker Я вижу на каждом узле следующие ошибки:
2020-02-11 11:02:26.108 UTC [vscc] Validate -> ERRO 17a VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode pensionchain in tx 69:0 failed: signature set did not satisfy policy
2020-02-11 11:02:26.108 UTC [committer.txvalidator] validateTx -> ERRO 17b VSCCValidateTx for transaction txId = f8f33f1ed5df17ac9efbca92d76a1ae8d88f9d69bbc9ff069b66e12da6e334b9 returned error: validation of endorsement policy for chaincode pensionchain in tx 69:0 failed: signature set did not satisfy policy
2020-02-11 11:02:26.108 UTC [valimpl] preprocessProtoBlock -> WARN 17d Channel [mychannel]: Block [69] Transaction index [0] TxId [f8f33f1ed5df17ac9efbca92d76a1ae8d88f9d69bbc9ff069b66e12da6e334b9] marked as invalid by committer. Reason code [ENDORSEMENT_POLICY_FAILURE]
При включении javascript у меня возникает следующая ошибка:
2020-02-11T11:02:26.168Z - warn: [TransactionEventHandler]: _strategyFail: strategy fail for transaction "f8f33f1ed5df17ac9efbca92d76a1ae8d88f9d69bbc9ff069b66e12da6e334b9": Error: Peer localhost:12051 has rejected transaction "f8f33f1ed5df17ac9efbca92d76a1ae8d88f9d69bbc9ff069b66e12da6e334b9" with code "ENDORSEMENT_POLICY_FAILURE"
Failed to submit transaction: Error: Peer localhost:12051 has rejected transaction "f8f33f1ed5df17ac9efbca92d76a1ae8d88f9d69bbc9ff069b66e12da6e334b9" with code "ENDORSEMENT_POLICY_FAILURE"
Это нормально, если два предложения по транзакциям выполняются одновременно на одном и том же узле?
Может ли это поведение быть причиной ошибки?