Re: Remove usage of finalizers ?

From: Tom Dunstan <pgsql(at)tomd(dot)cc>
To: Dave Cramer <pg(at)fastcrypt(dot)com>
Cc: "Heiko W(dot) Rupp" <hwr(at)pilhuhn(dot)de>, Vitalii Tymchyshyn <vit(at)tym(dot)im>, PG-JDBC Mailing List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Remove usage of finalizers ?
Date: 2013-10-23 00:12:29
Message-ID: CAPPfruy+mPWfg9WmWQGaRVTAQS9kBgF1pi9oJB4ZcgRyZ87few@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On 21 October 2013 23:03, Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
> Please send patches for possible solutions. I think I would be OK with
> removing them and letting people find their Statement leaks

One option if we want to keep the existing behaviour available in some
way would be to remove the finalize method from AbstractJdbc2Statement
and create subclasses of the various concrete statement classes which
could be used when a debug flag is switched on. e.g.
DebugJdbc3Statement, DebugJdbc3PreparedStatement,
DebugJdbc3CallableStatement etc which have the finalizer present.

There would be quite a few of them though, and we'd need to have a
switch everywhere that one of those is instantiated, or introduce a
factory. It's a bit gross.

IMO tracing non-closed statement leaks is probably better done in a
connection pool or jdbc debugging library anyway, so maybe we
shouldn't bother and just remove it.

One question is this, though: how many users out there aren't closing
their statements currently and are relying, accidentally or
deliberately, on the current behaviour?

Tom

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Vitalii Tymchyshyn 2013-10-23 00:36:25 Re: Remove usage of finalizers ?
Previous Message Heikki Linnakangas 2013-10-21 15:17:36 Re: Remove usage of finalizers ?