|
2 | 2 |
|
3 | 3 | All notable changes to ArchiPy are documented in this changelog, organized by version. |
4 | 4 |
|
| 5 | +## [v3.15.1] - 2025-11-30 |
| 6 | + |
| 7 | +### Added |
| 8 | + |
| 9 | +#### Database Adapters - ScyllaDB Enhancements |
| 10 | + |
| 11 | +- **Retry Policies** - Added configurable retry policies for handling transient failures in ScyllaDB adapter |
| 12 | + - Exponential backoff retry policy with configurable min/max intervals and max retries |
| 13 | + - Fallthrough retry policy for no-retry scenarios |
| 14 | + - Downgrading consistency retry policy for automatic consistency level adjustment |
| 15 | + - Configuration options: `RETRY_POLICY`, `RETRY_MAX_NUM_RETRIES`, `RETRY_MIN_INTERVAL`, `RETRY_MAX_INTERVAL` |
| 16 | + |
| 17 | +- **Health Checks** - Added comprehensive health check functionality |
| 18 | + - Connection status verification with `is_connected()` method for both sync and async adapters |
| 19 | + - Detailed health metrics including cluster state, host availability, and latency |
| 20 | + - `health_check()` method returning comprehensive cluster health information |
| 21 | + - Configurable health check timeout via `HEALTH_CHECK_TIMEOUT` configuration |
| 22 | + |
| 23 | +- **Exception Handling** - Improved error handling with centralized exception management |
| 24 | + - Centralized `_handle_scylladb_exception()` method for consistent error handling |
| 25 | + - Specific error messages for connection, query execution, and configuration issues |
| 26 | + - Proper exception chaining for better debugging and error tracing |
| 27 | + |
| 28 | +- **Helper Methods** - Added convenience methods for common database operations |
| 29 | + - `insert()` method with TTL support for time-based data expiration |
| 30 | + - `update()` method with conditional updates and TTL support |
| 31 | + - `count()` method for counting rows with optional WHERE clause filtering |
| 32 | + - `exists()` method for checking record existence based on conditions |
| 33 | + - `close()` method for explicit connection cleanup and resource management |
| 34 | + |
| 35 | +- **Connection Pool Monitoring** - Added connection pool statistics and monitoring capabilities |
| 36 | + - `get_pool_stats()` method providing detailed metrics on pool utilization |
| 37 | + - Metrics include connections per host, in-flight requests, and pool health |
| 38 | + - Configurable pool parameters: `MAX_CONNECTIONS_PER_HOST`, `MIN_CONNECTIONS_PER_HOST`, `CORE_CONNECTIONS_PER_HOST` |
| 39 | + - `MAX_REQUESTS_PER_CONNECTION` configuration for request throttling |
| 40 | + - Optional pool monitoring via `ENABLE_CONNECTION_POOL_MONITORING` flag |
| 41 | + |
| 42 | +- **Prepared Statement Caching** - Implemented caching mechanism for prepared statements |
| 43 | + - LRU cache with configurable size via `PREPARED_STATEMENT_CACHE_SIZE` |
| 44 | + - Configurable TTL via `PREPARED_STATEMENT_CACHE_TTL_SECONDS` |
| 45 | + - Automatic cache invalidation after TTL expiration |
| 46 | + - Enable/disable via `ENABLE_PREPARED_STATEMENT_CACHE` configuration |
| 47 | + - Improved performance for frequently executed queries |
| 48 | + |
| 49 | +- **Data Center Awareness** - Added support for multi-datacenter deployments |
| 50 | + - Local datacenter configuration via `LOCAL_DC` for optimized query routing |
| 51 | + - Replication strategy configuration: `REPLICATION_STRATEGY` (SimpleStrategy, NetworkTopologyStrategy) |
| 52 | + - Per-datacenter replication factor configuration via `REPLICATION_CONFIG` |
| 53 | + - Improved latency for geographically distributed deployments |
| 54 | + |
| 55 | +#### Documentation |
| 56 | + |
| 57 | +- **ScyllaDB Adapter Documentation** - Added comprehensive documentation for ScyllaDB adapter |
| 58 | + - Complete usage examples for all adapter methods |
| 59 | + - Configuration guide with all available options |
| 60 | + - Best practices for connection pooling and performance tuning |
| 61 | + - Examples for retry policies, health checks, and TTL usage |
| 62 | + - Multi-datacenter deployment configuration examples |
| 63 | + |
| 64 | +#### Testing |
| 65 | + |
| 66 | +- **Enhanced BDD Test Suite** - Expanded Behave test scenarios for ScyllaDB adapter |
| 67 | + - Added test scenarios for TTL functionality |
| 68 | + - Added test scenarios for helper methods (count, exists, insert, update) |
| 69 | + - Added test scenarios for health checks and connection status |
| 70 | + - Added test scenarios for connection pool monitoring |
| 71 | + - Improved test coverage for error handling and edge cases |
| 72 | + |
5 | 73 | ## [v3.15.0] - 2025-11-29 |
6 | 74 |
|
7 | 75 | ### Added |
|
0 commit comments