Skip to content

Conversation

@bsbodden
Copy link
Collaborator

No description provided.

Implements redis+sentinel:// URL scheme for high availability Redis
deployments with automatic failover via Sentinel.

URL format:
redis+sentinel://[username:password@]host1:port1,host2:port2/service_name[/database]

Features:
- URL parsing with SentinelConfig.fromUrl()
- Support for multiple comma-separated Sentinel hosts
- IPv6 address handling in bracket notation
- Authentication (username/password)
- Database selection
- Default values (port 26379, service "mymaster")
- Integration with RedisConnectionManager via JedisSentinelPool

Implementation details:
- SentinelConfig: Parse and store Sentinel connection parameters
- RedisConnectionManager: Detect redis+sentinel:// URLs and create
  JedisSentinelPool instead of standard JedisPool
- Pool<Jedis> interface allows transparent handling of both pool types

- Tests match Python implementation from PR #385

Python reference: redisvl/redis/connection.py - _parse_sentinel_url()
Java files:
- core/src/main/java/com/redis/vl/redis/SentinelConfig.java
- core/src/main/java/com/redis/vl/redis/RedisConnectionManager.java:55-58
- core/src/test/java/com/redis/vl/redis/SentinelUrlParsingTest.java
@bsbodden bsbodden force-pushed the bsb/sentinel_url_support branch from 9169c08 to 474feba Compare October 23, 2025 20:12
@bsbodden bsbodden self-assigned this Oct 23, 2025
@bsbodden bsbodden merged commit b2ce705 into main Oct 23, 2025
4 checks passed
@bsbodden bsbodden deleted the bsb/sentinel_url_support branch October 23, 2025 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants