Our Ignition gateway is randomly but infrequently deciding it only wants to use 1 database connection, even when MaxActive is set to 8.
If it was 2 or more we might not notice so much, but the single connection is consumed as soon as a transaction is opened. If the code running the transaction also tries to do something outside the transaction or in a different transaction, it blocks until either a TransactionTimeout or a timeout waiting for the connection pool.
Whilst it is waiting for the timeout, the status for the database connection shows that 1/8 connections are used.
This problem may be fixed by going to the edit screen for that connection and pressing save (no settings need to be changed). It will now use all 8 connections, but there is no way of knowing when it will next decide to misbehave…
Notice that this is connection-specific. We have several database connections defined in Ignition, using different databases on the same MySQL server. We have had the problem on every single one at some point, but they do not affect each other. If one is broken, others may or may not be broken. Fixing one does not fix another.
I originally put this down to some sort of migration issue (we had imported all gateway settings and projects from 7.2 into a fresh 7.5.1 installation), but this has now happened a couple of times since (over a period of about 2 months).
Ignition 7.5.2 gateway running on Ubuntu 12.04, OpenJDK 1.6.0_24.
I’m hoping someone is going to say that this is a known problem that has been fixed in 7.5.3 or 7.5.4.