Search code examples
amazon-web-servicesmysqlirds

How to reconnect if AWS RDS recovery happens


How have I written the code

createPool is used at the start of the app then for every request I am using getConnection I am using AWS RDS & it went into sudden recovery mode, due to which my db url was unchanged but instance IP must have changed as it was created in another AZ

So for such a scenario I am supposed to reinitialize my db connection so that new instance DNS is updated.

The issue is in such a scenario I did not received any timeout error or connection error. So how do I capture this type of error?

Kindly guide if possible.

Thanks


Solution

  • It is unclear from your description what exactly you have built, but it sounds like you've created a connection pool.

    If you open a connection to the db, the first time you call getConnection you should validate that the connection is still active - obviously if the db fails over, the existing connection will get closed, and you will either need to create a new connection or re-open the existing one.