Image du projet 'Socle K-Sup' téléversée
  1. Socle K-Sup
  2. CORE-1576

L'optimisation de l'index lucene peut échouer si usage et volumétrie conséquents

    XMLWordImprimable

    Informations

    • Type: Bug
    • Etat: Fermé
    • Priorité: Mineur
    • Résolution: Ne sera pas résolu
    • Affecte la/les version(s): 6.02.15, 6.03.05, 6.04.03
    • Version(s) corrigée(s): Aucune
    • Composants: Aucune
    • Etiquettes:
      Aucune

      Description

      A la fin de chaque indexation, on appelle une méthode "optimisation" qui lance la commande forceMerge(1). Cette méthode semble comporter des risques et peut entraîner une corruption de l'index par exemple.

      Une solution serait de sortir cette action du job d'indexation, pour qu'elle ne soit effectuée que la nuit par exemple, que s'il y en a besoin (voir méthode IndexWriter.maybeMerge), et en s'assurant qu'aucun accès en lecture n'est fait en parallèle sur l'index.

      Exemple d'exception obtenue sur une volumétrie et une fréquentation forte sur le site, après exécution de l'indexation complète :

      2015-10-01 15:24:41.846 [Indexer.java:310] [ERROR] Exception lors de l'optimisation de l'index
      java.io.FileNotFoundException: _n.fdt
      	at org.apache.lucene.store.FSDirectory.fileLength(FSDirectory.java:284) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.SegmentInfo.sizeInBytes(SegmentInfo.java:303) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.TieredMergePolicy.size(TieredMergePolicy.java:635) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.TieredMergePolicy.useCompoundFile(TieredMergePolicy.java:613) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.DocumentsWriter.flush(DocumentsWriter.java:593) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3587) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3552) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:2516) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at org.apache.lucene.index.IndexWriter.forceMerge(IndexWriter.java:2492) ~[lucene-core-3.6.2.jar:3.6.2 1423725 - rmuir - 2012-12-18 19:45:40]
      	at com.jsbsoft.jtf.textsearch.Indexer.optimisation(Indexer.java:307) ~[core-6.02.08.jar:na]
      	at com.jsbsoft.jtf.textsearch.IndexerJob.run(IndexerJob.java:133) [core-6.02.08.jar:na]
      	at com.jsbsoft.jtf.textsearch.IndexerJob.perform(IndexerJob.java:157) [core-6.02.08.jar:na]
      	at com.kportal.scheduling.spring.quartz.LogReportJob.execute(LogReportJob.java:58) [core-6.02.08.jar:na]
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-2.1.7.jar:na]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_80]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_80]
      	at java.lang.Thread.run(Thread.java:745) [na:1.7.0_80]

        Pièces jointes

          Liens des demandes

            Activité

              Personnes

              • Responsable:
                olivier.camon Olivier CAMON [X] (Inactif)
                Rapporteur:
                alice.ark Alice ARK
              • Votes:
                1 Voter pour cette demande
                Gérer les observateurs:
                4 Commencer l'observation de cette demande

                Dates

                • Création:
                  Mise à jour:
                  Résolue: