3 Replies Latest reply on Apr 27, 2004 6:26 PM by amrchary

    Transaction Timeout cannot reproduce

    frenchfrywpepper

      I have a single environment in which I am consistently receiving a transaction timeout from the database, I am completely unable to reproduce this anywhere except this single environment and am hoping someone will have some suggestions for me.

      The problematic environment has JBoss 3.2.3 running on a Windows 2003 server. My EAR uses Stateless Session Beans and a Data Access layer which uses select for update to obtain the next primary key from a database table responsible for storing that information. Every database insert is done by a bean call, every bean call is set to RequiresNew. The database is Oracle 9i (XA enabled), we are using XA datasources. The database resides on a UNIX server in a different network. The JBoss server is actually on a DMZ and the database server is inside the firewall, all ports are open between the two.

      I've tried to reproduce the problem in many other environments and JBoss/my EAR always work fine. I've tried Win 2k w/ all components installed on the same box, Win 2003 talking to a database in a different network, a slow machine, a fast machine. I should also mention that the same code (albeit a slightly different build) works beautifully in WebSphere as well.

      I desperately need to resolve this issue for my client, but cannot get an environment to debug in. All suggestion and ideas would be appreciated. I can also provide config files, logs, anything. We're willing to buy support if need be, but cannot afford the jboss.org rates of 10 grand per 50hrs, so suggestions for more affordable support would also be appreciated.

        • 1. Re: Transaction Timeout cannot reproduce

          Hehe, you cannot afford our rates so you expect us to answer your question for free :-)

          I'd suggest you write some stress tests. RequiresNew and select for update
          sounds like a deadlock situation in the database under load to me.

          • 2. Re: Transaction Timeout cannot reproduce
            frenchfrywpepper

            Actually, we had done the load testing so we were very confident it wasn't a true locking issue. As it turns out it was something about the fact that the db was UNIX. The whole setup works fine if the DB is simply switched to a Windows server. Maybe it's time for me to move over to an Oracle forum, but does anyone here know if there would be different Oracle drivers required when talking to an Oracle db on HPUX?

            • 3. Re: Transaction Timeout cannot reproduce
              amrchary

              Why is every bean's ejb transaction attribute set to "RequiresNew"? If one bean calls another bean you now have two DB transactions open - increasing the potential for a deadlock. Are you sure a "Required" transaction setting is not enough?