Re: Re: [PATCHES] Re: Fixes and enhancements to JDBC driver (take 2) - Mailing list pgsql-interfaces

From Bruce Momjian
Subject Re: Re: [PATCHES] Re: Fixes and enhancements to JDBC driver (take 2)
Date
Msg-id 200101241413.JAA14544@candle.pha.pa.us
Whole thread Raw
In response to Re: [PATCHES] Re: Fixes and enhancements to JDBC driver (take 2)  (Peter T Mount <peter@retep.org.uk>)
List pgsql-interfaces
Gunnar, everyone, can people check the CVS or snapshot and make sure you
are happy.  This has been a confusing item for me, and I want to make
sure we have it working as intended.

Thanks.

[ Charset ISO-8859-1 unsupported, converting... ]
> Quoting Gunnar R|nning <gunnar@candleweb.no>:
> 
> > Barry Lind <barry@xythos.com> writes:
> > 
> > > Gunner,
> > > 
> > > Do your fixes address the concerns I raised on 12/21?  (I have
> > included
> > > that email to the list below).  To summarize the three major
> > > concerns/bugs were:
> > > 1) Code incorrectly deallocates when a new statement is executed,
> > even
> > > though the byte[]s are still being used.
> > > 2) The cache isn't limited in size, resulting in essentially memory
> > > leaks for long lived connections in a connection pool.
> > > 3) The implementation is limited to a max 256 byte byte[], whereas my
> > > queries have many values that exceed this size, and the current
> > > implementation doesn't lend itself well (because of #2) to cache
> > things
> > > upto 8K in size.
> > 
> > The original patch that I supplied was a proof of concept on what kind
> > of
> > performance improvements that could be made by reusing byte arrays.
> > This
> > was unfortunately committed before anybody but me had done any testing
> > at
> > all on it. 
> > 
> > The most serious problem with this code was your issue 1). Number 2) and
> > 3)
> > should be easy to handle has config parameters. The reason for
> > hardcoding
> > 3) to 256 was simply because I found this to be the most optimal value
> > for
> > the web application I was doing the testing on.
> > 
> > Eventually, it should be configurable whether to use the byte[] caching
> > implementation or not, as the perfomance of memory allocation may vary
> > greatly depending on VM and OS implementations.
> 
> Now we use ANT this is extremely easy to do. Also, I have made some changes, in 
> that your supplied classes have moved to a new package org.postgresql.core, and 
> extend an interface ObjectPool. I did this so that it would be easier to change 
> the implementations without having to hack the main code too much.
> 
> Although your patch is in there, I've disabled the part that frees the arrays 
> (as that was the bit causing problems). Hopefully...
> 
> > 
> > If you go back to the October archives of pgsql-general you will find a
> > pointer to my second shot at an implementation - this one fix your issue
> > 1)
> > but not the others.
> > 
> > I would like to see what you have been working on as well, so we can
> > come up with the best of breeds solution. 
> 
> In cvs as of yesterday...
> 
> Peter
> 
> -- 
> Peter Mount peter@retep.org.uk
> PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
> RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/
> 


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-interfaces by date:

Previous
From: David Schweikert
Date:
Subject: [ANNOUNCE] Gedafe (the Generic Database Front-End) 1.0.0
Next
From: Bruce Momjian
Date:
Subject: Re: [PATCHES] PgAccess schema-diagram cleanup