Hypersql зависает при усеченииJAVA

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

Сообщение Anonymous »

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

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

TRUNCATE SCHEMA PUBLIC RESTART IDENTITY AND COMMIT NO CHECK
После обновления с 2.2.9 до 2.5.2 (последняя версия, работающая с Java 8) приведенный выше оператор приводит к зависанию системы.
Ошибок нет, отладчик 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)

Я понимаю, что это как-то связано с блокировкой, но я не понимаю, что изменилось между версиями 2.2.9 и 2.5.2 и какие изменения нам следует внести, чтобы исправить эту проблему.

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

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