Ich habe gerade meine Datenbank zur Unterstützung der Replikation mit einer 2-Knoten-Cluster-Datenbank von MySQL zu Mariadb migriert. Die Datenbank wird über eine andere Domäne gehostet und über einen ELB aufgerufen. Wenn ich meine Anwendung auf einen der Knoten lege, funktioniert die Anwendung gut, aber wenn ich die ELB-URL zur Verbindung mit der Datenbank verwende, schwankt sie zufällig und zeigt häufig den folgenden Fehler anMysql Verbindung Timeout in Grails-Anwendung, mit Mariadb Galera-Cluster über ELB
Communication Link Failure
could not execute query; nested exception is org.hibernate.exception.JDBCConnectionException: could not execute query
Hier ist meine Datenquelle-Konfiguration: -
dataSource {
shard = false
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
//dialect = "com.deerwalk.everest.MySQLUTF8InnoDBDialect"
dbCreate = "update" // one of 'create', 'create-drop','update'
properties {
initialSize=5
maxActive=50
minIdle=5
maxIdle=25
maxWait = 10000
maxAge = 10 * 60000
timeBetweenEvictionRunsMillis=5000
minEvictableIdleTimeMillis=60000
validationQuery="SELECT 1"
validationInterval=15000
testWhileIdle=true
testOnBorrow=true
testOnReturn=false
jdbcInterceptors = "ConnectionState"
defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
}
Kann jemand bitte identifizieren, was ist falsch und eine mögliche Lösung bietet dafür
können Sie bitte versuchen, mit maxWait und maxAge in der DataSourceConfig.groovy zu erhöhen, wie es möglich ist, es dauert manchmal mehr als die übliche Zeit. –
haben bereits alle möglichen Kombinationen ausprobiert – thickGlass
wie über das Hinzufügen einer AutoReconnect-Eigenschaft zu Ihren DataSourceConfig-Einstellungen. Der Standardwert dafür ist falsch. Vielleicht möchten Sie es auf true setzen und sehen, ob das Ihr Problem löst. –