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 protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
> 
> This email sent to [email protected]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to