Re: [PATCH] Support for ping method.

From: Michael Barker <mike(at)middlesoft(dot)co(dot)uk>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org, Andy Oliver <acoliver(at)jboss(dot)org>
Subject: Re: [PATCH] Support for ping method.
Date: 2006-04-20 07:48:10
Message-ID: 1145519290.2569.0.camel@corona
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi Kris,

Dump the patch, we will use an empty select.

Regards,
Michael Barker.

On Mon, 2006-04-17 at 01:37 -0500, Kris Jurka wrote:
>
> On Thu, 6 Apr 2006, Michael Barker wrote:
>
> > Attached is a patch that adds support for a ping method on the
> > AbstractJdbc2Connection. This is useful for JBoss (and other
> > containers) where the container needs to check if the connection is
> > alive before passing it to the caller. Currently JBoss does a "SELECT
> > 1", but using the new ping method there is a boost in performance.
> > Opening and closing 1000 connections from a datasource:
> >
>
> There are a number of problems with this patch. In no particular order...
>
> 1) publicly accessible postgresql specific functions should be exported
> in the org.postgresql.PGConnection interface or similar. Client code
> should not attempt to cast a connection to any other interface.
>
> 2) The ping method in QueryExecutorImpl must be synchronized to avoid
> interfering with other threads use of the backend connection.
>
> 3) The error handling is non-existent. It swallows all kinds of errors
> and leaves the protocol stream in an unknown state leaving the caller
> responsible for cleanup. At worst it should close the connection and
> throw some sort of exception.
>
> 4) It is possible that the first response from a Sync message on a
> valid connection will not be a ReadyForQuery message. Consider the
> case of asynchronous Notify messages appearing. These must be
> processed by the driver as it waits for the ReadyForQuery
> message to arrive.
>
> 5) It lacks V2 protocol support. While V2 does not have a Sync message,
> it does have something similar. By sending a query of the empty string
> you will receive an EmptyQuery message immediately that should not require
> any significant backend processing.
>
> Kris Jurka
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Luis Londono 2006-04-20 22:02:00 Bug with callable statement and output parameters
Previous Message Markus Schaber 2006-04-20 07:46:26 Re: connection reset error, followed by broken pipe (pg74.213.jdbc3.jar)