Re: Instance gets down after approx 500 hits; Database backup; Connection pooling with Single Database Context
Re: Instance gets down after approx 500 hits; Database backup; Connection pooling with Single Database Context
- Subject: Re: Instance gets down after approx 500 hits; Database backup; Connection pooling with Single Database Context
- From: Farrukh Ijaz <email@hidden>
- Date: Fri, 23 Apr 2010 10:29:00 +0300
Thanks Chuck for your response.
On 2010-04-23, at 1:09 AM, Chuck Hill wrote:
>
> On Apr 22, 2010, at 2:17 PM, Farrukh Ijaz wrote:
>
>> Hi WOGurus,
>>
>> 1. We've few applications based on same database structure. What happens, one of the application after approximately 500 hits gets down. What can be the reason for that? (I know the question is too broad but would appreciate for any clues).
>
> What does "gets down" mean? Runs out of memory? The JVM process crashes? Deadlocks?
No, memory is not the issue. Instances stop responding and we need to use JavaMonitor to stop/start the instance or sometimes when JavaMonitor can't perform the operation need to kill the java process. Attached is the stack trace.
2010-04-20 14:21:07
Full thread dump Java HotSpot(TM) 64-Bit Server VM (16.0-b13 mixed mode):
"pool-2-thread-1" prio=10 tid=0x00002aab383db000 nid=0x6c0e waiting on condition [0x0000000042d55000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00002aaab7c1d7f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread15" prio=10 tid=0x00002aab3817e800 nid=0x6bdd waiting for monitor entry [0x0000000042c54000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread14" prio=10 tid=0x00002aab3817c800 nid=0x6bdc waiting for monitor entry [0x0000000042b53000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread13" prio=10 tid=0x00002aab3817b000 nid=0x6bdb waiting for monitor entry [0x0000000042a52000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread12" prio=10 tid=0x00002aab38179000 nid=0x6bda waiting for monitor entry [0x0000000042951000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread11" prio=10 tid=0x00002aab38177000 nid=0x6bd9 waiting for monitor entry [0x0000000042850000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread10" prio=10 tid=0x00002aab38192800 nid=0x6bd8 waiting for monitor entry [0x000000004274f000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread9" prio=10 tid=0x00002aab38190800 nid=0x6bd7 waiting for monitor entry [0x000000004264e000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread8" prio=10 tid=0x00002aab3818e800 nid=0x6bd6 runnable [0x000000004254d000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
- locked <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread7" prio=10 tid=0x00002aab3818c800 nid=0x6bd5 waiting for monitor entry [0x000000004244c000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread6" prio=10 tid=0x00002aab3818a800 nid=0x6bd4 waiting for monitor entry [0x000000004234b000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread5" prio=10 tid=0x00002aab3813d800 nid=0x6bd3 waiting for monitor entry [0x000000004224a000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread4" prio=10 tid=0x00002aab3813c800 nid=0x6bd2 waiting for monitor entry [0x0000000042149000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread3" prio=10 tid=0x00002aab38172000 nid=0x6bd1 waiting for monitor entry [0x0000000042048000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread2" prio=10 tid=0x00002aab38171000 nid=0x6bd0 waiting for monitor entry [0x0000000041f47000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread1" prio=10 tid=0x00002aab380e8000 nid=0x6bcf waiting for monitor entry [0x0000000041e46000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"WorkerThread0" prio=10 tid=0x00002aab38115000 nid=0x6bce waiting for monitor entry [0x0000000041d45000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:388)
- waiting to lock <0x00002aaab79e6760> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:453)
at java.net.ServerSocket.accept(ServerSocket.java:421)
at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
at java.lang.Thread.run(Thread.java:619)
"Thread-4" prio=10 tid=0x00002aab3814a800 nid=0x6bc9 waiting on condition [0x0000000041c44000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at er.extensions.jdbc.ERXJDBCConnectionBroker$1.run(ERXJDBCConnectionBroker.java:252)
"Compass Scheduled Executor Thread" daemon prio=10 tid=0x00002aab38168000 nid=0x6bc7 waiting on condition [0x0000000041b43000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.lucene.store.Lock.obtain(Lock.java:92)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1054)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:995)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.openIndexWriter(DefaultLuceneSearchEngineIndexManager.java:502)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.openIndexWriter(DefaultLuceneSearchEngineIndexManager.java:492)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.openIndexWriter(DefaultLuceneSearchEngineIndexManager.java:488)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.openIndexWriter(DefaultLuceneSearchEngineIndexManager.java:480)
at org.compass.core.lucene.engine.manager.DefaultLuceneSearchEngineIndexManager.openIndexWriter(DefaultLuceneSearchEngineIndexManager.java:472)
at org.compass.core.lucene.engine.optimizer.AdaptiveOptimizer.doOptimize(AdaptiveOptimizer.java:74)
at org.compass.core.lucene.engine.optimizer.AdaptiveOptimizer.doOptimize(AdaptiveOptimizer.java:63)
at org.compass.core.lucene.engine.optimizer.AbstractOptimizer$1.doInTransaction(AbstractOptimizer.java:104)
at org.compass.core.impl.DefaultCompass$CompassTransactionContext.execute(DefaultCompass.java:342)
at org.compass.core.lucene.engine.optimizer.AbstractOptimizer.optimize(AbstractOptimizer.java:102)
at org.compass.core.lucene.engine.optimizer.AbstractOptimizer.optimize(AbstractOptimizer.java:80)
at org.compass.core.lucene.engine.optimizer.LuceneSearchEngineOptimizerManager$ScheduledOptimizeRunnable.run(LuceneSearchEngineOptimizerManager.java:145)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
"Timer-0" daemon prio=10 tid=0x00002aab380a4800 nid=0x6bbf in Object.wait() [0x0000000041a42000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:509)
- locked <0x00002aaab7544bd0> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:462)
"DefaultQuartzScheduler_QuartzSchedulerThread" prio=10 tid=0x00002aab3808b800 nid=0x6bbe in Object.wait() [0x0000000041941000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:297)
- locked <0x00002aaab63bd6f0> (a java.lang.Object)
"DefaultQuartzScheduler_Worker-10" prio=10 tid=0x00002aab3808a800 nid=0x6bbd in Object.wait() [0x0000000041840000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a35a0> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-9" prio=10 tid=0x00002aab38032000 nid=0x6bbc in Object.wait() [0x000000004173f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a3290> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-8" prio=10 tid=0x00002aab38043000 nid=0x6bbb in Object.wait() [0x000000004163e000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a2f80> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-7" prio=10 tid=0x00002aab3801a800 nid=0x6bba in Object.wait() [0x000000004153d000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a2c70> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-6" prio=10 tid=0x00002aab38026800 nid=0x6bb9 in Object.wait() [0x000000004143c000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a2960> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-5" prio=10 tid=0x00002aab38055000 nid=0x6bb8 in Object.wait() [0x000000004133b000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a0690> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-4" prio=10 tid=0x00002aab38012800 nid=0x6bb7 in Object.wait() [0x000000004123a000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a0380> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-3" prio=10 tid=0x00002aab38079800 nid=0x6bb6 in Object.wait() [0x0000000041139000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab63a0070> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-2" prio=10 tid=0x00002aab3805c800 nid=0x6bb5 in Object.wait() [0x0000000041038000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab639fd60> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"DefaultQuartzScheduler_Worker-1" prio=10 tid=0x00002aab38003000 nid=0x6bb4 in Object.wait() [0x0000000040f37000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:528)
- locked <0x00002aaab639fa50> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)
"Thread-1" daemon prio=10 tid=0x00002aab363b6000 nid=0x6bb3 waiting on condition [0x0000000040e36000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.webobjects.appserver.WOApplication$_LifebeatThread.run(WOApplication.java:1619)
"Session Timeout Thread" daemon prio=10 tid=0x00002aab37017800 nid=0x6bb2 waiting on condition [0x0000000040d35000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at com.webobjects.appserver.WOSessionStore$_SessionTimeoutManager.run(WOSessionStore.java:98)
at java.lang.Thread.run(Thread.java:619)
"Low Memory Detector" daemon prio=10 tid=0x00002aab35846000 nid=0x6baf runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread1" daemon prio=10 tid=0x00002aab35844000 nid=0x6bae waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"CompilerThread0" daemon prio=10 tid=0x00002aab3583f000 nid=0x6bad waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x00002aab3583c800 nid=0x6bac waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=10 tid=0x00002aab35819000 nid=0x6bab in Object.wait() [0x000000004072f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
- locked <0x00002aaab6dca918> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x00002aab35817000 nid=0x6baa in Object.wait() [0x000000004062e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0x00002aaab6dca8d0> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=0x0000000040112800 nid=0x6ba6 in Object.wait() [0x0000000040229000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00002aaab7a63cd0> (a com.webobjects.appserver._WORunLoop)
at com.webobjects.appserver._WORunLoop._acceptInputBeforeDate(_WORunLoop.java:244)
at com.webobjects.appserver._WORunLoop.runBeforeDate(_WORunLoop.java:95)
- locked <0x00002aaab7a63cd0> (a com.webobjects.appserver._WORunLoop)
at com.webobjects.appserver.WOApplication._runOnce(WOApplication.java:1095)
at com.webobjects.appserver.WOApplication.run(WOApplication.java:1248)
at er.extensions.appserver.ERXApplication.run(ERXApplication.java:1141)
at com.webobjects.appserver.WOApplication.main(WOApplication.java:548)
at er.extensions.appserver.ERXApplication.main(ERXApplication.java:632)
at com.myapp..application.Application.main(Application.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.webobjects._bootstrap.WOBootstrap.main(WOBootstrap.java:87)
"VM Thread" prio=10 tid=0x00002aab35812000 nid=0x6ba9 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000040125800 nid=0x6ba7 runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000040127800 nid=0x6ba8 runnable
"VM Periodic Task Thread" prio=10 tid=0x00002aab35848800 nid=0x6bb0 waiting on condition
JNI global references: 1414
Heap
PSYoungGen total 427968K, used 377102K [0x00002aab0a600000, 0x00002aab29b60000, 0x00002aab350a0000)
eden space 371712K, 92% used [0x00002aab0a600000,0x00002aab1f629f98,0x00002aab21100000)
from space 56256K, 58% used [0x00002aab26470000,0x00002aab28489ad8,0x00002aab29b60000)
to space 70848K, 0% used [0x00002aab21100000,0x00002aab21100000,0x00002aab25630000)
PSOldGen total 349568K, used 205203K [0x00002aaab50a0000, 0x00002aaaca600000, 0x00002aab0a600000)
object space 349568K, 58% used [0x00002aaab50a0000,0x00002aaac1904f20,0x00002aaaca600000)
PSPermGen total 86016K, used 45017K [0x00002aaaafca0000, 0x00002aaab50a0000, 0x00002aaab50a0000)
object space 86016K, 52% used [0x00002aaaafca0000,0x00002aaab2896608,0x00002aaab50a0000)
>
>
>> 2. Sometimes the logs show message with Runtime Exception "Statement running too long" what can be the reason.
>
> The statement running too long? Un-optimized or sub-optimal SQL can cause this. Which database? Using Wonder?
>
I'm sure there are indexes. Can you explain "sub-optimal SQL" in this context? We use PostgreSQL and completely dependent on Wonder extensions.
>
>> Does the database backup running on the same database can cause this problem? If yes, how to fix that?
>
> It could by making the machine slower. The fix is database dependent. You could replicated it on a different machine and backup that machine.
>
This sounds interesting. We'll try to change the backup policy.
>
>> 3. I've read in the documentation that we can have multiple editing context but all of them by default share 1 database context.
>
> More importantly one database connection.
>
>
>> What I understand from this is if we configure pooling setting in the properties file it won't have any affect since there is only one channel for database. Is that right?
>
> I guess that depends on which pooling you are referring to. One I am thinking of randomly assigned an EOF stack wtih DB connection to new sessions.
>
Below are the Settings:
er.extensions.ERXJDBCAdaptor.className=er.extensions.jdbc.ERXJDBCAdaptor
er.extensions.ERXJDBCAdaptor.useConnectionBroker = true
er.extensions.ERXJDBCAdaptor.switchReadWrite=false
er.extensions.ERXDatabaseContext.className = er.extensions.eof.ERXDatabaseContext
er.extensions.ERXDatabaseContext.activate = true
dbMinConnectionsGLOBAL=1
dbMaxConnectionsGLOBAL=5
dbConnectionRecycleGLOBAL=1.0
dbMaxCheckoutGLOBAL=86400
Farrukh
>
>> If yes, how can we enable them to utilize connection pooling without creating multiple database contexts per session.
>
>
>
>
> Chuck
>
>
> --
> Chuck Hill Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
> http://www.global-village.net/products/practical_webobjects
>
>
>
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden