Guides
Redis Troubleshooting Guide
This guide helps troubleshoot common Redis connectivity issues with Outpost, particularly when using clustered Redis configurations.
Common Redis Issues
EXECABORT Transaction discarded because of previous errors
Symptoms:
- Outpost fails to start with
EXECABORT Transaction discarded because of previous errors
- Error occurs during scheduler initialization
- Services crash after successful Redis client creation
Cause: This error typically occurs when:
- Using clustered Redis without enabling cluster mode in Outpost
- Redis clustering constraints are violated in Lua scripts
- Keys in Redis transactions don't hash to the same slot
Solutions:
For clustered Redis (Azure Managed Redis, Redis Enterprise, etc.):
bash
For single-node Redis (local development, Azure Cache for Redis, etc.):
bash
Connection Reset by Peer
Symptoms:
read: connection reset by peer
errors- Connection failures during TLS handshake
- Intermittent Redis connectivity issues
Cause: Usually related to TLS configuration or network connectivity.
Solutions:
Check TLS Configuration:
bash
Verify Network Connectivity:
bash
Mismatched Message Response Type
Symptoms:
- Error:
mismatched message response type
- RSMQ operations failing
- Scheduler monitor errors
Cause: Type assertion issues between different Redis client types or versions.
Solution: This issue has been resolved in recent versions. Ensure you're using the latest Outpost version.
Redis Diagnostic Tool
Outpost includes a redis-debug tool for testing Redis connectivity:
bash
Example Output:
Configuration Examples
Azure Managed Redis (Clustered)
bash
Azure Cache for Redis (Single-node)
bash
Local Development
bash
Self-Hosted Redis Cluster
bash
Performance Considerations
Azure Managed Redis vs Azure Cache for Redis
Feature | Azure Cache for Redis | Azure Managed Redis |
---|---|---|
Performance | Standard | Up to 15x faster |
Redis Version | Older versions | Redis 7.4+ |
Clustering | Limited | Enterprise clustering |
TLS | Optional | Default |
Modern Features | Basic | JSON, vector, time series |
Pricing | Higher | More cost-effective |
Connection Pool Settings
For high-throughput applications, consider tuning Redis connection settings:
bash
Getting Help
If you continue to experience Redis connectivity issues:
- Check the diagnostic tool output for specific error details
- Verify network connectivity to your Redis instance
- Confirm TLS and cluster settings match your Redis service
- Review Redis service logs in your cloud provider console
- Test with redis-cli to isolate Outpost-specific issues
For additional support, please open an issue with:
- Your Redis configuration (without passwords)
- Error messages and logs
- Output from the redis-debug diagnostic tool