не может принять данные на Hyperledger Composer-rest-server через несколько минут, тайм-аут - PullRequest
0 голосов
/ 20 декабря 2018

Я создал Hyperledger Composer-rest-сервер из лазурного сервера Ubuntu.Я попытался соединить его с сервером Amazon, я успешно подключил их.Единственная проблема заключается в том, что я не могу установить composer-rest-server со стороны amazon или установить визитную карточку со стороны amazon.Поэтому я открыл composer-rest-server с лазурной стороны.Но через некоторое время сервер больше не будет давать данные.Это даст время ошибки, которое выглядит как

Generated schemas for all types in business network definition
Adding schemas for all types to Loopback ...
Added schemas for all types to Loopback
Web server listening at: http://localhost:3000
Browse your REST API at http://localhost:3000/explorer
Unhandled error for request GET /api/queries/selectCommodities: Error: REQUEST_TIMEOUT
    at Timeout._onTimeout (/home/ptech_root/.nvm/versions/node/v8.14.0/lib/node_modules/composer-rest-server/node_modules/fabric-client/lib/Peer.js:94:20)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)
Unhandled error for request GET /api/queries/selectCommodities: Error: REQUEST_TIMEOUT
    at Timeout._onTimeout (/home/ptech_root/.nvm/versions/node/v8.14.0/lib/node_modules/composer-rest-server/node_modules/fabric-client/lib/Peer.js:94:20)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5)

после перезапуска composer-rest-server он снова станет нормальным.Но это происходит случайным образом и происходит каждые 5 минут.Какова причина этого?что я могу с этим сделать?Я действительно новичок в Hyperledger, я ценю любую помощь.

1 Ответ

0 голосов
/ 20 декабря 2018

Произошли некоторые изменения в "grpc" одном из базовых протоколов, используемых Fabric, и это может вызвать проблемы с тайм-аутом.

Вы можете изменить параметры grpc по умолчанию для соединения Composer REST Server с одноранговыми узлами.изменив файл connection.json карты, которую вы используете для запуска сервера REST.

Для каждого узла в connection.json добавьте следующие параметры:

"grpcOptions": {
            "grpc.keepalive_time_ms": 120000,
            "grpc.http2.min_time_between_pings_ms": 120000,
            "grpc.keepalive_timeout_ms": 20000,
            "grpc.http2.max_pings_without_data": 0,
            "grpc.keepalive_permit_without_calls": 1
        }

Наиболее важным является"grpc.http2.max_pings_without_data": 0 чтобы вы могли просто попробовать это для начала.

...