Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-17146

Add DelegatingBackupRepository and alternative checksum verification

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 9.6
    • None
    • None

    Description

      Currently all BackupRepository copy methods systematically verify the checksum of the index file to copy before copying it to the repository.

      This poses a problem when the file to copy cannot be verified with the standard Lucene checksum check. For example if the file was encrypted, the checkum would need to be verified in a different manner.

      We propose to

      1- Add an optional initialization argument to disable the checksum verification (enabled by default) in each BackupRepository implementation.

      2- Introduce an abstract DelegatingBackupDirectory to extend when we need to perform different/additional logic on top of a delegate BackupDirectory. For example, verify the checksum differently. Also, the DelegatingBackupDirectory could inject some initialization arguments when the BackupRepositoryFactory creates its delegate.
      Also make the existing TrackingBackupRepository (for tests) extend DelegatingBackupDirectory.

      3- Add a test case to AbstractBackupRepositoryTest to ensure all implementations support disabling the checksum verification. And add a test for LocalFileSystemDirectory (not tested currently) that also extends AbstractBackupRepositoryTest.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              broustant Bruno Roustant
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 10m
                  2h 10m