Prateek Singhal created SOLR-17949:
--------------------------------------

             Summary: Add Azure Blob Storage backup repository module
                 Key: SOLR-17949
                 URL: https://issues.apache.org/jira/browse/SOLR-17949
             Project: Solr
          Issue Type: New Feature
          Components: Backup/Restore
         Environment: * Tested with Java 17+

 * Compatible with Solr 10.x

 * Works with Azurite (local) and Azure Blob Storage (production)

 * All major operating systems (macOS, Linux, Windows)
            Reporter: Prateek Singhal


This contribution adds a new backup repository implementation for Azure Blob 
Storage, allowing Solr to backup and restore collections to Microsoft Azure.

 

## Features

- Full backup/restore functionality to Azure Blob Storage
- Support for 4 authentication methods:
  * Connection String (for development)
  * Account Name + Key (for simple production)
  * SAS Token (recommended for production)
  * Azure Identity (Managed Identity, Service Principal, Azure CLI)
- Compatible with local testing using Azurite emulator
- Comprehensive documentation and tests
- Incremental backup support with versioning
- Data integrity verification (checksum validation)
- Tested with collections up to 1GB+ with 100K+ documents

## Implementation Details

- 8 implementation files (1,606 lines of code)
- 8 test files (2,180 lines of code)
- 76/76 passing unit tests
- All authentication methods verified
- Integration tested with real Azure Blob Storage

## Dependencies

All dependencies use Apache-compatible licenses:
- Azure SDK for Java (Storage Blobs) 12.25.0 - Apache 2.0 license
- Azure SDK for Java (Identity) 1.11.0 - Apache 2.0 license

## Testing

### Local Testing with Azurite:
```bash
# Install Azurite
npm install -g azurite

# Start Azurite
azurite --silent --location /tmp/azurite

# Run tests
./gradlew :solr:modules:blob-repository:test
```

### Integration Testing:
- 76/76 unit tests passing
- Tested with real Azure Blob Storage
- Large collection testing (1GB, 100K documents)
- All 4 authentication methods verified
- Data integrity verified



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to