Feature/chunked database dumps#76
Open
onyedikachi-david wants to merge 5 commits intoouterbase:mainfrom
Open
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request: Implement Chunked Database Dumps with Enhanced Features
/claim #59
Fixes: #59
Purpose
Implement a robust chunked database dump functionality to handle large databases efficiently while preventing memory issues and database locking. This implementation includes several key features:
1. Chunked Processing
2. Storage Flexibility
3. Progress Tracking & Notifications
Tasks
Verification Steps
curl http://127.0.0.1:8787/export/dump/{dumpId}/status \ -H "Authorization: Bearer ABC123"Before vs After
Test script
Test Results
Database Dump Test Results
Test conducted on: Sat Jan 25 13:10:23 WAT 2025
Test Steps
Step 1: Initiate Dump
Response:
{ "result": { "message": "Database dump started", "dumpId": "fb2e9497-d93a-457d-b96d-8cd1ae2d22fb", "status": "in_progress", "downloadUrl": "http://127.0.0.1:8787/export/dump/fb2e9497-d93a-457d-b96d-8cd1ae2d22fb", "estimatedSize": 3236 } }Step 2: Status Checks
Check 1:
Response:
{ "result": { "status": "in_progress", "progress": { "currentTable": "", "processedTables": 0, "totalTables": 6 } } }Check 3 (Final):
{ "result": { "status": "completed", "progress": { "currentTable": "users", "processedTables": 8, "totalTables": 6 } } }Step 3: Download Dump
Response Excerpt:
HTTP Status: 200
Summary
completedfb2e9497-d93a-457d-b96d-8cd1ae2d22fb