операция истекла - получила только 0 ответов ", информации: 'Представляет сообщение об ошибке с сервера', кода: 4608, консистенции: 1, получил: 0, blockFor: 1 , isDataPresent: 0, ...операция Cassandra истекла
Я получаю эту ошибку несколько раз в день, пытаясь сделать запросы SELECT на моем кластере cassandra. У нас есть кластер из 3 узлов в экземплярах m1.large aws. Они преуспевают большую часть времени, но каждый раз мы получаем ошибку выше. Мы еще не в производстве, поэтому все таблицы небольшие. У нас нет таблиц по нескольким тысячам строк, и одни и те же запросы завершаются в разное время. Увеличение времени ожидания - это не вариант, и я не верю, что он решит проблему (запросы должны быть короткими, и запрос в ошибке один и тот же каждый раз)
Может ли это быть какое-то соединение, между узлами или сетевой проблемой? Каков наилучший способ проверить их? Я также вижу эту ошибку только на моей стороне клиента, есть ли где-нибудь, что я должен видеть это в журналах cassandra?
В настоящее время мы используем ВЧ 2, поэтому данные находятся не менее чем на 2 узлах. Я уменьшил таймаут, так как я не верю, что запросы, которые терпят неудачу, когда-либо будут успешными. Таким образом, мы можем потерпеть неудачу раньше. По умолчанию это похоже на тайм-аут запросов по диапазонам за 10 секунд. Я понимаю, что мы должны справляться с ошибками, и мы ловим ошибки, но задержка в запросе является проблемой для нас. Я не думаю, что кластер из 3-х узлов должен испытывать таймауты с нашей нагрузкой (малыми). Это моя главная проблема. Я не хочу больше тайм-аутов с большим количеством пользователей, но это, похоже, не связано с нагрузкой. –
Выполняете ли вы какой-либо мониторинг на стороне C *, чтобы узнать, может ли быть какое-либо возможное объяснение в отношении задержек? Я бы порекомендовал взглянуть на nodetool cfstats, чтобы узнать, показывает ли это что-либо, и отслеживать любую статистику os, чтобы узнать, дает ли это представление.Еще одна вещь, которая может быть интересной, - это включить трассировку запроса, которая поможет объяснить, почему запросы иногда могут занять некоторое время. –
Мы используем новую реликвию для мониторинга сервера и статистики os, но ничего напрямую связанного с cassandra, но все выглядит нормально. Я нашел актуальную проблему сегодня, мы создаем длинный канал, и определенный запрос с использованием плагина cassandra lucene занимает много времени, и мы снимали много из них за один раз. Это происходит только раз в то время, поэтому было трудно отследить. Я изменил запрос, чтобы не использовать плагин и фильтр в нашем процессе, и теперь он работает хорошо. Благодаря! –