исключение "неполное динамическое дерево битов" произошло в базе данных H2Database - PullRequest
0 голосов
/ 04 мая 2011

Наш продукт использует H2DB, чтобы делиться информацией о наших продуктах для всех клиентов. В наши дни один клиент сообщает, что он не может использовать нашу систему с сообщением об ошибке ниже.

Я перемещаю этот файл на другой сервер, и он отлично работает.

Кто-нибудь знает эту проблему?

05/02/2011 16: 17: 27 581 ПРЕДУПРЕЖДЕНИЕ [JDBCExceptionReporter] Ошибка SQL: 90031, состояние SQLState: 90031 05/02/2011 16: 17: 27,581 ОШИБКА [JDBCExceptionReporter] IO Exception: java.util.zip.ZipException: неполное дерево динамических битов; zip: /home/ads/RealMedia/ads/OpenAd/RMFoundry/H2DB/OasRM_H2.zip! /OasRM.data.db [90031-72]

05/02/2011 16: 17: 27 582 ИНФОРМАЦИЯ [STDOUT] org.springframework.jdbc.UncategorizedSQLException: операция гибернации: не удалось выполнить запрос; неклассифицированное исключение SQLE для SQL [XXXXXXX (это SQL)]; Состояние SQL [90031]; код ошибки [90031]; IO Exception: java.util.zip.ZipException: неполное дерево динамических битов; zip: YYYYY / H2DB / Database.zip! /Data1.data.db [90031-72]; вложенным исключением является org.h2.jdbc.JdbcSQLException: IO Exception: java.util.zip.ZipException: неполное дерево динамических битов; zip: YYYYY / H2DB / Database.zip! /Data1.data.db [90031-72]

05/02/2011 16: 17: 27 585 ИНФОРМАЦИЯ [STDOUT] на org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) 05/02/2011 16: 17: 27,586 ОШИБКА [[action]] Servlet.service () для действия сервлета исключение 05/02/2011 16: 17: 27,587 ОШИБКА [[action]] Servlet.service () для действия сервлета исключение 05/02/2011 16: 21: 02,367 ИНФОРМАЦИЯ [STDOUT] на org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) 05/02/2011 16: 21: 55 580 ОШИБКА [[action]] Servlet.service () для действия сервлета исключение в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105)

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Я нахожу причину этого.

На самом деле мы регулярно обновляем файл базы данных, после чего восстанавливаем соединение JDBC с новым файлом. К сожалению, ошибка произошла при восстановлении соединения JDBC, поэтому соединение JDBC не обновляется.

Это главная причина этого.

Спасибо, Томас, за ответ на мой вопрос. Нам очень полезно найти причину.

0 голосов
/ 05 мая 2011

Если это работает на одном компьютере, но не на другом, это может быть проблемой JVM.См. Также отчет об этой проблеме для Sun JVM .

Кстати, вы используете версию H2 1.0.72 (номер сборки включен в код ошибки, [90031-72]) который довольно старый.Рассматривали ли вы обновление до более поздней версии H2?

...