Projet

Général

Profil

Anomalie #17075

Erreur avec zend_search_lucene

Ajouté par Lionel MARIE-LOUISE il y a presque 3 ans. Mis à jour il y a plus de 2 ans.

Statut:
Clôturé
Priorité:
1-Majeur
Version cible:
Début:
14/05/2021
Echéance:
Version applicable MC:
Tags Courrier:

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


Demandes liées

Lié à Backlog Courrier - Fonctionnalité #17078: Trouver un remplacement à Zend Search Lucene qui n'est plus maintenu depuis plusieurs annéesR&D - Terminé2021-05-14

Historique

#2 Mis à jour par Lionel MARIE-LOUISE il y a presque 3 ans

  • Description mis à jour (diff)

#3 Mis à jour par Support Maarch il y a presque 3 ans

  • Statut changé de A qualifier à A traiter

#4 Mis à jour par Emmanuel DILLARD il y a presque 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

#5 Mis à jour par Florian AZIZIAN il y a presque 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)

#6 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Lié à Fonctionnalité #17078: Trouver un remplacement à Zend Search Lucene qui n'est plus maintenu depuis plusieurs années ajouté

#7 Mis à jour par Ludovic ARAUJO il y a presque 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.

#10 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Assigné à changé de Florian AZIZIAN à Lionel MARIE-LOUISE

#13 Mis à jour par Lionel MARIE-LOUISE il y a presque 3 ans

  • Privée changé de Oui à Non

#14 Mis à jour par Lionel MARIE-LOUISE il y a presque 3 ans

  • Assigné à changé de Lionel MARIE-LOUISE à Florian AZIZIAN

#15 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Statut changé de Complément d'Informations à R&D - A étudier

#16 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Projet changé de Backlog à CURRENT SPRINT
  • Statut changé de R&D - A étudier à R&D - En cours

#18 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Assigné à Florian AZIZIAN supprimé

#20 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Projet changé de CURRENT SPRINT à Backlog
  • Statut changé de R&D - En cours à R&D - A planifier

#21 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Projet changé de Backlog à CURRENT SPRINT
  • Statut changé de R&D - A planifier à R&D - En cours

#22 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Echéance mis à 08/06/2021

#23 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Assigné à mis à Florian AZIZIAN

#25 Mis à jour par Florian AZIZIAN il y a presque 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.

#28 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Projet changé de CURRENT SPRINT à Backlog

#29 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Projet changé de Backlog à Backlog Courrier
  • Version cible changé de Courrier 20.10 TMA à 287

#30 Mis à jour par Lionel MARIE-LOUISE il y a presque 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

#31 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Version cible changé de 287 à 292

#32 Mis à jour par Florian AZIZIAN il y a presque 3 ans

  • Assigné à changé de Florian AZIZIAN à Lionel MARIE-LOUISE

#34 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Version cible changé de 292 à 293

#38 Mis à jour par Emmanuel DILLARD il y a plus de 2 ans

  • Echéance 08/06/2021 supprimé

#39 Mis à jour par Madina Makhmutova il y a plus de 2 ans

  • Statut changé de Complément d'Informations à Clôturé

#41 Mis à jour par Emmanuel DILLARD il y a plus de 2 ans

  • Version cible changé de 293 à 19.04 TMA1

Formats disponibles : Atom PDF