Тайм-аут чтения при использовании пользовательской функции в Cassandra

У нас есть один узел Cassandra Cluster (Apache) с 2 виртуальными ЦП и около 16 ГБ ОЗУ на AWS. У нас есть около 28 ГБ данных, загруженных в Cassandra.

Теперь Cassandra отлично работает для выбора и группировки по запросам с использованием первичных ключей, однако при использовании пользовательских функций для использования агрегатных функций с непервичным ключом - это дает тайм-аут.

Чтобы уточнить - у нас есть раздел на год, месяц и дату для данных за 3 года. Теперь, например, если есть два столбца — Bill_ID и Bill_Amount, мы хотим получить сумму Bill_Amount по Bill_ID с использованием UDF.

Здесь что-то запутано, поскольку я считаю, что если в информации говорится, что получен 1 ответ, почему он должен выдавать сообщение о тайм-ауте, если он его получил? Почему мы получаем тайм-аут, и это тоже только при использовании пользовательских функций?

ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 1 responses." info={'received_responses': 1, 'required_responses': 1, 'consistency': 'ONE'}

Мы увеличили время ожидания чтения в файле yaml до 10 минут.

Изменить — добавление снимка экрана запроса. Результаты отображаются перед установкой --request-timeout и публикацией с использованием UDF. Таблица содержит 150 миллионов строк с более чем 1095 разделами только для данных за 3 года, где первичными ключами являются год, день и месяц.

Скриншот используемого запроса


person Amit Pandey    schedule 26.04.2017    source источник


Ответы (1)


Попробуйте увеличить таймауты также на стороне клиента, например cqlsh:

cqlsh --request-timeout=3600

person nevsv    schedule 27.04.2017
comment
Пробовал.. на самом деле сделал это 36000 - но пока безрезультатно. Обновили вопрос скриншотом. - person Amit Pandey; 27.04.2017
comment
Можете ли вы попробовать настроить ремонт на обоих узлах? - person nevsv; 27.04.2017
comment
Это кластер Cassandra с одним узлом. - person Amit Pandey; 03.05.2017
comment
Я использую: cqlsh --connect-timeout=3600 --request-timeout=3600, но все равно показывает ошибку. Я тоже не могу бросить стол - person quangkid; 13.12.2018