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

Reply via email to