[ 
https://issues.apache.org/jira/browse/SOLR-9091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15276878#comment-15276878
 ] 

Hrishikesh Gadre commented on SOLR-9091:
----------------------------------------

Another problem is that following code will throw an NPE if 
"backupIndexFileChecksum" parameter is NULL (which is possible when the 
checksum is not available in the calling method).

https://github.com/apache/lucene-solr/blob/7571e747c3506ee93d63c9bd3534254944b5caa7/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java#L922

> Solr index restore silently copies the corrupt segments in the backup
> ---------------------------------------------------------------------
>
>                 Key: SOLR-9091
>                 URL: https://issues.apache.org/jira/browse/SOLR-9091
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Hrishikesh Gadre
>
> The Solr core restore functionality uses following criteria to decide if a 
> given file is copied from backup directory or from current index directory.
> case 1] File is available in both backup and current index directory
> --> Compare the checksum and file length
>   --> If checksum and length matching, copy the file from current working 
> directory.
>  --> If the checksum and length doesn't match, copy the file from backup 
> directory. 
> case 2] File is available in only in backup directory (This can happen for a 
> newly created core without any data).
> --> Copy the file from backup directory. 
> Now the problem here is that we intentionally catch and ignore the error 
> while reading the checksum for a file in the backup directory. Hence in case 
> (2), it will result into restoration of a file without appropriate "checksum".
> Here is the relevant code snippet,
> https://github.com/apache/lucene-solr/blob/a5586d29b23f7d032e6d8f0cf8758e56b09e0208/solr/core/src/java/org/apache/solr/handler/RestoreCore.java#L82-L95



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to