Re: Severe performance degradation when using the 9.2-1000 JDBC 4 driver

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: Mikko Tiihonen <Mikko(dot)Tiihonen(at)nitorcreations(dot)com>
Cc: Sérgio Saquetim <sergiosaquetim(at)gmail(dot)com>, "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>, Rafael dos Santos Silva <xfalcox(at)gmail(dot)com>
Subject: Re: Severe performance degradation when using the 9.2-1000 JDBC 4 driver
Date: 2012-10-18 12:18:42
Message-ID: 507FF3A2.4040306@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 10/18/2012 05:17 PM, Mikko Tiihonen wrote:
> I think the DNS lookup is part of the JDBC failover connection patch that I created.
> I initially used a InetSocketAddress.getHostString() that does not do any DNS lookups, but since that method was added in Java7 I had to revert to getHostName() method which does.
>
> I see following options:

0) Revert the JDBC failover patch or require a connection parameter to
enable it

> 1) modify the code so that is uses reflection and if Java7 is detected it will use the no-lookup method

Gah! no! Not only will this not work in most SecurityManager contexts,
but it's slow and horrid.

> 2) wait 4 months until Oracle drops Java6 support (Java6 was supposed to be EOL already few months back) and use the no-lookup variant

... then another two years or so until it's actually adopted. People
still use Java 1.4, and 1.5 remains very wide-spread. Sadly.

> 3) let the code stay as is and let users fix their dns servers

While sometimes reasonable, in this case it's also a performance
regression for functionality most will never need, so -1 to that.

--
Craig Ringer

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2012-10-18 12:43:15 Re: Severe performance degradation when using the 9.2-1000 JDBC 4 driver
Previous Message Sérgio Saquetim 2012-10-18 10:46:33 Re: Severe performance degradation when using the 9.2-1000 JDBC 4 driver