@Nicknamess

Что делать с неправильным mempool у tendermint?

У меня есть 2 ноды\валидатора tendermint, так же используется Cosmos-SDK.
Проблема заключается в том что когда я отсылаю много транзакцйи на разные REST сервера (у каждой ноды свой) мемпул забивается и блоки закрываются крайне редко, а не каждые +-X секунд как должно быть. Другая проблема состоит в том что если mempool забивается, то ноды зависают и при определенных обстоятельствах mempool одной ноды освобождается, а второй - нет. Таким образом транзакции с REST одного валидатора попадают в блоки, а транзакции второго висят в заполненом mempool.
Проводились тесты:
При отправки 20к транзакций мемпул забивается, а затем через 20 секунд все транзакции уходят в один блок. Ожидаемый результат - все транзакции раскидываются в несколько блоков которые закрываются с одинаковым интервалом.
При отправки 300к транзакций мемпул забился до 280к (еще 20к оказались в блоке который закрылся в самом начале), и затем в течении 20 минут все транзакции с мемпула ушли в блокечейн в 3 блока (~123k, ~123k, ~25k), а ожидалось что эти 300k транзакций будут помещены в блоки которые закрывались за равномерный промежуток времени.
Я создал issue на гите: https://github.com/tendermint/tendermint/issues/3905
Тут можно ознакомиться с графиками, и более подробным описанием проблемы.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы