Что такое ошибка SQL: 5, SQLState: HY000?и что может вызвать эту ошибку? - PullRequest
0 голосов
/ 19 сентября 2011

Приложение, которое я отлаживаю, случайным образом / время от времени записывает это исключение в свои журналы.

org.hibernate.util.JDBCExceptionReporter - SQL Error: 5, SQLState: HY000 

и ошибка SQL из-за нехватки памяти, связанная с этим.

Хотя я нашел в документации по mysql, что такое SQLState: HY000, я нигде не могу найти, что такое ошибка SQL 5, связанная с этим состоянием. В настоящее время я знаю только, что соединение с БД закрывается из-за этой ошибки нехватки памяти и что ситуация не соответствует какой-либо схеме.

Из-за особенностей программы добавление дополнительных сообщений в журнал не является опцией. (Я не могу этого сделать, поскольку приложение огромно и, как я видел, оно происходит случайным образом - для выполнения запросов (в сообщениях) требуется разный объем памяти, варьирующийся от 3 МБ до 6 МБ).

Любая помощь / информация об этом исключении приветствуется.

Дополнительная информация: Кажется, что сообщения о нехватке памяти поступают в блоках по 6-50+ запросов с интервалом в 100-150 миллисекунд. Из списка примерно 20-30 сообщений об ошибках только 3 также появилось в журналах mysql, остальные только в журналах tomcat (напечатали трассировку стека).

Спасибо

1 Ответ

1 голос
/ 19 сентября 2011

HY000 означает общую ошибку.
Ошибка SQL 5 равна Out of memory.

Просмотрите ваш запрос, увеличьте буферы в my.ini.Также не забудьте починить все ваши таблицы и переиндексировать их.

См .: http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html

...