Help Center/ GeminiDB/ GeminiDB Redis API/ FAQs/ Database Connection/ Common Client Errors and Troubleshooting Methods
Updated on 2024-08-06 GMT+08:00

Common Client Errors and Troubleshooting Methods

Symptom 1

  • The client displayed a message indicating that the network timed out for 10 seconds and the connection failed.
    CommonResponseAspect exception!Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s)
  • Client: Lettuce
  • Possible cause: The bandwidth of the client is used up.
  • Solution: Check service resources and solve the resource bottleneck.

Symptom 2

  • The client occasionally displayed a message indicating that the connection was unavailable.
    [redisClient=[addr=XXXX], channel=[id: 0x0a0d20bc, L:0.0.0.0/0.0.0.0:53192]] is not active!
  • Client: Redisson
  • Possible cause: The client reconnection mechanism is incomplete. This issue may occur after an HA switchover is triggered on servers.
  • Solution: Restart the client.

Symptom 3

  • Error "Could not get a resource from the pool" was displayed, and there were a large number of TCP connections in the CLOSE_WAIT state on ECSs running the service program.
  • Clients: Jedis and Lettuce
  • Possible cause: The connection pool size configured for the client program is too small. As a result, connections to the Redis instance are insufficient when concurrent services increase dramatically.
  • Solution: Check service code and configure sufficient size for the connection pool.

Symptom 4

  • The connection pool of the client program timed out. The error information is as follows:
    "redis: connection pool timeout
    You can get that error when there are no free connections in the pool for Options.PoolTimeout duration. If you are using redis.PubSub or redis.Conn, make sure to properly release PuSub/Conn resources by calling Close method when they are not needed any more.
    You can also get that error when Redis processes commands too slowly and all connections in the pool are blocked for more than PoolTimeout duration."
  • Client: Go-redis
  • Possible cause: The connection pool size configured for the client program is too small. As a result, connections to the Redis instance are insufficient when concurrent services increase dramatically.
  • Solution: Check service code and configure sufficient size for the connection pool.