Gora,

Thanks for the response.  After taking another look, you are correct about
the hasnext() closing the ResultSet object (1.4.1 as well as 1.4.0).  I
didn't recognize the case difference in the two function calls, so missed
it.  I'll keep looking into the original issue and reply if I find a
cause/solution.

Shane

On Sat, Jan 8, 2011 at 4:04 AM, Gora Mohanty <g...@mimirtech.com> wrote:

> On Sat, Jan 8, 2011 at 1:10 AM, Shane Perry <thry...@gmail.com> wrote:
> > Hi,
> >
> > I am in the process of migrating our system from Postgres 8.4 to Solr
> > 1.4.1.  Our system is fairly complex and as a result, I have had to
> define
> > 19 base entities in the data-config.xml definition file.  Each of these
> > entities executes 5 queries.  When doing a full-import, as each entity
> > completes, the server hosting Postgres shows 5 "idle in transaction" for
> the
> > entity.
> >
> > In digging through the code, I found that the JdbcDataSource wraps the
> > ResultSet object in a custom ResultSetIterator object, leaving the
> ResultSet
> > open.  Walking through the code I can't find a close() call anywhere on
> the
> > ResultSet.  I believe this results in the "idle in transaction"
> processes.
> [...]
>
> Have not examined the "idle in transaction" issue that you
> mention, but the ResultSet object in a ResultSetIterator is
> closed in the private hasnext() method, when there are no
> more results, or if there is an exception. hasnext() is called
> by the public hasNext() method that should be used in
> iterating over the results, so I see no issue there.
>
> Regards,
> Gora
>
> P.S. This is from Solr 1.4.0 code, but I would not think that
>        this part of the code would have changed.
>

Reply via email to