Re: Race condition in

Lists: pgsql-jdbc
From: jao(at)geophile(dot)com
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Race condition in org.postgresql.jdbc1.AbstractJdbc1Statement?
Date: 2004-08-26 17:27:38
Message-ID: 1093541258.412e1d8ae5989@geophile.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Cursor and statement names include the value of m_preparedCount:

m_statementName = "JDBC_STATEMENT_" + m_preparedCount++;

and

m_cursorName = "JDBC_CURS_" + m_preparedCount++;

m_preparedCount is static, and it looks like m_preparedCount++ should
be synchronized:

// m_preparedCount is used for naming of auto-cursors and must
// be synchronized so that multiple threads using the same
// connection don't stomp over each others cursors.
private static int m_preparedCount = 1;
private synchronized static int next_preparedCount()
{
return m_preparedCount++;
}

But next_preparedCount() is not used.

Should the creation of statement and cursor names use next_preparedCount()
instead of using m_preparedCount directly?

Jack Orenstein

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: jao(at)geophile(dot)com
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Race condition in
Date: 2004-08-26 18:09:54
Message-ID: 1093543794.5994.55.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

This code has been removed from the current CVS head.

Which version of the code are you looking at ?

Dave
On Thu, 2004-08-26 at 13:27, jao(at)geophile(dot)com wrote:
> Cursor and statement names include the value of m_preparedCount:
>
> m_statementName = "JDBC_STATEMENT_" + m_preparedCount++;
>
> and
>
> m_cursorName = "JDBC_CURS_" + m_preparedCount++;
>
> m_preparedCount is static, and it looks like m_preparedCount++ should
> be synchronized:
>
> // m_preparedCount is used for naming of auto-cursors and must
> // be synchronized so that multiple threads using the same
> // connection don't stomp over each others cursors.
> private static int m_preparedCount = 1;
> private synchronized static int next_preparedCount()
> {
> return m_preparedCount++;
> }
>
> But next_preparedCount() is not used.
>
> Should the creation of statement and cursor names use next_preparedCount()
> instead of using m_preparedCount directly?
>
> Jack Orenstein
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
>
--
Dave Cramer
519 939 0336
ICQ # 14675561
www.postgresintl.com


From: jao(at)geophile(dot)com
To: pg(at)fastcrypt(dot)com
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Race condition in org.postgresql.jdbc1.AbstractJdbc1Statement?
Date: 2004-08-26 18:31:13
Message-ID: 1093545073.412e2c715cca6@geophile.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Quoting Dave Cramer <pg(at)fastcrypt(dot)com>:

> This code has been removed from the current CVS head.
>
> Which version of the code are you looking at ?

Oops, sorry, it's 7.4.1.

Jack Orenstein

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: jao(at)geophile(dot)com
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Race condition in
Date: 2004-08-26 19:09:54
Message-ID: 1093547394.5992.58.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Jack,

7.4.1 is quite old now, upgrading is advisable. We really don't
backpatch that far back.

Dave
On Thu, 2004-08-26 at 14:31, jao(at)geophile(dot)com wrote:
> Quoting Dave Cramer <pg(at)fastcrypt(dot)com>:
>
> > This code has been removed from the current CVS head.
> >
> > Which version of the code are you looking at ?
>
> Oops, sorry, it's 7.4.1.
>
> Jack Orenstein
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
--
Dave Cramer
519 939 0336
ICQ # 14675561
www.postgresintl.com


From: Kris Jurka <books(at)ejurka(dot)com>
To: Dave Cramer <pg(at)fastcrypt(dot)com>
Cc: jao(at)geophile(dot)com, "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Race condition in
Date: 2004-09-13 08:09:50
Message-ID: Pine.BSO.4.56.0409130305050.2396@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Thu, 26 Aug 2004, Dave Cramer wrote:

> 7.4.1 is quite old now, upgrading is advisable. We really don't
> backpatch that far back.
>

Yes, we do (or at least should). The 7.4 branch is the production version
and should be maintained. Even once 8.0 is released, the 7.4 series
server will be around for a while. The 8.0 driver has a number of major
changes to it that make automatically saying "use the 8.0 driver with a
7.4 server" not a great idea. Specifically I'm thinking about the use of
prepared statements on the unnamed portal and when they get planned.

I've fixed this on the 7.4 branch as this was apparently accidentally
removed when merging a patch.

Kris Jurka


From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: jao(at)geophile(dot)com, "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Race condition in
Date: 2004-09-13 13:08:58
Message-ID: 1095080938.1622.8.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

You are absolutely correct, for some reason, I thought he had indicated
it was 7.1.4 :(

Dave
On Mon, 2004-09-13 at 04:09, Kris Jurka wrote:
> On Thu, 26 Aug 2004, Dave Cramer wrote:
>
> > 7.4.1 is quite old now, upgrading is advisable. We really don't
> > backpatch that far back.
> >
>
> Yes, we do (or at least should). The 7.4 branch is the production version
> and should be maintained. Even once 8.0 is released, the 7.4 series
> server will be around for a while. The 8.0 driver has a number of major
> changes to it that make automatically saying "use the 8.0 driver with a
> 7.4 server" not a great idea. Specifically I'm thinking about the use of
> prepared statements on the unnamed portal and when they get planned.
>
> I've fixed this on the 7.4 branch as this was apparently accidentally
> removed when merging a patch.
>
> Kris Jurka
--
Dave Cramer
519 939 0336
ICQ # 14675561
www.postgresintl.com