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]