[ 
https://issues.apache.org/jira/browse/SOLR-17949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prateek Singhal updated SOLR-17949:
-----------------------------------
    Description: 
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

  was:
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


> 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
>            Priority: Major
>              Labels: azure, azureblob, backup, restore
>
> 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