Skip to content

Troubleshooting Guide

This guide helps you diagnose and solve common issues you might encounter while using ESIHub Client.

Common Issues

1. Authentication Errors

Symptom: You receive an AuthenticationError when making requests.

Possible Causes and Solutions: - Expired access token: Refresh your token using the refresh_token method. - Invalid client credentials: Double-check your client ID and secret. - Incorrect scopes: Ensure you've requested the necessary scopes for your operations.

2. Rate Limiting Errors

Symptom: You receive a RateLimitExceeded error.

Solution: - The client should handle this automatically. If you're still seeing this error, try reducing your request frequency or increasing the rate limit in your ESIHubClient configuration.

3. Caching Issues

Symptom: Data seems outdated or caching doesn't appear to be working.

Solutions: - Verify your Redis server is running and accessible. - Check the cache expiration settings in your configuration. - Ensure you're not bypassing the cache unintentionally.

4. Connection Pool Exhaustion

Symptom: You receive a ConnectionPoolExhausted error.

Solution: - Increase the size of your connection pool. - Ensure you're properly closing your connections after use.

Debugging Tips

  1. Enable debug logging:

    import logging
    logging.basicConfig(level=logging.DEBUG)
    

  2. Use OpenTelemetry tracing to get detailed insights into request flow.

  3. Monitor Prometheus metrics to identify performance bottlenecks.

If you're still experiencing issues after trying these solutions, please file an issue on our GitHub repository with a detailed description of the problem and steps to reproduce it.