You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Olav Sandstaa (JIRA)" <ji...@apache.org> on 2006/11/01 22:14:16 UTC

[jira] Created: (DERBY-2029) Query timeout does not take effect if server machine crashes

Query timeout does not take effect if server machine crashes
------------------------------------------------------------

                 Key: DERBY-2029
                 URL: http://issues.apache.org/jira/browse/DERBY-2029
             Project: Derby
          Issue Type: Bug
          Components: JDBC, Network Client
    Affects Versions: 10.2.1.8, 10.2.2.0, 10.3.0.0
         Environment: Solaris 10, JDK 1.5
            Reporter: Olav Sandstaa
            Priority: Minor


An application using the client driver will hang "infinite" if the
server machine running the Derby server crashes during execution of a
query even if it has specified a query timeout using
Statement.setQueryTimeout().

This problem can be reproduced (at least on Solaris 10) by:

 1. starting a Derby server on one machine and a Derby client on the second machine. 
 2. In a Java program, create a connection and a statement and set the 
    query timeout for the statement to a few seconds by:

      Statement.setQueryTimeout(10)

 3. Execute a query that take some time (more than 10 seconds).
 4. During execute of the query, take the power on the machine running 
    the Derby server.
 5. Your program will hang "infinite".

I will post a short repro program that can be used.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (DERBY-2029) Query timeout does not take effect if server machine crashes

Posted by "Olav Sandstaa (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2029?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478390 ] 

Olav Sandstaa commented on DERBY-2029:
--------------------------------------

I have not tried to test with the other failures you mention, but I would expect this to be:

    unplugging the network cable on the client machine: depending on which OS you run, the timeout would work
    unplugging the network cable on the server machine: the timeout would not work and Derby would hang "forever"
    killing the derby server: the timeout would work

If the timout works or not  in these cases depends on whether the TCP-layer is able to detect that the server is no longer available. If "crashing" the server or unplugging the net on the server, the TCP layer on the client will not be informed about this for a rather long time period.



> Query timeout does not take effect if server machine crashes
> ------------------------------------------------------------
>
>                 Key: DERBY-2029
>                 URL: https://issues.apache.org/jira/browse/DERBY-2029
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.2.2.0, 10.3.0.0
>         Environment: Solaris 10, JDK 1.5
>            Reporter: Olav Sandstaa
>            Priority: Minor
>         Attachments: QueryTimeout.java
>
>
> An application using the client driver will hang "infinite" if the
> server machine running the Derby server crashes during execution of a
> query even if it has specified a query timeout using
> Statement.setQueryTimeout().
> This problem can be reproduced (at least on Solaris 10) by:
>  1. starting a Derby server on one machine and a Derby client on the second machine. 
>  2. In a Java program, create a connection and a statement and set the 
>     query timeout for the statement to a few seconds by:
>       Statement.setQueryTimeout(10)
>  3. Execute a query that take some time (more than 10 seconds).
>  4. During execute of the query, take the power on the machine running 
>     the Derby server.
>  5. Your program will hang "infinite".
> I will post a short repro program that can be used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (DERBY-2029) Query timeout does not take effect if server machine crashes

Posted by "Julius Stroffek (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2029?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478381 ] 

Julius Stroffek commented on DERBY-2029:
----------------------------------------

What about other failures? Unplugging the network cable, killing the derby server, etc. The issue does not appear in these cases?

> Query timeout does not take effect if server machine crashes
> ------------------------------------------------------------
>
>                 Key: DERBY-2029
>                 URL: https://issues.apache.org/jira/browse/DERBY-2029
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.2.2.0, 10.3.0.0
>         Environment: Solaris 10, JDK 1.5
>            Reporter: Olav Sandstaa
>            Priority: Minor
>         Attachments: QueryTimeout.java
>
>
> An application using the client driver will hang "infinite" if the
> server machine running the Derby server crashes during execution of a
> query even if it has specified a query timeout using
> Statement.setQueryTimeout().
> This problem can be reproduced (at least on Solaris 10) by:
>  1. starting a Derby server on one machine and a Derby client on the second machine. 
>  2. In a Java program, create a connection and a statement and set the 
>     query timeout for the statement to a few seconds by:
>       Statement.setQueryTimeout(10)
>  3. Execute a query that take some time (more than 10 seconds).
>  4. During execute of the query, take the power on the machine running 
>     the Derby server.
>  5. Your program will hang "infinite".
> I will post a short repro program that can be used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-2029) Query timeout does not take effect if server machine crashes

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-2029:
--------------------------------------

    Issue & fix info: [Repro attached]

Triaged for 10.5.2.

> Query timeout does not take effect if server machine crashes
> ------------------------------------------------------------
>
>                 Key: DERBY-2029
>                 URL: https://issues.apache.org/jira/browse/DERBY-2029
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.2.2.0, 10.3.1.4
>         Environment: Solaris 10, JDK 1.5
>            Reporter: Olav Sandstaa
>            Priority: Minor
>         Attachments: QueryTimeout.java
>
>
> An application using the client driver will hang "infinite" if the
> server machine running the Derby server crashes during execution of a
> query even if it has specified a query timeout using
> Statement.setQueryTimeout().
> This problem can be reproduced (at least on Solaris 10) by:
>  1. starting a Derby server on one machine and a Derby client on the second machine. 
>  2. In a Java program, create a connection and a statement and set the 
>     query timeout for the statement to a few seconds by:
>       Statement.setQueryTimeout(10)
>  3. Execute a query that take some time (more than 10 seconds).
>  4. During execute of the query, take the power on the machine running 
>     the Derby server.
>  5. Your program will hang "infinite".
> I will post a short repro program that can be used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (DERBY-2029) Query timeout does not take effect if server machine crashes

Posted by "Olav Sandstaa (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-2029?page=all ]

Olav Sandstaa updated DERBY-2029:
---------------------------------

    Attachment: QueryTimeout.java

This program can be used for reproducing this problem. In addition to this program you need at least two machines and be willing to take the power on one of them.

Here is how to reproduce the problem:

  1. Start a Derby server on one of the machines
  2. Change the jdbc url to your server and port number
  3. Start this program on the second machine
  4. Within 1 minute after starting the program, take the power on the machine running the Derby server.
  5. This program will hang "infinite" long.
 
If you skip step 4 above, the program get a (query) timeout after about 1 minute.

> Query timeout does not take effect if server machine crashes
> ------------------------------------------------------------
>
>                 Key: DERBY-2029
>                 URL: http://issues.apache.org/jira/browse/DERBY-2029
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.2.1.8, 10.2.2.0, 10.3.0.0
>         Environment: Solaris 10, JDK 1.5
>            Reporter: Olav Sandstaa
>            Priority: Minor
>         Attachments: QueryTimeout.java
>
>
> An application using the client driver will hang "infinite" if the
> server machine running the Derby server crashes during execution of a
> query even if it has specified a query timeout using
> Statement.setQueryTimeout().
> This problem can be reproduced (at least on Solaris 10) by:
>  1. starting a Derby server on one machine and a Derby client on the second machine. 
>  2. In a Java program, create a connection and a statement and set the 
>     query timeout for the statement to a few seconds by:
>       Statement.setQueryTimeout(10)
>  3. Execute a query that take some time (more than 10 seconds).
>  4. During execute of the query, take the power on the machine running 
>     the Derby server.
>  5. Your program will hang "infinite".
> I will post a short repro program that can be used.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira