The situation looks peculiar, as the database and the software worked for the last 20 years without significant problems. The size of the database file is around 350GB. There are over 350 active connections at peak times during the workday. FB3 CS is used.
The problem started nearly a month ago, and we link it to the server upgrade to the latest nightly build 3.0.11.
At some point, the server just stops accepting new connections while older connections (processes) continue to work well. New connections just freeze.
If you examine the list of processes and begin to terminate them one by one, the server becomes responsive again after a certain process is terminated.
The application in question wasn't updated for the last ten years and worked perfectly until now.
The further investigation suggested that there is a correlation between the server becoming unresponsive and one particular window being opened in the application. This window does two things at its creation:
- executes
SELECT MON$DATABASE_NAME FROM MON$DATABASE statement.
- calls
isc_service_attach function.
Not every instance of opening the window causes a connection to become unresponsive, but the more active connections there are on the server, the higher the likelihood that the server will become unresponsive.
The situation looks peculiar, as the database and the software worked for the last 20 years without significant problems. The size of the database file is around 350GB. There are over 350 active connections at peak times during the workday. FB3 CS is used.
The problem started nearly a month ago, and we link it to the server upgrade to the latest nightly build 3.0.11.
At some point, the server just stops accepting new connections while older connections (processes) continue to work well. New connections just freeze.
If you examine the list of processes and begin to terminate them one by one, the server becomes responsive again after a certain process is terminated.
The application in question wasn't updated for the last ten years and worked perfectly until now.
The further investigation suggested that there is a correlation between the server becoming unresponsive and one particular window being opened in the application. This window does two things at its creation:
SELECT MON$DATABASE_NAME FROM MON$DATABASEstatement.isc_service_attachfunction.Not every instance of opening the window causes a connection to become unresponsive, but the more active connections there are on the server, the higher the likelihood that the server will become unresponsive.