Anomalie #17075
ferméErreur avec zend_search_lucene
Ajouté par Lionel MARIE-LOUISE il y a plus de 3 ans. Mis à jour il y a presque 3 ans.
Description
La fonction Zend_Search_Lucene lève une erreur : "Full Text index failed : Zend_Search_Lucene_Exception: Can't obtain shared reading index lock"
L'erreur se produit lors l'erreur se produit lors de l'exécution de la fonction php 'flock'.
D'après des recherches sur la fonction zend_search_lucene, il est indiqué qu'elle ne soit plus maintenue depuis la version 5.6 de PHP. et crash sur les versions PHP 7-> https://github.com/zendframework/ZendSearch/issues/24
Dans la documentation la fonction flock ne fonctionnerai pas avec le système NFS -> https://framework.zend.com/manual/1.12/fr/zend.search.lucene.index-creation.html
version 20.10 TMA
Mis à jour par Support Maarch il y a plus de 3 ans
- Statut changé de A qualifier à A traiter
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Statut changé de A traiter à R&D - A étudier
- Assigné à changé de EDI PO à Florian AZIZIAN
- Version cible changé de Inscription Backlog Courrier à Courrier 20.10 TMA
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Statut changé de R&D - A étudier à Complément d'Informations
- Assigné à changé de Florian AZIZIAN à Lionel MARIE-LOUISE
Il n'y a pas de problème avec php 7. La librairie n'est plus maintenue, mais elle fonctionne toujours. Testé chez nous sur php 7.3 et 7.4
=> Sachant que la librairie n'est plus maintenue depuis longtemps, j'ai créé un ticket pour trouver un remplacement (#17078)
Nous utilisons la même librairie depuis longtemps.
=> Comment faisait le client sur les précédentes versions ? Est-ce que cela fonctionnait ?
=> Pourquoi c'est en priorité "bloquant" dans notre backlog alors que le ticket client lié est en priorité "sérieux" ?
=> Contournement : Mettre les docservers fulltext sur le serveur applicatif
=> J'ai trouvé ce ticket (https://forge.maarch.org/issues/12948). Apparemment, HQU a réussi a faire fonctionner (c'était une 19.04. mais ça à l'air d'être en NFS également)
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Lié à Fonctionnalité #17078: Trouver un remplacement à Zend Search Lucene qui n'est plus maintenu depuis plusieurs années ajouté
Mis à jour par Ludovic ARAUJO il y a plus de 3 ans
- Priorité changé de 0-Bloquant à 1-Majeur
Le ticket résolu pour HQU ne contient pas suffisamment d'informations.
Nous passons le ticket en majeur le problème du client est néant moins bloquant, il impacte plusieurs instances qui se servent de cet élément pour la complétion des courriers.
Nous allons voir si le client peut passer par la solution de contournement.
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Assigné à changé de Florian AZIZIAN à Lionel MARIE-LOUISE
Mis à jour par Lionel MARIE-LOUISE il y a plus de 3 ans
- Assigné à changé de Lionel MARIE-LOUISE à Florian AZIZIAN
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Statut changé de Complément d'Informations à R&D - A étudier
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Projet changé de 298 à 299
- Statut changé de R&D - A étudier à R&D - En cours
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Projet changé de 299 à 298
- Statut changé de R&D - En cours à R&D - A planifier
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Projet changé de 298 à 299
- Statut changé de R&D - A planifier à R&D - En cours
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Statut changé de R&D - En cours à Complément d'Informations
- Assigné à changé de Florian AZIZIAN à Lionel MARIE-LOUISE
Les versions de zend-search-lucene utilisées dans Courrier 19.04 et 20.10 sont identiques (1.12)
la fonction flock était déjà présente dans la 19.04_TMA1 (https://labs.maarch.org/maarch/MaarchCourrier/blob/19.04_TMA1/apps/maarch_entreprise/tools/Zend/Search/Lucene/Storage/File/Filesystem.php)
La façon d'indexer les documents est également la même entre la 19.04 et la 20.10
La seule différence que je remarque est qu'en 19.04, il y avait un flag permettant de ne pas afficher les erreurs.
Je vous propose donc d'essayer en ajoutant ce flag :
Dans le fichier vendor/zf1/zend-search-lucene/library/Zend/Search/Lucene.php , Ligne 527 ,
Ajouter un "@" devant la ligne comme ceci :
@Zend_Search_Lucene_LockManager::obtainReadLock($this->_directory);
J'ai fait un montage nfs sur mon poste (linux-linux), et je n'ai pas l'erreur, même avant d'ajouter un flag (php 7.3.28).
Le problème doit arriver uniquement lorsque c'est un montage avec windows.
Si cela fonctionne, je mettrai cette solution dans le standard.
Mis à jour par Emmanuel DILLARD il y a plus de 3 ans
- Projet changé de 298 à Backlog Courrier
- Version cible changé de Courrier 20.10 TMA à 287
Mis à jour par Lionel MARIE-LOUISE il y a plus de 3 ans
- Assigné à changé de Lionel MARIE-LOUISE à Florian AZIZIAN
En mettant signe @ devant la fonction cela ne change rien, c'est pour masquer les warnings cependant l'alerte n'est pas un warning mais une erreur.
Cependant le courrier est quand même dans le doc serveur et on retrouve le mot ERROR dans le champ FUlltest_result de la table res_letterbox
Mis à jour par Florian AZIZIAN il y a plus de 3 ans
- Assigné à changé de Florian AZIZIAN à Lionel MARIE-LOUISE
Mis à jour par Madina Makhmutova il y a environ 3 ans
- Statut changé de Complément d'Informations à Clôturé
Mis à jour par Emmanuel DILLARD il y a presque 3 ans
- Version cible changé de 293 à 19.04 TMA1