Projet

Général

Profil

Actions

Bug #7747

fermé

Indexation complète

Ajouté par Emmanuel GRANGE il y a environ 8 ans. Mis à jour il y a plus de 7 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
Moteur de recherche
Début:
05/04/2016
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Firefox
Votre version de Silverpeas:
5.15.3
Système d'exploitation:
Linux
Votre base de données:
PostgreSQL
Livraison en TEST:
Livraison en PROD:

Description

Bonjour,

D'après nos tests précédents, l'indexation complète semble fonctionner mais dure extrèmement longtemps (4-5 jours) et ralenti considérablement l'utilisation du portail.

Il est compliqué dans notre environnement de production de trouver une plage aussi longue pour la réindexation complète du portail. D'autant plus que pendant ce laps de temps, les utilisateurs ne pourront plus du tout faire de recherche, puisqu'il est conseillé de supprimer le dossier d'index avant de lancer la réindexation.

Tout d'abord, est_il vraiment nécessaire de supprimer le dossier $SILVERPEAS_HOME/data/index ?
Que se passe t'il si nous lançons l'indexation d'un espace, sans supprimer le dossier index avant ? Réindexation complète, ou uniquement la différence ? Suppression des index qui n'existe plus ?

Pour alléger l'opération, nous envisageons de faire une copie du portail de Production, et de lancer l'indexation complète sur ce clone. Une fois terminée, nous copierons le dossier "index" sur le serveur de production. Puis, afin d'indexer les fichiers manquants, nous relancerons l'indexation espace par espace pendant les week-end.

Est-ce que cela vous semble réalisable ?

Merci


Fichiers

indexEngine.txt.gz (562 octets) indexEngine.txt.gz Emmanuel GRANGE, 19/09/2016 09:31
traces.txt.2016-03.gz (983 ko) traces.txt.2016-03.gz Emmanuel GRANGE, 19/09/2016 09:31
server.log.2016-09-17.gz (234 ko) server.log.2016-09-17.gz Emmanuel GRANGE, 19/09/2016 09:34
lib-core-5.15.3.jar (2,41 Mo) lib-core-5.15.3.jar David Lesimple, 26/09/2016 09:34
traces.index.2016-05.txt.gz (369 ko) traces.index.2016-05.txt.gz Emmanuel GRANGE, 03/10/2016 13:52
server.log.2016-10-01.gz (405 ko) server.log.2016-10-01.gz Emmanuel GRANGE, 03/10/2016 13:52
7747_pb_indexation (3,49 ko) 7747_pb_indexation David Lesimple, 04/10/2016 09:26

Mis à jour par Emmanuel GRANGE il y a environ 8 ans

  • Sujet changé de Bonjour, à Indexation complète
  • Description mis à jour (diff)

Mis à jour par David Lesimple il y a environ 8 ans

  • Statut changé de New à Feedback

Emmanuel GRANGE a écrit :

Bonjour,

D'après nos tests précédents, l'indexation complète semble fonctionner mais dure extrèmement longtemps (4-5 jours) et ralenti considérablement l'utilisation du portail.

Il est compliqué dans notre environnement de production de trouver une plage aussi longue pour la réindexation complète du portail. D'autant plus que pendant ce laps de temps, les utilisateurs ne pourront plus du tout faire de recherche, puisqu'il est conseillé de supprimer le dossier d'index avant de lancer la réindexation.

Tout d'abord, est_il vraiment nécessaire de supprimer le dossier $SILVERPEAS_HOME/data/index ?

Si c'est indiqué dans la release-notes il faut faire cela, dans les autres cas, cela n'est pas obligatoire.

Que se passe t'il si nous lançons l'indexation d'un espace, sans supprimer le dossier index avant ? Réindexation complète, ou uniquement la différence ? Suppression des index qui n'existe plus ?

La réindexation est complète mais dans certains cas, certains éléments restent indexés alors qu'ils ne devraient plus l'etre.

Pour alléger l'opération, nous envisageons de faire une copie du portail de Production, et de lancer l'indexation complète sur ce clone. Une fois terminée, nous copierons le dossier "index" sur le serveur de production. Puis, afin d'indexer les fichiers manquants, nous relancerons l'indexation espace par espace pendant les week-end.

Est-ce que cela vous semble réalisable ?

Oui c'est une solution possible dans le cas d'une ré-indexation complète lorsque les index sont remis à 0.
Un rsync peut également vous indiquer quels sont les espaces à ré-indexer.

Merci

Mis à jour par David Lesimple il y a plus de 7 ans

  • % réalisé changé de 0 à 90

L'indexation complète peut être grandement écourtée si vous n'indexez plus en plein texte les différents documents.
Avez-vous effectué le test en ce sens ?

Au niveau paramétrage, il faut valoriser :

attachment.index.separately=false
attachment.index.incorporated=false

dans Attachment.properties

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

  • Votre version de Silverpeas changé de 5.15.1 à 5.15.3

Nous utilisons déjà ce paramétrage.

Une indexation complète du portail a été relancé ce week-end.
Mais elle ne semble pas avoir aboutie.

Elle a été lancé Samedi 17/09 à 9:57, et il n'y a plus de trace dès 11:00 !

Mis à jour par David Lesimple il y a plus de 7 ans

Emmanuel GRANGE a écrit :

Nous utilisons déjà ce paramétrage.

Vous utilisez déja ce paramétrage, mais aviez-vous déja refait une indexation complète avant celle-ci ?

Une indexation complète du portail a été relancé ce week-end.
Mais elle ne semble pas avoir aboutie.

Elle a été lancé Samedi 17/09 à 9:57, et il n'y a plus de trace dès 11:00 !

merci de joindre les logs (traces.txt)

Mis à jour par David Lesimple il y a plus de 7 ans

  • Assigné à mis à David Lesimple

Mis à jour par David Lesimple il y a plus de 7 ans

  • Tracker changé de Support à Bug
  • Votre base de données mis à PostgreSQL

L'indexation se termine brutalement par une erreur :

2016-09-17 11:02:49,889 ERROR [STDERR] (Thread-221) Exception in thread "Thread-221" java.lang.IllegalArgumentException
2016-09-17 11:02:49,890 ERROR [STDERR] (Thread-221) at java.util.concurrent.Semaphore.release(Semaphore.java:583)
2016-09-17 11:02:49,890 ERROR [STDERR] (Thread-221) at org.silverpeas.search.indexEngine.model.IndexerThread.run(IndexerThread.java:144)

Mis à jour par David Lesimple il y a plus de 7 ans

  • Assigné à David Lesimple supprimé

Mis à jour par David Lesimple il y a plus de 7 ans

On va déja essayer de le lancer sur le serveur de test pour voir si l'erreur survient.

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

tu le fais, ou c'est moi ?

Mis à jour par David Lesimple il y a plus de 7 ans

Emmanuel GRANGE a écrit :

tu le fais, ou c'est moi ?

je m'en occupe.
Autre chose, as-tu supprimer le répertoire index avant de lancer l'indexation ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Non, je voulais juste ajouter les index manquant !
Et je ne voulais pas arrêter le portail.

Mais ça devrait fonctionner aussi, non ?

oui. Mais tu n'as pas répondu à ma question: Vous utilisez déja ce paramétrage, mais aviez-vous déja refait une indexation complète avant celle-ci ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Pardon, non, pas complète.

Pour info, le portail de test a planté avec la même erreur.

Mis à jour par David Lesimple il y a plus de 7 ans

oui mais je vais la relancer pour essayer d'avoir encore plus d'infos dans le log.

Mis à jour par David Lesimple il y a plus de 7 ans

J'ai supprimé les derniers éléments affichés dans le log et qui devaient etre indexées et relancer l'indexation mais le problème persiste.
Ce n'est donc pas un problème localisé de données.

Je continue à investiguer.

Mis à jour par David Lesimple il y a plus de 7 ans

En jouant sur le paramétrage de l'indexeur, l'indexation a tourné 14 heures mais s'est également terminé en erreur.
Cependant, on ne devait pas etre trop éloigné de la fin: Taille index: 788 Mo - 14111 dossiers.

Je vais refaire un test. Merci de ne pas intervenir sur le serveur.

Mis à jour par David Lesimple il y a plus de 7 ans

Bien. Quelque soit le paramétrage, on finit par une erreur du meme type (erreur dans un thread) dont la cause exacte est inconnue :

2016-09-20 16:44:58,413 ERROR [STDERR] (Thread-59) Exception in thread "Thread-59" java.lang.IllegalArgumentException
2016-09-20 16:44:58,413 ERROR [STDERR] (Thread-59) at java.util.concurrent.Semaphore.release(Semaphore.java:583)
2016-09-20 16:44:58,413 ERROR [STDERR] (Thread-59) at org.silverpeas.search.indexEngine.model.IndexerThread.run(IndexerThread.java:144)

Mis à jour par David Lesimple il y a plus de 7 ans

Nous allons maintenant essayer de la reproduire en local avec votre base de données, puisque les pièces jointes ne sont pas indexées.

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Peut-on arrêter le portail de test ?

Mis à jour par David Lesimple il y a plus de 7 ans

D'ici 15' oui.

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Trop tard, il ne répondait pas, et je l'ai donc redémarré.

Mis à jour par David Lesimple il y a plus de 7 ans

  • Statut changé de Feedback à Qualified

Nous avons localisé et qualifié l'erreur. Correctif à venir.

Mis à jour par David Lesimple il y a plus de 7 ans

  • Assigné à mis à Yohann Chastagnier
  • Version cible mis à Version 5.15.4

Mis à jour par David Lesimple il y a plus de 7 ans

  • Statut changé de Qualified à In progress...

Indexation en cours sur le serveur de test avec correctif. Merci de ne pas redémarrer le serveur.

Mis à jour par David Lesimple il y a plus de 7 ans

  • Assigné à changé de Yohann Chastagnier à David Lesimple

toujours en cours... (tous les espaces).

Mis à jour par David Lesimple il y a plus de 7 ans

Indexation sur le serveur de test terminé. Durée: 25h
Taille finale de l'index: 939 Mo

En pièce jointe le fichier contenant le correctif de ce ticket.

A placer dans $SILVERPEAS_HOME/jar/silverpeas.ear/lib

et dans
$JBOSS_HOME/server/default/deploy/silverpeas/silverpeas.ear/lib/

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

  • Assigné à David Lesimple supprimé
  • Version cible Version 5.15.4 supprimé

Cool, bonne nouvelle.

L'indexation a-t'elle été faite avec ou sans avoir supprimé le dossier index ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

  • Assigné à mis à David Lesimple
  • Version cible mis à Version 5.15.4

Désolé, ça a supprimé les champs à l’insu de mon plein gré !

Autre question, comment être sûr qu'il a bien tout indexé ?

Mis à jour par David Lesimple il y a plus de 7 ans

Emmanuel GRANGE a écrit :

Cool, bonne nouvelle.

L'indexation a-t'elle été faite avec ou sans avoir supprimé le dossier index ?

J'avais supprimé au préalable le répertoire index.

Mis à jour par David Lesimple il y a plus de 7 ans

  • Statut changé de In progress... à Resolved
  • % réalisé changé de 90 à 100

Mis à jour par Yohann Chastagnier il y a plus de 7 ans

  • Statut changé de Resolved à Integration in progress...

Mis à jour par Yohann Chastagnier il y a plus de 7 ans

  • Statut changé de Integration in progress... à V6 pending

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Vu le temps que prends l'indexation complète, je l'ai lancé ce week-end, avec beaucoup d'espoir.

Mais il semble qu'elle est tournée à peu près 2h30, et puis s'est à nouveau arrêtée.
Pour information, je n'ai pas supprimé le dossier index avant de lancer l'indexation.

Mis à jour par Yohann Chastagnier il y a plus de 7 ans

Bonjour,
Est-il possible de nous transmettre les logs correspondantes ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Le fichier de log trace.txt complet fait plus de 1Go (34Mo compressé), j'ai donc extrait depuis le lancement de l'indexation, et aussi le server.log de samedi.

J'ai lancé l'indexation à 21:07, et la dernière trace est à 23:34

Mis à jour par David Lesimple il y a plus de 7 ans

Il y a eu un problème encore non identifié lors de l'indexation de l'espace WA8614, peu-ton essayer de le re-indexer ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Juste cet espace ? (pas le portail complet)
Je pense que oui. A ma connaissance, il n'est pas très gros.

Le problème, est qu'il s'agit d'un sous-espace d'un espace lui-même supprimé. Comment faire pour n'indexer que celui-ci ?

Mis à jour par David Lesimple il y a plus de 7 ans

D'après mes constats, c'est l'indexation des raccourcis (alias) de publications qui a remonté une erreur.
Nous allons regarder de plus près pourquoi.

Mis à jour par David Lesimple il y a plus de 7 ans

Bonjour,

Serait-il possible d'avoir une restauration des données de prod sur la VM de test pour que nous puissions ajouter plus de traces et voir ce qui bloque ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Oui, c'est possible.
Nous allons voir s'il est plus rapide de faire une restauration ou une copie de la VM à la place du test existant.

Par contre, si la restauration est trop lente, nous ne lanceront la copie de la VM que ce soir, pour limiter l'impact sur la Prod.

Cela vous convient-il ?

Mis à jour par David Lesimple il y a plus de 7 ans

Oui merci.

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Le portail de Test est prêt.
Finalement, nous avons fait un clone intégrale du portail de Prod : au moins 3x plus rapide, et exacte copie de la Prod (Données et BDD)

Mis à jour par David Lesimple il y a plus de 7 ans

Merci, nous avons apporté des améliorations au niveau du parcours de l'arborescence Espaces/Applications/etc.. de l'indexation qui devraient fiabiliser le process.
Nous allons le valider sur le serveur de test.

Mis à jour par David Lesimple il y a plus de 7 ans

Ok, l'indexation est terminée (24 heures de traitement) sur le serveur de test, avec les données fraichement restaurées de prod.

Début le 5 octobre 2016 à 14h (tous les espaces)
Fin le 6 Octobre à 13h59
Taille du répertoire index: 1,3 Go

Précision: l'indexation de l'espace WA8614 s'est bien passée.

Mis à jour par David Lesimple il y a plus de 7 ans

Nous allons incorporez ces améliorations dans la 5.15.4-SNAPSHOT.
Souhaitez-vous l'appliquer sur votre environnement de Prod avant de la sortir en version définitive (si cela peut etre fait ce week-end) ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Oui, ça serait bien.

Est-ce compliqué à installer ?

Mis à jour par David Lesimple il y a plus de 7 ans

Il suffira de modifier le pom.xml et de mettre 5.15.4-SNAPSHOT puis de faire les opérations habituelles de mise à jour.

J'en profite pour signaler qu'avant de lancer une indexation complète, il est souhaitable de :

- Vider la corbeille des espaces et des applications, cela allégera d'autant l'indexation
- Supprimer le contenu du répertoire index (faire un backup de l'actuel, ce qui permettra de comparer leur taille).
- Activer le niveau INFO du module Bus.indexEngine

Mis à jour par David Lesimple il y a plus de 7 ans

La version 5.15.4-SNAPSHOT est disponible dans Nexus.

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Est-ce que cette version contient les patchs manuels des tickets #8162 (#8157) et celui livré ci-dessus ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

D'ailleurs, ne contient-elle pas toutes les corrections de la 5.15.4 ?

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Je reste toujours un peu hésitant à installer une version non finale

Mis à jour par David Lesimple il y a plus de 7 ans

Pas de souci, tu peux attendre la sortie officielle de la 5.15.4 !

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

Elle est prévue pour quand ?

Mis à jour par Miguel Moquillon il y a plus de 7 ans

La sortie officielle de la 5.15.4 a été retardée pour pouvoir intégrer la dernière correction relative à ce ticket. On en profite pour intégrer aussi quelques corrections de nouveaux bogues mineurs (comme la #8243).
Si par d'imprévue impromptue, elle est prévue la semaine prochaine.

Mis à jour par Emmanuel GRANGE il y a plus de 7 ans

On devrait pouvoir patienter d'ici là. Merci

Mis à jour par Yohann Chastagnier il y a plus de 7 ans

  • Statut changé de V6 pending à Closed

Intégré en 6.0

Actions

Formats disponibles : Atom PDF