6 Replies Latest reply on Jan 5, 2005 2:02 AM by Adrian Brock

    IdleRemover and deadlock?

    peter Apprentice

      Hi,

      I encount a problem in jboss-3.2.3.

      After a few days monitoring of the system, i suspected that the connectionpoolmanager of jboss has some bug when IdleRemover to remove IdleConnection.

      A connection is working(e.g., send message to internet )and before the thread is returned, if IdleRemover try to remove idleconnections, the system will hang. and following WARN is logged.


      2005-01-05 13:16:23,318 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval:120000

      Above line indicated that IdleRemover start to work.
      ................JCA connection is still working and not returned......

      2005-01-05 13:16:28,450 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Unable to fill the pool due to timeout ( 5000 [ms] )

      Then....JCA connection working thread cannot returned.

      Please help and recommend!!!

      Thanks
      Yang

        • 1. application.xml not found error
          Adrian Brock Master

          Hi EveryOne
          By Following tutorial Example ,I successfully created jar,war and ear files also ,by following each and every instruction specified in the tutorial
          pdf ,
          Here the problem is When i deploy ear file The server is generating the following error msg



          17:35:40,828 INFO [EARDeployer] Init J2EE application: file:/D:/jboss-4.0.0RC1/server/default/deploy/FiboApp.ear
          17:35:40,828 ERROR [MainDeployer] Could not initialise deployment: file:/D:/jboss-4.0.0RC1/server/default/deploy/FiboApp.ear
          org.jboss.deployment.DeploymentException: No META-INF/application.xml found
          at org.jboss.deployment.EARDeployer.init(EARDeployer.java:119)
          at org.jboss.deployment.MainDeployer.init(MainDeployer.java:727)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:664)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:637)
          at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:230)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
          at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
          at $Proxy7.deploy(Unknown Source)
          at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:304)
          at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:478)
          at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
          at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:212)
          at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:191)





          But I placed application.xml file in META-INF only, and I checked generated ear file also,in that also file is there


          Thanks in advance

          • 2. Re: IdleRemover and deadlock?
            Scott Stark Master

            Use thread dumps to validate the deadlock. If you think you have found one, test it with the latest jboss version (3.2.6 on the 3.2.x branch currently) and open a bug report in jira:
            http://jira.jboss.com/jira/browse/JBAS

            • 3. Re: IdleRemover and deadlock?
              Adrian Brock Master

              It won't be a deadlock. It will be the pool filler competing with another thread
              to construct a connection in the pool.

              Most likely you have a hit the bug from 3.2.3 relating to destroyed connections
              and the semaphore counting.

              Of course, if you'd bother to use search, read the change notes or tried the latest
              version you wouldn't be bothering us with your redundant post.

              • 4. Re: IdleRemover and deadlock?
                peter Apprentice

                Hi

                Thanks for your infomation!

                Because i am using jbossNukes1.1 which can only works under jboss-3.2.3, any workaround such as rebuilding jboss-3.2.3 myself?

                Thanks

                Yang

                • 5. Re: IdleRemover and deadlock?
                  peter Apprentice

                  Hi Adrian

                  Thanks for ur help!

                  I searched the changes between Jboss-3.2.3(revision 1.8.2.15 ) and revision 1.8.2.19, i noticed the following information.

                  "When flushing the pool we need to shutdown the discarded otherwise the pool filler could refill it with unreachable connections - a connection leak."
                  connector/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java


                  What does this mean?

                  ANy workaround?

                  Thanks a lot!

                  Yang

                  • 6. how to Didalbe the idle removal
                    peter Apprentice

                    Hi

                    Can i disable the timeout for this connection pool?

                    I noticed that in jboss-3.2.3 and for HSQLDB, following configuration is there to disable idle connection removal. Can i set the same value for my connection also?

                    <!-- The time before an unused connection is destroyed -->
                    <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
                    <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connect
                    ions -->
                    <idle-timeout-minutes>0</idle-timeout-minutes>


                    Regards

                    Yang