Настройте время ожидания grpc в профиле подключения для пиров и заказчиков в матрице Hyperledger - PullRequest
2 голосов
/ 02 ноября 2019

У меня есть несколько пиров, скажем, 10 пиров (например!). Если один из них не подключен к сети (сервер / контейнер остановлен), при попытке выполнить транзакцию ответ будет

[Remote.js]: Error: Failed to connect before the deadline URL:grpcs://peer3:7051

В настоящее время, кажется, что до появления этой ошибки требуется 3 секунды. Я хотел бы уменьшить это значение менее чем до 1 секунды, поскольку, если все еще работают 9 других пиров, я хотел бы, чтобы транзакции продолжали выполняться.

Когда эта строка выполняется:

const results = await channel.sendTransactionProposal(request)

Этозавершится менее чем за секунду, если все одноранговые узлы работают, однако, если один из них не работает, потребуется еще несколько секунд. Было бы здорово настроить, как долго ждать подключения к компоненту, чтобы иметь возможность быстрее проваливаться.

Можно ли настроить время до того, как grpc сгенерирует эту ошибку, используя Hyperledger Fabric Connection Profile?

Я играл с несколькими опциями, показанными здесь в документации, но они, похоже, не имеют значения. https://fabric -sdk-node.github.io / release-1.4 / tutorial-network-config.html

Я использую Hyperledger Fabric 1.4 с SDK узла Hyperledger Fabric.

1 Ответ

1 голос
/ 02 ноября 2019

Это определено в config.json узла-sdk здесь https://github.com/hyperledger/fabric-sdk-node/blob/7c6c7381e9094bad12e6e861de8b2d7baf308e83/fabric-client/config/default.json#L32

Вы можете переопределить его, экспортировав переменную среды GRPC_WAIT_FOR_READY_TIMEOUT перед запуском приложения или изменив значение в config.json вУзел SDK. Также должна быть возможность переопределить код изнутри, используя setConfigSetting на экземпляре клиента.

...