Search in sources :

Example 1 with PacketReceivedTimeHolder

use of com.mysql.cj.protocol.PacketReceivedTimeHolder in project JavaSegundasQuintas by ecteruel.

the class ConnectionRegressionTest method testBug45419.

/**
 * Tests fix for BUG#45419, ensure that time is not converted to seconds before being reported as milliseconds.
 *
 * @throws Exception
 */
@Test
public void testBug45419() throws Exception {
    Exception e = null;
    String msg = ExceptionFactory.createLinkFailureMessageBasedOnHeuristics(((MysqlConnection) this.conn).getPropertySet(), ((MysqlConnection) this.conn).getSession().getServerSession(), new PacketSentTimeHolder() {

        @Override
        public long getPreviousPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }

        @Override
        public long getLastPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }
    }, new PacketReceivedTimeHolder() {

        @Override
        public long getLastPacketReceivedTime() {
            return System.currentTimeMillis() - 2000;
        }
    }, e);
    Matcher m = Pattern.compile("\\d.?\\d{3}", Pattern.MULTILINE).matcher(msg);
    assertTrue(m.find());
    assertTrue(Long.parseLong(m.group().replaceAll("[^\\d]", "")) >= 2000);
    assertTrue(m.find());
    assertTrue(Long.parseLong(m.group().replaceAll("[^\\d]", "")) >= 1000);
}
Also used : Matcher(java.util.regex.Matcher) PacketSentTimeHolder(com.mysql.cj.protocol.PacketSentTimeHolder) MysqlConnection(com.mysql.cj.MysqlConnection) PacketReceivedTimeHolder(com.mysql.cj.protocol.PacketReceivedTimeHolder) SQLFeatureNotSupportedException(java.sql.SQLFeatureNotSupportedException) SQLTransientException(java.sql.SQLTransientException) InvocationTargetException(java.lang.reflect.InvocationTargetException) XAException(javax.transaction.xa.XAException) SocketException(java.net.SocketException) SQLClientInfoException(java.sql.SQLClientInfoException) SQLException(java.sql.SQLException) SocketTimeoutException(java.net.SocketTimeoutException) IOException(java.io.IOException) PasswordExpiredException(com.mysql.cj.exceptions.PasswordExpiredException) ExecutionException(java.util.concurrent.ExecutionException) TimeoutException(java.util.concurrent.TimeoutException) SQLNonTransientConnectionException(java.sql.SQLNonTransientConnectionException) CommunicationsException(com.mysql.cj.jdbc.exceptions.CommunicationsException) CertificateException(java.security.cert.CertificateException) ClosedOnExpiredPasswordException(com.mysql.cj.exceptions.ClosedOnExpiredPasswordException) PropertyNotModifiableException(com.mysql.cj.exceptions.PropertyNotModifiableException) Test(org.junit.jupiter.api.Test)

Example 2 with PacketReceivedTimeHolder

use of com.mysql.cj.protocol.PacketReceivedTimeHolder in project JavaSegundasQuintas by ecteruel.

the class ConnectionRegressionTest method testBug44587.

/**
 * Tests fix for BUG#44587, provide last packet sent/received timing in all connection failure errors.
 *
 * @throws Exception
 */
@Test
public void testBug44587() throws Exception {
    Exception e = null;
    String msg = ExceptionFactory.createLinkFailureMessageBasedOnHeuristics(((MysqlConnection) this.conn).getPropertySet(), ((MysqlConnection) this.conn).getSession().getServerSession(), new PacketSentTimeHolder() {

        @Override
        public long getPreviousPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }

        @Override
        public long getLastPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }
    }, new PacketReceivedTimeHolder() {

        @Override
        public long getLastPacketReceivedTime() {
            return System.currentTimeMillis() - 2000;
        }
    }, e);
    assertTrue(containsMessage(msg, "CommunicationsException.ServerPacketTimingInfo"));
}
Also used : PacketSentTimeHolder(com.mysql.cj.protocol.PacketSentTimeHolder) MysqlConnection(com.mysql.cj.MysqlConnection) PacketReceivedTimeHolder(com.mysql.cj.protocol.PacketReceivedTimeHolder) SQLFeatureNotSupportedException(java.sql.SQLFeatureNotSupportedException) SQLTransientException(java.sql.SQLTransientException) InvocationTargetException(java.lang.reflect.InvocationTargetException) XAException(javax.transaction.xa.XAException) SocketException(java.net.SocketException) SQLClientInfoException(java.sql.SQLClientInfoException) SQLException(java.sql.SQLException) SocketTimeoutException(java.net.SocketTimeoutException) IOException(java.io.IOException) PasswordExpiredException(com.mysql.cj.exceptions.PasswordExpiredException) ExecutionException(java.util.concurrent.ExecutionException) TimeoutException(java.util.concurrent.TimeoutException) SQLNonTransientConnectionException(java.sql.SQLNonTransientConnectionException) CommunicationsException(com.mysql.cj.jdbc.exceptions.CommunicationsException) CertificateException(java.security.cert.CertificateException) ClosedOnExpiredPasswordException(com.mysql.cj.exceptions.ClosedOnExpiredPasswordException) PropertyNotModifiableException(com.mysql.cj.exceptions.PropertyNotModifiableException) Test(org.junit.jupiter.api.Test)

Example 3 with PacketReceivedTimeHolder

use of com.mysql.cj.protocol.PacketReceivedTimeHolder in project ABC by RuiPinto96274.

the class ConnectionRegressionTest method testBug44587.

/**
 * Tests fix for BUG#44587, provide last packet sent/received timing in all connection failure errors.
 *
 * @throws Exception
 */
@Test
public void testBug44587() throws Exception {
    Exception e = null;
    String msg = ExceptionFactory.createLinkFailureMessageBasedOnHeuristics(((MysqlConnection) this.conn).getPropertySet(), ((MysqlConnection) this.conn).getSession().getServerSession(), new PacketSentTimeHolder() {

        @Override
        public long getPreviousPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }

        @Override
        public long getLastPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }
    }, new PacketReceivedTimeHolder() {

        @Override
        public long getLastPacketReceivedTime() {
            return System.currentTimeMillis() - 2000;
        }
    }, e);
    assertTrue(containsMessage(msg, "CommunicationsException.ServerPacketTimingInfo"));
}
Also used : PacketSentTimeHolder(com.mysql.cj.protocol.PacketSentTimeHolder) MysqlConnection(com.mysql.cj.MysqlConnection) PacketReceivedTimeHolder(com.mysql.cj.protocol.PacketReceivedTimeHolder) SQLFeatureNotSupportedException(java.sql.SQLFeatureNotSupportedException) SQLTransientException(java.sql.SQLTransientException) InvocationTargetException(java.lang.reflect.InvocationTargetException) XAException(javax.transaction.xa.XAException) SocketException(java.net.SocketException) SQLClientInfoException(java.sql.SQLClientInfoException) SQLException(java.sql.SQLException) SocketTimeoutException(java.net.SocketTimeoutException) IOException(java.io.IOException) PasswordExpiredException(com.mysql.cj.exceptions.PasswordExpiredException) ExecutionException(java.util.concurrent.ExecutionException) TimeoutException(java.util.concurrent.TimeoutException) SQLNonTransientConnectionException(java.sql.SQLNonTransientConnectionException) CommunicationsException(com.mysql.cj.jdbc.exceptions.CommunicationsException) CertificateException(java.security.cert.CertificateException) ClosedOnExpiredPasswordException(com.mysql.cj.exceptions.ClosedOnExpiredPasswordException) PropertyNotModifiableException(com.mysql.cj.exceptions.PropertyNotModifiableException) Test(org.junit.jupiter.api.Test)

Example 4 with PacketReceivedTimeHolder

use of com.mysql.cj.protocol.PacketReceivedTimeHolder in project aws-mysql-jdbc by awslabs.

the class ConnectionRegressionTest method testBug44587.

/**
 * Tests fix for BUG#44587, provide last packet sent/received timing in all connection failure errors.
 *
 * @throws Exception
 */
@Test
public void testBug44587() throws Exception {
    Exception e = null;
    String msg = ExceptionFactory.createLinkFailureMessageBasedOnHeuristics(((MysqlConnection) this.conn).getPropertySet(), ((MysqlConnection) this.conn).getSession().getServerSession(), new PacketSentTimeHolder() {

        @Override
        public long getPreviousPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }

        @Override
        public long getLastPacketSentTime() {
            return System.currentTimeMillis() - 1000;
        }
    }, new PacketReceivedTimeHolder() {

        @Override
        public long getLastPacketReceivedTime() {
            return System.currentTimeMillis() - 2000;
        }
    }, e);
    assertTrue(containsMessage(msg, "CommunicationsException.ServerPacketTimingInfo"));
}
Also used : PacketSentTimeHolder(com.mysql.cj.protocol.PacketSentTimeHolder) MysqlConnection(com.mysql.cj.MysqlConnection) PacketReceivedTimeHolder(com.mysql.cj.protocol.PacketReceivedTimeHolder) SQLFeatureNotSupportedException(java.sql.SQLFeatureNotSupportedException) SQLTransientException(java.sql.SQLTransientException) InvocationTargetException(java.lang.reflect.InvocationTargetException) XAException(javax.transaction.xa.XAException) SocketException(java.net.SocketException) SQLClientInfoException(java.sql.SQLClientInfoException) SQLException(java.sql.SQLException) SocketTimeoutException(java.net.SocketTimeoutException) IOException(java.io.IOException) PasswordExpiredException(com.mysql.cj.exceptions.PasswordExpiredException) ExecutionException(java.util.concurrent.ExecutionException) TimeoutException(java.util.concurrent.TimeoutException) SQLNonTransientConnectionException(java.sql.SQLNonTransientConnectionException) CommunicationsException(com.mysql.cj.jdbc.exceptions.CommunicationsException) CertificateException(java.security.cert.CertificateException) ClosedOnExpiredPasswordException(com.mysql.cj.exceptions.ClosedOnExpiredPasswordException) PropertyNotModifiableException(com.mysql.cj.exceptions.PropertyNotModifiableException) Test(org.junit.jupiter.api.Test)

Example 5 with PacketReceivedTimeHolder

use of com.mysql.cj.protocol.PacketReceivedTimeHolder in project aws-mysql-jdbc by awslabs.

the class ExceptionsTest method testConstructors.

@Test
public void testConstructors() {
    new CommunicationsException(TEST_MESSAGE, new Throwable());
    new CommunicationsException((JdbcConnection) this.conn, new PacketSentTimeHolder() {
    }, new PacketReceivedTimeHolder() {
    }, new Exception());
    new ConnectionFeatureNotAvailableException(TEST_MESSAGE, new Throwable());
    new ConnectionFeatureNotAvailableException((JdbcConnection) this.conn, new PacketSentTimeHolder() {
    }, new Exception());
    new MysqlDataTruncation(TEST_MESSAGE, 0, false, false, 0, 0, 0);
    new MySQLQueryInterruptedException();
    new MySQLQueryInterruptedException(TEST_MESSAGE);
    new MySQLQueryInterruptedException(TEST_MESSAGE, TEST_SQL_STATE);
    new MySQLQueryInterruptedException(TEST_MESSAGE, TEST_SQL_STATE, 0);
    new MySQLStatementCancelledException();
    new MySQLStatementCancelledException(TEST_MESSAGE);
    new MySQLStatementCancelledException(TEST_MESSAGE, TEST_SQL_STATE);
    new MySQLStatementCancelledException(TEST_MESSAGE, TEST_SQL_STATE, 0);
    new MySQLTimeoutException();
    new MySQLTimeoutException(TEST_MESSAGE);
    new MySQLTimeoutException(TEST_MESSAGE, TEST_SQL_STATE);
    new MySQLTimeoutException(TEST_MESSAGE, TEST_SQL_STATE, 0);
    new MySQLTransactionRollbackException();
    new MySQLTransactionRollbackException(TEST_MESSAGE);
    new MySQLTransactionRollbackException(TEST_MESSAGE, TEST_SQL_STATE);
    new MySQLTransactionRollbackException(TEST_MESSAGE, TEST_SQL_STATE, 0);
    new NotUpdatable(TEST_MESSAGE);
    new OperationNotSupportedException();
    new OperationNotSupportedException(TEST_MESSAGE);
    new PacketTooBigException(TEST_MESSAGE);
    new PacketTooBigException(0, 100);
    new SQLError();
}
Also used : OperationNotSupportedException(com.mysql.cj.jdbc.exceptions.OperationNotSupportedException) PacketTooBigException(com.mysql.cj.jdbc.exceptions.PacketTooBigException) ConnectionFeatureNotAvailableException(com.mysql.cj.jdbc.exceptions.ConnectionFeatureNotAvailableException) MysqlDataTruncation(com.mysql.cj.jdbc.exceptions.MysqlDataTruncation) MySQLTransactionRollbackException(com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException) PacketReceivedTimeHolder(com.mysql.cj.protocol.PacketReceivedTimeHolder) MySQLStatementCancelledException(com.mysql.cj.jdbc.exceptions.MySQLStatementCancelledException) MySQLQueryInterruptedException(com.mysql.cj.jdbc.exceptions.MySQLQueryInterruptedException) OperationNotSupportedException(com.mysql.cj.jdbc.exceptions.OperationNotSupportedException) ConnectionFeatureNotAvailableException(com.mysql.cj.jdbc.exceptions.ConnectionFeatureNotAvailableException) MySQLTransactionRollbackException(com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException) SQLException(java.sql.SQLException) PacketTooBigException(com.mysql.cj.jdbc.exceptions.PacketTooBigException) MySQLTimeoutException(com.mysql.cj.jdbc.exceptions.MySQLTimeoutException) CommunicationsException(com.mysql.cj.jdbc.exceptions.CommunicationsException) NotUpdatable(com.mysql.cj.jdbc.exceptions.NotUpdatable) MySQLTimeoutException(com.mysql.cj.jdbc.exceptions.MySQLTimeoutException) SQLError(com.mysql.cj.jdbc.exceptions.SQLError) PacketSentTimeHolder(com.mysql.cj.protocol.PacketSentTimeHolder) MySQLStatementCancelledException(com.mysql.cj.jdbc.exceptions.MySQLStatementCancelledException) CommunicationsException(com.mysql.cj.jdbc.exceptions.CommunicationsException) MySQLQueryInterruptedException(com.mysql.cj.jdbc.exceptions.MySQLQueryInterruptedException) Test(org.junit.jupiter.api.Test)

Aggregations

CommunicationsException (com.mysql.cj.jdbc.exceptions.CommunicationsException)9 PacketReceivedTimeHolder (com.mysql.cj.protocol.PacketReceivedTimeHolder)9 PacketSentTimeHolder (com.mysql.cj.protocol.PacketSentTimeHolder)9 SQLException (java.sql.SQLException)9 Test (org.junit.jupiter.api.Test)9 MysqlConnection (com.mysql.cj.MysqlConnection)6 ClosedOnExpiredPasswordException (com.mysql.cj.exceptions.ClosedOnExpiredPasswordException)6 PasswordExpiredException (com.mysql.cj.exceptions.PasswordExpiredException)6 PropertyNotModifiableException (com.mysql.cj.exceptions.PropertyNotModifiableException)6 IOException (java.io.IOException)6 InvocationTargetException (java.lang.reflect.InvocationTargetException)6 SocketException (java.net.SocketException)6 SocketTimeoutException (java.net.SocketTimeoutException)6 CertificateException (java.security.cert.CertificateException)6 SQLClientInfoException (java.sql.SQLClientInfoException)6 SQLFeatureNotSupportedException (java.sql.SQLFeatureNotSupportedException)6 SQLNonTransientConnectionException (java.sql.SQLNonTransientConnectionException)6 SQLTransientException (java.sql.SQLTransientException)6 ExecutionException (java.util.concurrent.ExecutionException)6 TimeoutException (java.util.concurrent.TimeoutException)6