sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] java.io.IOException: Already closed


From: Malo Pichot
Subject: Re: [sdx-users] java.io.IOException: Already closed
Date: Tue, 28 Jul 2009 10:27:15 +0200
User-agent: Thunderbird 2.0.0.22 (X11/20090608)

Bonjour,

Bon, je n'ai pas répondu au bon courriel :-(

La version de Lucene utilisée dans SDX 2.2 est 1.4-rc1-dev-20040110.

La raison du patch est essentiellement l'ajout d'un type de requête
AnalyzedQuery.


Emmanuel Bégué a écrit :
> Bonjour,
> 
> J'ai un peu mieux cerné le problème décrit dans le message
> ci-dessous: en fait l'erreur "Already closed" se produit
> lorsque le jar Lucene 1.4.3 est présent sur le classpath
> (en plus de celui fourni avec cette version de sdx, qui
> s'appelle "lucene-patched-builddate").
> 
> Sur cette installation il n'est pas possible que ce jar ne
> soit pas présent, donc il faudrait réussir à faire cohabiter
> cette version de SDX et ce jar.
> 
> => quelle est la version de Lucene qui est patchée dans la
>    version 2.2 de SDX et quel était l'objet du patch?
> 
> 
> Je soupçonne la classe LuceneDataStore/recycleSearcher d'être
> à l'origine du problème, car elle est signalée par l'exception
> 
> java.io.IOException: Already closed
>  at fr.gouv.culture.sdx.exception.SDXException.log(SDXException.java:115)
>  at fr.gouv.culture.sdx.exception.SDXException.<init>(SDXException.java:103)
>  at 
> fr.gouv.culture.sdx.utils.lucene.LuceneDataStore.recycleSearcher(LuceneDataStore.java:149)
>  at 
> fr.gouv.culture.sdx.utils.lucene.LuceneDataStore.init(LuceneDataStore.java:102)
>  at 
> fr.gouv.culture.sdx.search.lucene.query.LuceneIndex.mergeBatch(LuceneIndex.java:471)
>  at 
> fr.gouv.culture.sdx.documentbase.LuceneDocumentBase.compactSearchIndex(LuceneDocumentBase.java:395)
>  at 
> fr.gouv.culture.sdx.documentbase.SDXDocumentBase.index(SDXDocumentBase.java:1069)
>  at 
> fr.gouv.culture.sdx.documentbase.SDXDocumentBase.index(SDXDocumentBase.java:761)
> 
> et on y trouve:
> 
>  try {
>    if (this.searcher != null)
>    //freeing resources
>    //TODO?:but what if an external call has already closed the
>    //searcher or the searcher is in use?-rbp
>    this.searcher.close();
> 
> Le commentaire "TODO" semble prophétique... (mais le test
> sur null devrait éviter de fermer quelque chose qui est déjà
> fermé?)
> 
> J'ai essayé de commenter "this.searcher.close()" mais j'ai
> alors une NPE générale (même pour une simple recherche).
> 
> Des pistes?
> 
> Merci,
> Cordialement,
> EB
> 
>> -----Original Message-----
>> From: address@hidden
>> [mailto:address@hidden
>> On Behalf Of Emmanuel Bégué
>> Sent: Tuesday, July 07, 2009 5:53 PM
>> To: address@hidden
>> Subject: [sdx-users] java.io.IOException: Already closed
>>
>>
>> Bonjour,
>>
>> Suite à une migration de plateforme d'une installation de SDX 2.2
>> datant de 2004, on rencontre l'erreur en objet suite à toute
>> tentative d'indexation:
>>
>>   <sdx:message>
>>   Unable to get a searcher object for the Lucene index located
>>   at (...)
>>   </sdx:message>
>>
>>   <sdx:originalException>
>>   java.io.IOException: Already closed at (...)
>>
>> Cette erreur interdit ensuite d'accéder aux fichiers d'index
>> même en lecture; la recherche donne l'erreur suivante:
>>
>>   <sdx:message>Unable to execute the query, "(+sdxall:1)":
>>   Unable to read the search index of 
>> address@hidden:
>>   Bad file descriptor</sdx:message>
>>
>>   <sdx:originalException>
>>   java.io.IOException: Bad file descriptor
>>   at fr.gouv.culture.sdx.exception.SDXException.log
>>   at (...)
>>
>> (Mais on peut rechercher tant qu'on n'a pas (ré-)indexé; il semblerait
>> que ce soit la fusion des index temporaire et principal qui crée
>> le problème).
>>
>>
>> La recherche de "java.io.IOException: Already closed" dans
>> Google donne des exemples divers qui concernent Lucene 2.0
>> (ici on est en 1.4) avec un JDK 1.5.x (ici on est en 1.4.2)...
>>
>> Est-ce que quelqu'un a déjà rencontré cette erreur et aurait des
>> pistes pour la résoudre...?
>>
>> Merci,
>> Cordialement,
>> Emmanuel Bégué





reply via email to

[Prev in Thread] Current Thread [Next in Thread]