2 Replies Latest reply on Jan 6, 2005 4:28 PM by montia

    Concerns re. hsqldb removal

    montia

      Hi,

      My J2EE application doesn't need hsqldb. It uses JDBC with SQL Server on the following setup:
      Windows 2000
      JBoss 3.2.1 with Jetty
      JavaVMVersion 1.4.1_05-b01

      Recently I ran into some strange behaviour of the HSQLDB which is described very well by another member in this archived thread:
      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=44751

      I couldn't reply to the above post since it's archived so I had to do my own investigation, especially since our production server had previously crashed at least twice with an OutOfMemoryException.

      I noticed that hsqldb was creating a very large number of threads (one almost every five minutes), which then became locked and were never cleaned up. There were a total of 2090 threads running at some point on my production server. I also noticed a steady increase in memory usage (3Megs/day on average), even during days when we had 0 load.

      I was still able to duplicate this behaviour after undeploying my application and restarting the JBoss server.

      Further, I remembered that last year I had disabled TCP/IP access to hsqldb following this security warning:
      http://sourceforge.net/docman/display_doc.php?docid=19314&group_id=22866

      I reenabled the TCP/IP access and monitored the server for five more days. While I could see new threads being created by hsqldb, they were being cleaned up properly. The total number of active threads was staying put and the memory usage was roughly the same.

      Yesterday I decided to completely remove hsqldb-ds.xml from my deploy folder and monitor the server a bit more. Today I redeployed my application and it seems to run just fine.

      I'd like to know if any JBoss services depend on hsqldb. I'd rather remove hsqldb altogether than reenable TCP/IP access to it in production.

      Should I expect anything to go wrong in JBoss if I undeploy hsqldb?

      Thanks,
      Montia

        • 1. Re: Concerns re. hsqldb removal
          luc.texier
          • 2. Re: Concerns re. hsqldb removal
            montia

            Hi,

            The only steps on that page that apply to my JBoss 3.2.1 config are the following:

            1. Deploy the datasource for your database
            I've already done this since I'm using a SQL Server 2000 DB for our authentication/authorization mechanism.

            2. Use an alternate to deploy{-hasingleton}/hsqldb-jdbc2-service.xml
            There is no hsqldb-jdbc2-service.xml file in my deploy folder. I can see in deploy\jms\jbossmq-service.xml that the configuration of the Persistence Manager depends on DefaultDS.
            Do I need to change this configuration?

            We currently have only stateful EJBs in our application.

            Thank you,
            Montia