Hypersql зависает при усечении [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Hypersql зависает при усечении [закрыто]

Сообщение Anonymous »

Между тестами мы очищаем находящуюся в памяти базу данных Hypersql с помощью оператора:

Код: Выделить всё

TRUNCATE SCHEMA PUBLIC RESTART IDENTITY AND COMMIT NO CHECK
После обновления с версии 2.2.9 до 2.7.3 приведенный выше оператор приводит к зависанию системы.
Ошибок нет, отладчик IntelliJ показывает ожидающие потоки:

Код: Выделить всё

java.lang.Thread.State: WAITING
at sun.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
at org.hsqldb.lib.CountUpDownLatch.await(Unknown Source:-1)

Проверка активных сеансов в БД перед усечением с помощью

Код: Выделить всё

SELECT * FROM INFORMATION_SCHEMA.SYSTEM_SESSIONS
показывает несколько сеансов, в одном из которых есть транзакция (размер=0). Ни одна из сессий не ждет.
Я понимаю, что это как-то связано с блокировкой, но я не понимаю, что изменилось между v 2.2.9 и 2.7.3 и какие изменения нам следует внести в исправьте эту проблему.
Изменить: я ошибочно думал, что версия 2.5.2 была последней, работавшей с Java 8, но это не так, существует версия Java 8 для новейшей версии hsqldb. Вопрос соответствующим образом обновлен.
Также добавлена ​​новая информация об активных сессиях.

Подробнее здесь: https://stackoverflow.com/questions/789 ... n-truncate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»