Subject Re: [Firebird-Java] Duration Test
Author Rick Fincher
Hi Ken,

Since you are running the 1.5 version of Firebird there should be no file
size limit problem in the server. The limit is usually going to be the
limit on partition size for the OS you are running under. I don't know what
that is offhand for Win 2K but I think it's at least 4 gig if you are
running the NTFS.

If you upgraded to Win 2K and inherited a FAT 16 file system, or selected
the FAT 16 file system at install time you will be limited to 2 gig per
partition. In that case this could be your problem.

You can check your system info to see what you have.

Check for swap limits being exceded in the OS on the machine running the
server. You can get those types of errors when swap space runs out. What do
the server logs say?

You should also check on the other limits of Firebird (row size limits,
number of rows limit, index limits, etc.) to see if your torture test is
exceeding them. You can find those limits on the Firebird web sites. I
know it is on ibphoenix.com. It should be on firebird.org too.

Hope this helps,


Rick


----- Original Message ----- > We have a duration test that runs for a long
period of time with lots of
> database activity. After a while we start getting errors from some of the
> connections in the pool. Can someone take look at this exception and
> provide any input as to what may be wrong?
>
> I am using the 1.0 release of the driver and 1.5.0.3773 of the server.
> Connection is local and the OS is Win2K. I am using FBWrappingDataSource
as
> the connection pool.
>
> I execute SQL like delete from xxx where fk_yyy=1691 and fk_zzz=1 and get
> the following exception:
> org.firebirdsql.jdbc.FBSQLException: GDS Exception. cannot update erased
> record
> at
org.firebirdsql.jdbc.FBStatement.executeUpdate(FBStatement.java:153)
>
>
>
> Any ideas?
>
>
>
>
> Farther down I start to see errors like the one below. They appear to be
> related to the connection pool. At this point in my tests the pool has
been
> used pretty hard for many hours. Sorry for the bad formatting...
> java.lang.IllegalStateException: null FBManagedConnection passed to
> setManagedConnection
> at
>
org.firebirdsql.jdbc.FBConnection.setManagedConnection(FBConnection.java:153
> )
> at
>
org.firebirdsql.jca.FBManagedConnection.cleanup(FBManagedConnection.java:274
> )
> at
>
org.firebirdsql.jca.ManagedConnectionPool.returnConnection(ManagedConnection
> Pool.java:142)
> at
>
org.firebirdsql.jca.FBPoolingConnectionManager$PoolByCri.returnConnection(FB
> PoolingConnectionManager.java:174)
> at
>
org.firebirdsql.jca.FBPoolingConnectionManager.returnManagedConnection(FBPoo
> lingConnectionManager.java:70)
> at
>
org.firebirdsql.jca.FBPoolingConnectionManager$1.connectionErrorOccurred(FBP
> oolingConnectionManager.java:125)
> at
>
org.firebirdsql.jca.FBManagedConnection$1.notify(FBManagedConnection.java:11
> 55)
> at
>
org.firebirdsql.jca.FBManagedConnection.notify(FBManagedConnection.java:1128
> )
> at
>
org.firebirdsql.jca.FBManagedConnection.findIscTrHandle(FBManagedConnection.
> java:1084)
> at
>
org.firebirdsql.jca.FBManagedConnection.internalStart(FBManagedConnection.ja
> va:676)
> at
>
org.firebirdsql.jca.FBLocalTransaction.internalBegin(FBLocalTransaction.java
> :118)
> at
org.firebirdsql.jca.FBLocalTransaction.begin(FBLocalTransaction.java:103)
>
> at
>
org.firebirdsql.jdbc.FBConnection.ensureInTransaction(FBConnection.java:1011
> )
> at
>
org.firebirdsql.jdbc.FBPreparedStatement.<init>(FBPreparedStatement.java:77)
>
> at
>
org.firebirdsql.jdbc.FBCallableStatement.<init>(FBCallableStatement.java:100
> )
> at org.firebirdsql.jdbc.FBConnection.prepareCall(FBConnection.java:353)
>