[ 
https://issues.apache.org/jira/browse/JSPWIKI-411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Florian Holeczek closed JSPWIKI-411.
------------------------------------


> LuceneSearchProvider dies with corrupted files
> ----------------------------------------------
>
>                 Key: JSPWIKI-411
>                 URL: https://issues.apache.org/jira/browse/JSPWIKI-411
>             Project: JSPWiki
>          Issue Type: Bug
>          Components: Plugins
>    Affects Versions: 2.6.4
>         Environment: LuceneSearchProvider and ReadableAttachmentProvider (
>            Reporter: Kurt Stein
>            Assignee: Harry Metske
>             Fix For: 2.8.1
>
>
> If someone uploads a corrupted files(i.e. 0-Byte or non readable pdf-content) 
> the lucene index crashes. Even with a new full reindex the lucene indexer 
> chrashes every time he touches the corrupted file.
> I have analyzed the code. In the method doFullLuceneReindex() there is a Try- 
> Catch block that catches the exception coming form the call  
> getAttachmentContent(att.getName(), WikiProvider.LATEST_VERSION ).
> But thus the indexer stops at this points and no other attachment will be 
> added to the lucene index.
>                     for( Iterator iterator = allAttachments.iterator(); 
> iterator.hasNext(); )
>                     {
>                         Attachment att = (Attachment) iterator.next();
>                         String text = getAttachmentContent( att.getName(),
>                                                             
> WikiProvider.LATEST_VERSION );
>                         luceneIndexPage( att, text, writer );
>                     }
> I would fixed it like this
>                     for( Iterator iterator = allAttachments.iterator(); 
> iterator.hasNext(); )
>                     {
>                         Attachment att = (Attachment) iterator.next();
>                         try
>                         {
>                             String text = getAttachmentContent( 
> att.getName(), WikiProvider.LATEST_VERSION );
>                             luceneIndexPage( att, text, writer );
>                         }
>                         catch (Throwable t)
>                         {
>                             //goto next Attachment iterator
>                             log.error("Error on indexing file " + 
> att.getFileName(), t);
>                         }
>                     }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to