MemSQL: ошибка листа: время ожидания от сокета истекло через -1 секунду

В настоящее время мы используем кластер из 4 узлов (3 машины с 8 ГБ и одна с 4 ГБ ОЗУ) и пытаемся запустить левое внешнее соединение таблицы (около 7,5 ГБ) на себе. Несколько полей таблицы были сохранены как columnstore. Структура запроса примерно такая:

SELECT a.x, a.y from tableX left outer join tableY on a.z=b.z group by a.x;

Любые идеи?


person Ritesh Nayak    schedule 31.07.2015    source источник


Ответы (1)


Мы видели, как эта ошибка воспроизводится, когда машина находится под значительной нагрузкой (она вызывает внутренний тайм-аут TCP, поэтому -1, поскольку это не одна из наших).

Были ли машины загружены во время выполнения запроса? Например. вы одновременно выполняли несколько других запросов или что-то еще на машинах?

Мы активно работаем над решением этой проблемы в целом (это относительно сложно воспроизвести), и мы будем держать эту ветку в курсе нашего прогресса.

person Ankur Goyal    schedule 31.07.2015
comment
Нет, просто под нагрузкой от запроса.. м/к 4гб это мастер агрегатор, а остальные ноды 8гб это листья. В таблицах есть несколько полей в виде хранилища столбцов, и запрос выполняет операцию подстроки в поле ключа сегмента (ключ сегмента состоит из двух полей..), а также правое внешнее соединение таблицы с самой собой и группировку по ключу сегмента. поле. Должен ли я что-то сделать со своей схемой или запросом, чтобы это работало на MemSQL? - person Ritesh Nayak; 03.08.2015