ENV:
Linux: Red Hat 7.5 (Maipo)
MariaDB: 10.2.13-MariaDB
Keycloak: 3.4.3.Fina
Драйвер JDBC: mariadb-java-client-2.2.5.jar
Decription:
Я запускаю экземпляр keycloak, заставляю его подключаться к galera-кластеру.
время:
Если я использую «kill -9 mariaDB process» на узле gelera, соединение между keycloak и galera произойдет с ошибкой 500, через несколько секунд 200 OK продолжатся.
Если я использую «kill -15 mariaDB process» на узле gelera, соединение между keycloak и galera будет 200 OK, ошибка не возникнет.
"kill -9" для имитации сценария сбоя для службы mysql.
я надеюсь, что при сбое службы mysql не возникнет никаких ошибок. (например, kill -9), keycloak должен автоматически подключаться к следующему узлу galera при сбое текущего узла, без каких-либо ошибок
Ниже моя конфигурация источника данных в standalone.xml
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mariadb:failover://db1,db2,db3/keycloak?autoReconnect=true&</connection-url>
<driver>mariadb</driver>
<security>
<user-name>kc_dbuser</user-name>
<password>7a092075c015090fe21c83ecd6f6</password>
</security>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<flush-strategy>IdleConnections</flush-strategy>
</pool>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<validate-on-match>true</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>1000</background-validation-millis>
<use-fast-fail>true</use-fast-fail>
</validation>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
это ошибка keycloak или JBOSS или JDBC драйвер или ошибка конфигурации?
Как это решить?