Jruby (1.7.5) + MSSQL-2012 + крутящий момент 2.2.0 выпуск БД

У меня Jruby на рельсах Jruby (1.7.5) + MSSQL-2012 + крутящий момент 2.2.0 + Rails-2.3.18. Приложение подключилось к базе данных без проблем.

У меня установлен active-рекордер-jdbc (1.2.8) * active-record-mssql-jdbc (2.8.1)

Проблема заключается в том, что если я сделал какой-либо удар по БД, чтобы получить одну строку. Требуется завершить запрос вокруг Завершено в 938504ms (Просмотр: 4, DB: 938497) | 200 OK Запрос занял почти 15 минут.

Но в интерфейсе интерфейса пользователя. Я получил ошибку тайм-аута Apache. Как я могу обнаружить проблему и исправить это.

Я взял свалку Нити и все. Это показывает, как показано ниже

  • стоянка для ожидания <0x00000000fc85dbe8> (java.util.concurrent.locks.ReentrantLock$NonfairSync) в java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) в java.util.conedur.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) при java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireInterruptibly(AbstractQueuedSynchronizer.java:894) при java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1221) в Java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:340) в org.jruby.RubyThread.lockInterruptibly(RubyThread.java:1461) в org.jruby.ext.thread.Mutex.lock(Mutex.java:91) в org.jruby.ext.thread.Mutex.synchronize(Mutex.java:147) в org.jruby.ext.thread.Mutex$INVOKER$i$0$0$synchronize.call(Mutex$INVOKER$i$0$0$ синхронизировать. gen) в org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:143) в org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) в org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) в org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)

1 ответ

Похоже, что может быть тупик или, скорее всего, какой-то серьезный конфликт (на более новой версии JRuby 1.7.x вы можете увидеть более полезные трассировки в дампе) ... esp. Пул AR в 2.3 не работает хорошо одновременно. рассмотрите возможность портирования пула из более новых версий, также имейте в виду, что при использовании сеансов AR возникает неприятная ошибка с пулом и сессионным хранилищем.

Другие вопросы по тегам