Skip to content

Commit 8d5ee6b

Browse files
docs: update changelog for v3.15.1 ScyllaDB enhancements
1 parent 81b313c commit 8d5ee6b

1 file changed

Lines changed: 68 additions & 0 deletions

File tree

docs/changelog.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,74 @@
22

33
All notable changes to ArchiPy are documented in this changelog, organized by version.
44

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+
573
## [v3.15.0] - 2025-11-29
674

775
### Added

0 commit comments

Comments
 (0)