Прямо сейчас у вас есть кластер Riak с 6 узлами, который испытывает очень большие задержки и таймауты. Когда я иду проверить riak-admin transfers
Получаю следующее:
ubuntu@ip-172-31-38-8:~$ riak-admin transfers
'riak@prod-riak-19' waiting to handoff 54 partitions
'riak@prod-riak-18' waiting to handoff 54 partitions
'riak@prod-riak-17' waiting to handoff 53 partitions
'riak@prod-riak-16' waiting to handoff 53 partitions
'riak@prod-riak-15' waiting to handoff 53 partitions
'riak@prod-riak-14' waiting to handoff 53 partitions
С тех пор я отключил активную антиэнтропию и все еще испытываю высокую задержку, но, похоже, больше ничего не доставляет нам проблем. Когда я проверяю журналы ошибок, за последние 5 часов ошибок нет.
Использование процессора выглядит так:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4016 riak 20 0 3775m 564m 6224 S 9 3.8 3:34.90 beam.smp
так что машина явно не исчерпана. Это признак повреждения данных? Что здесь может происходить? Спасибо
Когда узел Riak запускается, он порождает vnode для каждого раздела в кольце, даже тех, которые ему не принадлежат. Каждый vnode, которым он не владеет, будет пытаться передать обслуживание узлу, которому он принадлежит, и после успешной передачи обслуживания отключится. Эти передачи подлежат лимит передачи.
Если у вас размер кольца 64, у каждого узла будет 10 или 11 виртуальных узлов. Результат передачи, который вы показали, можно было бы ожидать, если бы ни одна передача обслуживания не завершилась с момента последнего перезапуска всего кластера.