Morten,
Thanks for the patch. Were you able to reliably reproduce the error you
reported? I'd like to get a unit test to cover this, if possible.
Eddie
On 09/12/2008 04:46 AM, Morten Grouleff is rumored to have said:
> Never got a response, but instead found a bit of time to look into it
> myself...
>
> It turns out to be problem in trippi it would appear. The following is
> the top of a stacktrace from the constructor of a TransactionalAnswer,
> that is never closed:
>
> at
> org.mulgara.resolver.TransactionalAnswer.<init>(TransactionalAnswer.java:77)
> at
> org.mulgara.resolver.DatabaseOperationContext.doQuery(DatabaseOperationContext.java:803)
> at
> org.mulgara.resolver.SubqueryAnswer.resolveSubquery(SubqueryAnswer.java:265)
> at
> org.mulgara.resolver.SubqueryAnswer.getObject(SubqueryAnswer.java:204)
> at
> org.mulgara.resolver.TransactionalAnswer$1.execute(TransactionalAnswer.java:88)
> at
> org.mulgara.resolver.MulgaraInternalTransaction.execute(MulgaraInternalTransaction.java:647)
> at
> org.mulgara.resolver.TransactionalAnswer.getObject(TransactionalAnswer.java:86)
> at org.trippi.impl.mulgara.RowGroup.initialize(RowGroup.java:45)
> at org.trippi.impl.mulgara.RowGroup.<init>(RowGroup.java:33)
> at
> org.trippi.impl.mulgara.CollapsedAnswer.initialize(CollapsedAnswer.java:74)
> at
> org.trippi.impl.mulgara.CollapsedAnswer.<init>(CollapsedAnswer.java:58)
> at
> org.trippi.impl.mulgara.MulgaraTupleIterator.<init>(MulgaraTupleIterator.java:24)
> at
> org.trippi.impl.mulgara.MulgaraSession.query(MulgaraSession.java:139)
> at
> org.trippi.impl.base.ConcurrentTriplestoreReader.findTuples(ConcurrentTriplestoreReader.java:79)
> at
> fedora.server.resourceIndex.ResourceIndexImpl.findTuples(ResourceIndexImpl.java:280)
> ....
>
> The RowGroup never closes the answer it gets. Proposed patch:
>
> Index: src/java/org/trippi/impl/mulgara/RowGroup.java
> ===================================================================
> --- src/java/org/trippi/impl/mulgara/RowGroup.java (revision 103)
> +++ src/java/org/trippi/impl/mulgara/RowGroup.java (working copy)
> @@ -109,6 +109,13 @@
> if (m_rowCount > 0) {
> m_nextValues = null;
> }
> + for (int i = 0; i < m_valueList.size(); i++) {
> + Object val = m_valueList.get(i);
> + if (val instanceof Answer) {
> + Answer innerAnswer = (Answer) val;
> + innerAnswer.close();
> + }
> + }
> }
> } else {
> m_nextValues = null;
>
>
>
>
> Morten Grouleff wrote:
>> When using risearch intensively, I get many lines like the following on my
>> console:
>>
>> WARN 2008-08-25 10:22:06.082 [Finalizer] (TransactionalAnswer)
>> TransactionalAnswer not closed
>>
>> And also many like
>>
>> WARN 2008-08-25 10:33:18.991 [Write-lock Reaper] (MulgaraTransactionFactory)
>> Rolling back inactive transaction
>>
>> Should that worry me? The fact that it is category "WARN" and that it runs
>> in a finalizer does make me a bit worried. It
>> would appear as if something needs closing? But how can I "close" (or forget
>> to close) anything using the risearch
>> servlet over http?
>>
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Fedora-commons-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers