You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Jason Gerlowski (Jira)" <ji...@apache.org> on 2021/11/03 16:06:00 UTC

[jira] [Commented] (SOLR-15706) After an incremental back up, the pugeUnused operation incorrectly deletes all backed up data

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

Jason Gerlowski commented on SOLR-15706:
----------------------------------------

I've uploaded a script (based on Don's instructions, thanks!) to ease reproduction a bit.

The root cause looks to be that a line in the "purge" code looks for "shard metadata" files in the wrong directory.  Not finding the right shard metadata files causes valid, in-use index files to look "orphaned" (and ultimately be cleaned up by the purge).

The fix is pretty trivial.  I'll commit a fix soon, and look into why our existing tests didn't catch this.

> After an incremental back up, the pugeUnused operation incorrectly deletes all backed up data
> ---------------------------------------------------------------------------------------------
>
>                 Key: SOLR-15706
>                 URL: https://issues.apache.org/jira/browse/SOLR-15706
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Backup/Restore
>    Affects Versions: 8.9
>            Reporter: Don
>            Assignee: Jason Gerlowski
>            Priority: Critical
>         Attachments: reproduce.sh
>
>
> Reproduction Steps: # Create a collection _'foo',_
>  # Insert small number of documents (_say 10_) into collection _'foo'_
>  # Backup collection _'foo'_ using collections API (/admin/collections?action=BACKUP), this should result in creation of _backupId 0_
>  # Backup collection _'foo'_ again using collections API (/admin/collections?action=BACKUP), this should result in creation of _backupId 1_
>  # Delete _backupId 0_ for collection _'foo'_ (/admin/collections?action=DELETEBACKUP?backupId=0)
>  # Run delete backup for collection _'foo'_ again, this time with _'purgeUnused=true'_ (/admin/collections?action=DELETEBACKUP?purgeUnused=true)
>  # Restore from _backupId 1_ which still exists to collection _'bar'_ (/admin/collections?action=RESTORE)
> Expected Result: # Restored collection 'bar' has 10 documents in it
> Actual Result: # Restored collection 'bar' has 0 documents in it
> We found in our testing that when purge is used it incorrectly deletes all backup data instead of just the unused data as it supposed to.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org