Project

General

Profile

Actions

Bug #7747

closed

Indexation complète

Added by Emmanuel GRANGE over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Category:
Moteur de recherche
Start date:
04/05/2016
Due date:
% Done:

100%

Estimated time:
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


Files

indexEngine.txt.gz (562 Bytes) indexEngine.txt.gz Emmanuel GRANGE, 09/19/2016 09:31 AM
traces.txt.2016-03.gz (983 KB) traces.txt.2016-03.gz Emmanuel GRANGE, 09/19/2016 09:31 AM
server.log.2016-09-17.gz (234 KB) server.log.2016-09-17.gz Emmanuel GRANGE, 09/19/2016 09:34 AM
lib-core-5.15.3.jar (2.41 MB) lib-core-5.15.3.jar David Lesimple, 09/26/2016 09:34 AM
traces.index.2016-05.txt.gz (369 KB) traces.index.2016-05.txt.gz Emmanuel GRANGE, 10/03/2016 01:52 PM
server.log.2016-10-01.gz (405 KB) server.log.2016-10-01.gz Emmanuel GRANGE, 10/03/2016 01:52 PM
7747_pb_indexation (3.49 KB) 7747_pb_indexation David Lesimple, 10/04/2016 09:26 AM
Actions #1

Updated by Emmanuel GRANGE over 5 years ago

  • Subject changed from Bonjour, to Indexation complète
  • Description updated (diff)
Actions #2

Updated by David Lesimple over 5 years ago

  • Status changed from New to 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

Actions #3

Updated by David Lesimple over 5 years ago

  • % Done changed from 0 to 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
Actions #4

Updated by Emmanuel GRANGE about 5 years ago

  • Votre version de Silverpeas changed from 5.15.1 to 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 !

Actions #5

Updated by David Lesimple about 5 years ago

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)

Actions #7

Updated by David Lesimple about 5 years ago

  • Assignee set to David Lesimple
Actions #8

Updated by David Lesimple about 5 years ago

  • Tracker changed from Support to Bug
  • Votre base de données set to 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)

Actions #9

Updated by David Lesimple about 5 years ago

  • Assignee deleted (David Lesimple)
Actions #10

Updated by David Lesimple about 5 years ago

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

Actions #11

Updated by Emmanuel GRANGE about 5 years ago

tu le fais, ou c'est moi ?

Actions #12

Updated by David Lesimple about 5 years ago

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 ?

Actions #13

Updated by Emmanuel GRANGE about 5 years ago

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 ?

Actions #14

Updated by Emmanuel GRANGE about 5 years ago

Pardon, non, pas complète.

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

Actions #15

Updated by David Lesimple about 5 years ago

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

Actions #16

Updated by David Lesimple about 5 years ago

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.

Actions #17

Updated by David Lesimple about 5 years ago

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.

Actions #18

Updated by David Lesimple about 5 years ago

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)

Actions #19

Updated by David Lesimple about 5 years ago

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.

Actions #20

Updated by Emmanuel GRANGE about 5 years ago

Peut-on arrêter le portail de test ?

Actions #21

Updated by David Lesimple about 5 years ago

D'ici 15' oui.

Actions #22

Updated by Emmanuel GRANGE about 5 years ago

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

Actions #23

Updated by David Lesimple about 5 years ago

  • Status changed from Feedback to Qualified

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

Actions #24

Updated by David Lesimple about 5 years ago

  • Assignee set to Yohann Chastagnier
  • Target version set to Version 5.15.4
Actions #25

Updated by David Lesimple about 5 years ago

  • Status changed from Qualified to In progress...

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

Actions #26

Updated by David Lesimple about 5 years ago

  • Assignee changed from Yohann Chastagnier to David Lesimple

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

Actions #27

Updated by David Lesimple about 5 years ago

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/

Actions #28

Updated by Emmanuel GRANGE about 5 years ago

  • Assignee deleted (David Lesimple)
  • Target version deleted (Version 5.15.4)

Cool, bonne nouvelle.

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

Actions #29

Updated by Emmanuel GRANGE about 5 years ago

  • Assignee set to David Lesimple
  • Target version set to 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é ?

Actions #30

Updated by David Lesimple about 5 years ago

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.

Actions #31

Updated by David Lesimple about 5 years ago

  • Status changed from In progress... to Resolved
  • % Done changed from 90 to 100
Actions #32

Updated by Yohann Chastagnier about 5 years ago

  • Status changed from Resolved to Integration in progress...
Actions #33

Updated by Yohann Chastagnier about 5 years ago

  • Status changed from Integration in progress... to V6 pending
Actions #34

Updated by Emmanuel GRANGE about 5 years ago

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.

Actions #35

Updated by Yohann Chastagnier about 5 years ago

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

Actions #36

Updated by Emmanuel GRANGE about 5 years ago

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

Actions #37

Updated by David Lesimple about 5 years ago

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 ?

Actions #38

Updated by Emmanuel GRANGE about 5 years ago

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 ?

Actions #39

Updated by David Lesimple about 5 years ago

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.

Actions #40

Updated by David Lesimple about 5 years ago

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 ?

Actions #41

Updated by Emmanuel GRANGE about 5 years ago

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 ?

Actions #42

Updated by David Lesimple about 5 years ago

Oui merci.

Actions #43

Updated by Emmanuel GRANGE about 5 years ago

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)

Actions #44

Updated by David Lesimple about 5 years ago

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.

Actions #45

Updated by David Lesimple about 5 years ago

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.

Actions #46

Updated by David Lesimple about 5 years ago

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) ?

Actions #47

Updated by Emmanuel GRANGE about 5 years ago

Oui, ça serait bien.

Est-ce compliqué à installer ?

Actions #48

Updated by David Lesimple about 5 years ago

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

Actions #49

Updated by David Lesimple about 5 years ago

La version 5.15.4-SNAPSHOT est disponible dans Nexus.

Actions #50

Updated by Emmanuel GRANGE about 5 years ago

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

Actions #51

Updated by Emmanuel GRANGE about 5 years ago

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

Actions #52

Updated by Emmanuel GRANGE about 5 years ago

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

Actions #53

Updated by David Lesimple about 5 years ago

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

Actions #54

Updated by Emmanuel GRANGE about 5 years ago

Elle est prévue pour quand ?

Actions #55

Updated by Miguel Moquillon about 5 years ago

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.

Actions #56

Updated by Emmanuel GRANGE about 5 years ago

On devrait pouvoir patienter d'ici là. Merci

Actions #57

Updated by Yohann Chastagnier about 5 years ago

  • Status changed from V6 pending to Closed

Intégré en 6.0

Actions

Also available in: Atom PDF