aloeee - 2017-08-31

Hi!

I migrated my EJBCA solution from the Oracle DB to the MariaDB. EJBCA service started without problems, but after some time "Connection reset" warning lines appears in the wildfly logs.

2017-08-31 00:07:12,947 WARN  [org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory] (EJB default - 9) IJ030027: Destroying connection that is not valid, due to the following exception: org.mariadb.jdbc.MariaDbConnection@76f448: java.sql.SQLNonTransientConnectionException: (conn:8204) Could not send query: Connection reset
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:156)
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:118)
        at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:250)
        at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:347)
        at org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:398)
        at org.jboss.jca.adapters.jdbc.CheckValidConnectionSQL.isValidConnection(CheckValidConnectionSQL.java:74)

In my standalone.xml I have the following lines for the datasource

        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
            <datasources>
                <datasource jndi-name="java:/EjbcaDS" pool-name="ejbcads" enabled="true" use-ccm="true">
                    <connection-url>jdbc:mysql://mariadb:3306/ejbca?characterEncoding=UTF-8&amp;useSSL=true&amp;requireSSL=true&amp;verifyServerCertificate=true</connection-url>
                    <driver>mariadb-java-client.jar</driver>
                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                    <pool>
                        <min-pool-size>5</min-pool-size>
                        <max-pool-size>150</max-pool-size>
                        <prefill>true</prefill>
                    </pool>
                    <security>
                        <user-name>xxxxxx</user-name>
                        <password>xxxxxx</password>
                    </security>
                    <validation>
                        <check-valid-connection-sql>select 1</check-valid-connection-sql>
                        <validate-on-match>true</validate-on-match>
                        <background-validation>false</background-validation>
                    </validation>
                    <statement>
                        <prepared-statement-cache-size>50</prepared-statement-cache-size>
                        <share-prepared-statements>true</share-prepared-statements>
                    </statement>
                </datasource>
            </datasources>
        </subsystem>

P.S. This error occurs with and without the TLS between my widlfly instance and mariadb.

The new solution are using the following components:

  1. Wildfly 10.1.0-Final
  2. MariaDB JDBC Client 2.1.0
  3. EJBCA 6.5.0.5 Community (r25663)
  4. JAVA 8 (Java(TM) SE Runtime Environment (build 1.8.0_131-b11))

Any suggestions are welcome how to fix this "issue".

Thanks
Alo

 

Last edit: aloeee 2017-08-31