-
Notifications
You must be signed in to change notification settings - Fork 1
Example lora sync
Build:
cmake --preset linux-ninja-release && cmake --build --preset linux-ninja-release
This example demonstrates how to use ThemisDB's automatic cross-shard LoRA/adapter synchronization feature.
The example shows:
- Setting up the sync infrastructure (storage, topology, consistency checker)
- Configuring automatic synchronization with replication
- Creating and syncing LoRA adapters
- Monitoring sync status and metrics
- Handling sync callbacks
cd /home/runner/work/ThemisDB/ThemisDB
mkdir -p build && cd build
cmake .. -DTHEMIS_BUILD_TESTS=ON -DTHEMIS_ENABLE_LORA_TESTS=ON
cmake --build . --target example_lora_sync./example_lora_sync=== ThemisDB LoRA Cross-Shard Synchronization Example ===
1. Creating LoRA Storage Service...
β Storage service created
2. Setting up Shard Topology...
Added shard_1 (dc1)
Added shard_2 (dc1)
Added shard_3 (dc1)
Added shard_4 (dc2)
Added shard_5 (dc2)
β Topology configured with 5 shards
3. Creating Consistency Checker...
β Consistency checker created
4. Creating Sync Manager...
β Sync manager created
Sync interval: 60s
Replication factor: 3
5. Registering sync callback...
β Callback registered
6. Creating example adapters...
β Created adapter_1
β Created adapter_2
β Created adapter_3
7. Performing manual sync...
β Manual sync completed
Checked: 3
Synced: 3
Failed: 0
8. Checking sync status...
adapter_1:
Synced: yes
Version: 1
Failures: 0
adapter_2:
Synced: yes
Version: 1
Failures: 0
adapter_3:
Synced: yes
Version: 1
Failures: 0
9. Viewing statistics...
Total syncs: 1
Successful: 3
Failures: 0
Bytes transferred: 3072
Adapters tracked: 3
10. Starting automatic sync...
β Auto-sync is running
Will sync every 60 seconds
Waiting 5 seconds...
11. Cleaning up...
β Sync manager stopped
=== Example completed successfully ===
Manages persistent storage of LoRA adapters with versioning and encryption support.
Maintains cluster topology information including shard locations, health status, and datacenter awareness.
Validates adapter integrity using checksums and digital signatures, and resolves version conflicts.
Orchestrates automatic synchronization across shards with configurable replication factor and retry logic.
Controls how many replica shards each adapter is synced to:
sync_config.replication_factor = 3; // 3-way replicationControls how often auto-sync runs:
sync_config.sync_interval = std::chrono::seconds(300); // 5 minutesChoose how version conflicts are resolved:
sync_config.conflict_resolution = "newest_wins"; // or "manual"Control concurrent operations and rate limiting:
sync_config.max_concurrent_syncs = 4;
sync_config.max_transfer_rate_mbps = 100;The sync manager works seamlessly with ThemisDB's RAID configurations:
- RAID 1 (MIRROR): Full N-way replication for high availability
- RAID 5 (PARITY): Erasure coding for storage efficiency
- RAID 10: Striped mirrors for performance + reliability
Set the replication factor to match your RAID configuration.
Check sync status for individual adapters:
auto status = sync_manager->getSyncStatus("adapter_1");
std::cout << "Synced: " << status.is_synced << std::endl;
std::cout << "Version: " << status.local_version << std::endl;Get aggregate statistics:
auto stats = sync_manager->getStats();
std::cout << "Total syncs: " << stats["total_syncs"] << std::endl;
std::cout << "Failures: " << stats["sync_failures"] << std::endl;If built with Prometheus support, metrics are automatically exported:
-
themis_lora_sync_syncs_total- Total sync operations -
themis_lora_sync_syncs_success_total- Successful syncs -
themis_lora_sync_syncs_failures_total- Failed syncs -
themis_lora_sync_bytes_transferred_total- Bytes transferred -
themis_lora_sync_sync_duration_seconds- Sync duration histogram -
themis_lora_sync_adapters_tracked- Number of adapters tracked -
themis_lora_sync_replication_lag_seconds- Replication lag gauge
ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Deploy Overview
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Query Module Status
- Readme
- Release Promotion Gate Policy
- Release Validation Checklist
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme