Hey Andi,

The latest changes seem to have solved my problem.  The refcounts are fairly
stable (some fluctuation) and I have indexed 10 times as many documents as
before without problem.  Thanks for resolving this so quickly!

-brian

On 1/19/08, Andi Vajda <[EMAIL PROTECTED]> wrote:
>
>
> On Thu, 17 Jan 2008, Andi Vajda wrote:
>
> > Thinking about this some more, I believe that Anurag's finalizer proxy
> idea
> > is on the right track. It provides the "trick" needed to break the
> deadly
> > embrace when the ref count of the python object is down to 1, that is,
> down
> > to when the only reference is the one from the Java parent wrapper.
> >
> > When the finalizer proxy's refcount goes to zero, it is safe to assume
> that
> > only Java _may_ still be needing the object. This is enough then to
> replace
> > the strong global reference to the Java parent wrapper with a weak
> global
> > reference thereby breaking the deadly embrace and letting Java garbage
> > collect it when its time has come. When that time comes, the finalize()
> > method on it is normally called by the Java garbage collector and the
> python
> > ref count to the Python extension instance is brought to zero and the
> object
> > is finally freed.
> >
> > This assumes, of course, that when such an extension object is
> instantiated,
> > the finalizer proxy is actually returned.
> >
> > I should be able to implement this in C/C++ so that the performance hit
> is
> > minimal and in a way that is transparent to PyLucene users.
> >
>
> I checked the implementation of this idea into svn trunk rev 381.
> It is no longer necessary to call finalize() by hand :)
>
> I removed the finalize() calls from test_PythonDirectory.py and
> test_Sort.py
> can now be run for ever, without any leakage.
>
> It is necessary to rebuild both JCC and PyLucene to try this out.
> I'd be curious to see if this solves your problem, Brian ?
>
> Andi..
> _______________________________________________
> pylucene-dev mailing list
> [email protected]
> http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
>
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev

Reply via email to