Hello Robert,

> These are the entries that deal with timeouts:
> 
> 2004-10-05 17:25:01      0x988     19651 CONNECT  Connection 
> released, T25
> 2004-10-05 17:25:06      0x988     19651 CONNECT  Connection 
> released, T28
> 2004-10-05 17:40:05      0x988     19637 CONNECT  'vreceive', COMMAND
> TIMEOUT, T29
> 2004-10-05 17:40:05      0x988     19651 CONNECT  Connection 
> released, T29
> ...
> 2004-10-06 09:18:47      0x988     19651 CONNECT  Connection 
> released, T28
> 2004-10-06 09:18:47      0x988     19651 CONNECT  Connection 
> released, T31
> 2004-10-06 09:18:47      0x988     19651 CONNECT  Connection 
> released, T30
> 2004-10-06 09:33:45      0x988     19637 CONNECT  'vreceive', COMMAND
> TIMEOUT, T25
> 2004-10-06 09:33:45      0x988     19651 CONNECT  Connection 
> released, T25
> 
> > - I assume you connected with 
> > the default timeout, so look after the SESSION_TIMEOUT 
> parameter of the
> > database.
> 
> No, we set it to 900sec (15min).  But of course this is less 
> than the period
> of inactivity.
> 
> > You did not get the 'session timeout' error because possibly 
> > even the socket was closed already by the server afterwards ...
> 
> Hm, but if I close the connection via the Database Manager I 
> don't see this
> error.  In fact it seems that the JDBC connection silently 
> reconnects (at
> least if it's not in a transaction or during reconnect, that's what I
> conclude from the code in ConnectionSapDB.execute()).  And 
> all connections
> put into the pool are rolled back and reset to autoCommit = 
> true if they are
> not in autoCommit = true.

Yes, it's the default that it does reconnect when there is a time
out, and there was no implicit ROLLBACK when this timeout did 
happen.

> How would you explain this?  Does the server wait for a 
> certain amount of
> time after killing a session before it closes the socket?

The x_server waits, and does not close the socket on its own,
but the OS has the habit of closing TCP/IP connections that 
are too long idle. The exact meaning of 'too long' varies
and depends possibly on the network components that take
part in the communication (is that one machine that does 
not work connected by other means to the network, or has it
an other OS?)

We will look and investigate, whether it is possible to detect
this state, and perform a reconnect (which anyway creates a
new socket). Perhaps your application also has means to 
configure the pooling such that a Connection object is completely
discarded after some idle time (> 15 min, but apparantly 
less than approx. 12h).

Regards
Alexander Schr�der
SAP DB,SAP Labs Berlin

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to