public class ConnectionRegressionTest extends BaseTestCase
BaseTestCase.MockConnectionConfiguration| Modifier and Type | Field and Description |
|---|---|
(package private) java.util.concurrent.Future<?> |
testBug75615Future |
protected int |
testServerPrepStmtDeadlockCounter |
conn, dbClass, dbName, dbUrl, isOpenSSL, mainConnectionUrl, pstmt, rs, serverVersion, stmt, timeZoneFreeDbUrl| Constructor and Description |
|---|
ConnectionRegressionTest() |
| Modifier and Type | Method and Description |
|---|---|
private boolean |
allowsRsa(java.sql.Statement st) |
private void |
assertCurrentUser(java.lang.String url,
java.util.Properties props,
java.lang.String expectedUser,
boolean sslRequired) |
private void |
checkBug32216(java.lang.String host,
java.lang.String port,
java.lang.String dbname) |
private void |
checkPingQuery(java.sql.Connection c) |
static boolean |
containsMessage(java.lang.String msg,
java.lang.String key) |
private int |
countTestConnections(java.util.Set<?> connectionTrackingSet,
java.lang.reflect.Field referentField,
boolean show,
java.lang.String attributValue) |
private int |
findNamedThreadCount(java.lang.ThreadGroup group,
java.lang.String nameStart) |
private ReplicationGroupManagerMBean |
getReplicationMBean() |
private ReplicationConnection |
getTestReplicationConnectionNoReplicas(java.lang.String sourceHost,
java.util.Properties props)
Internal method for tests to get a replication connection with a
single source host to the test URL.
|
private boolean |
isResultSetClosedForTestBug69746(java.sql.ResultSet resultSet) |
private boolean |
isStatementClosedForTestBug69746(java.sql.Statement statement) |
private static void |
killConnection(java.sql.Connection adminConn,
java.lang.String threadId) |
private boolean |
pluginIsActive(java.sql.Statement st,
java.lang.String plugin) |
private void |
subTestBug22848249A() |
private void |
subTestBug22848249B() |
private void |
subTestBug22848249C() |
private void |
subTestBug22848249D() |
void |
testAuthCleartextPlugin() |
void |
testAuthTestPlugin() |
void |
testAutoCommitLB() |
void |
testBug10144()
Tests fix for BUG#10144 - Memory leak in ServerPreparedStatement if serverPrepare() fails.
|
void |
testBug101596()
Tests fix for Bug#101596 (32151143), GET THE 'HOST' PROPERTY ERROR AFTER CALLING TRANSFORMPROPERTIES() METHOD.
|
void |
testBug102188()
Tests fix for Bug#102188 (32526663), AccessControlException with AuthenticationLdapSaslClientPlugin.
|
void |
testBug102404()
Tests fix for Bug#102404 (32435618), CONTRIBUTION: ADD TRACK SESSION STATE CHANGE.
|
void |
testBug104067AndBug106435()
Tests fix for Bug#104067 (33054827), No reset autoCommit after unknown issue occurs.
|
(package private) void |
testBug108643()
Tests fix for bug Bug#108643 (Bug#34652568), Commit statement not effect when two params turns on.
|
(package private) void |
testBug109013()
Tests fix for Bug#109013 (Bug#34772608), useServerPrepStmts and useLocalTransactionState could cause rollback failure.
|
void |
testBug11237()
Tests fix for BUG#11237 useCompression=true and LOAD DATA LOCAL INFILE SQL Command
|
void |
testBug11259()
Tests fix for BUG#11259, autoReconnect ping causes exception on connection startup.
|
void |
testBug11879()
Tests fix for BUG#11879 -- ReplicationConnection won't switch to replica, throws "Catalog can't be null" exception.
|
void |
testBug11976()
Tests fix for BUG#11976 - maxPerformance.properties mis-spells "elideSetAutoCommits".
|
void |
testBug12218()
Tests fix for BUG#12218, properties shared between source and replica with replication connection.
|
void |
testBug12229()
Tests fix for BUG#12229 - explainSlowQueries hangs with server-side prepared statements.
|
void |
testBug12753()
Tests fix for BUG#12753, sessionVariables=....=...., doesn't work as it's tokenized incorrectly.
|
void |
testBug13048()
Tests fix for BUG#13048 - maxQuerySizeToLog is not respected.
|
void |
testBug13453()
Tests fix for BUG#13453 - can't use & or = in URL configuration values (we now allow you to use www-form-encoding).
|
void |
testBug14563127() |
void |
testBug15065()
Tests fix for BUG#15065 - Usage advisor complains about unreferenced columns, even though they've been referenced.
|
void |
testBug15570()
Tests fix for BUG#15570 - ReplicationConnection incorrectly copies state, doesn't transfer connection context correctly when transitioning between the
same read-only states.
|
void |
testBug16224249()
Tests fix for BUG#16224249 - Deadlock on concurrently used LoadBalancedMySQLConnection
|
void |
testBug16634180()
Tests fix for Bug#16634180 - LOCK WAIT TIMEOUT EXCEEDED CAUSES SQLEXCEPTION, SHOULD CAUSE SQLTRANSIENTEXCEPTION
|
void |
testBug17251955()
Tests fix for BUG#17251955, ARRAYINDEXOUTOFBOUNDSEXCEPTION ON LONG MULTI-BYTE DB/USER NAMES
|
void |
testBug18869381()
Test fix for Bug#18869381 - CHANGEUSER() FOR SHA USER RESULTS IN NULLPOINTEREXCEPTION
|
private void |
testBug18869381WithProperties(java.lang.String url,
java.util.Properties props) |
void |
testBug1914() |
void |
testBug19354014()
Tests fix for BUG#19354014 - CHANGEUSER() CALL RESULTS IN "PACKETS OUT OF ORDER" ERROR
|
void |
testBug20685022()
Tests fix for BUG#20685022 - SSL CONNECTION TO MYSQL 5.7.6 COMMUNITY SERVER FAILS
|
void |
testBug20825727()
Tests fix for BUG#20825727 - CONNECT FAILURE WHEN TRY TO CONNECT SHA USER WITH DIFFERENT CHARSET.
|
private void |
testBug20825727ChangePassword(java.lang.String testDbUrl,
java.lang.String user,
java.lang.String password,
java.lang.String pluginName,
int pwdHashingMethod) |
private void |
testBug20825727CreateUser(java.lang.String testDbUrl,
java.lang.String user,
java.lang.String password,
java.lang.String pluginName,
int pwdHashingMethod) |
private void |
testBug20825727TestLogin(java.lang.String testDbUrl,
java.lang.String defaultServerEncoding,
boolean sslEnabled,
boolean rsaEnabled,
java.lang.String user,
java.lang.String password,
java.lang.String encoding,
java.lang.String pluginName) |
void |
testBug21286268()
Tests fix for Bug#21286268 - CONNECTOR/J REPLICATION USE SOURCE IF REPLICA IS UNAVAILABLE.
|
private void |
testBug21286268AssertConnectedToAndReadOnly(java.sql.Connection testConn,
java.lang.String expectedHost,
boolean expectedReadOnly) |
void |
testBug21789378()
Tests fix for Bug#21789378, FORCED TO SET SERVER TIMEZONE IN CONNECT STRING (ALPHA).
|
void |
testBug21934573()
Tests fix for Bug#21934573 - FABRIC CODE INVOLVED IN THREAD DEADLOCK.
|
private void |
testBug21947042_PrintCipher(java.sql.Connection con) |
private void |
testBug21947042_PrintVersion(java.sql.Connection con) |
void |
testBug21947042()
Tests fix for BUG#21947042, PREFER TLS WHERE SUPPORTED BY MYSQL SERVER.
|
void |
testBug22508715()
Tests fix for Bug#22508715, SETSESSIONMAXROWS() CALL ON CLOSED CONNECTION RESULTS IN NPE.
|
void |
testBug22643()
Test of a new feature to fix BUG 22643, specifying a "validation query" in your connection pool that starts with "slash-star ping slash-star" _exactly_
will cause the driver to " + instead send a ping to the server (much lighter weight), and when using a ReplicationConnection or a LoadBalancedConnection,
will send the ping across all active connections.
|
void |
testBug22678872()
Tests fix for Bug#22678872 - NPE DURING UPDATE WITH FABRIC.
|
private void |
testBug22678872CheckConnectionsHistory(java.lang.String... expectedConnectionsHistory) |
void |
testBug22730682()
Tests fix for Bug#22730682 - ARRAYINDEXOUTOFBOUNDSEXCEPTION FROM CONNECTIONGROUPMANAGER.REMOVEHOST().
|
void |
testBug22848249()
Tests fix for Bug#22848249 - LOADBALANCECONNECTIONGROUPMANAGER.REMOVEHOST() NOT WORKING AS EXPECTED.
|
void |
testBug23281()
Tests bug where downed replica caused round robin load balance not to cycle back to first host in the list.
|
void |
testBug23626()
Ensures that we don't miss getters/setters for driver properties defined in PropertyDefinitions so that names given in documentation work with
DataSources which will use JavaBean-style names and reflection to set the values (and often fail silently! when the method isn't available).
|
private void |
testBug23626ForClass(java.lang.Class<?> clazz,
java.util.List<java.lang.String> propertyNames) |
void |
testBug24706()
Tests to insure proper behavior for BUG#24706.
|
void |
testBug25514()
Tests fix for BUG#25514 - Timer instance used for Statement.setQueryTimeout() created per-connection, rather than per-VM, causing memory leak.
|
void |
testBug25545()
Tests fix for BUG#25545 - Client flags not sent correctly during handshake when using SSL.
|
void |
testBug25642021()
Tests fix for BUG#25642021, CHANGEUSER() FAILS WHEN ENABLEPACKETDEBUG=TRUE.
|
void |
testBug25642226()
Tests fix for Bug#25642226, CHANGEUSER() NOT SETTING THE DATABASE PROPERLY WITH SHA USER.
|
void |
testBug25701740()
Tests fix for Bug#25701740, STMT EXECUTION FAILS FOR REPLICATION CONNECTION WHEN USECURSORFETCH=TRUE.
|
void |
testBug26089880()
Tests fix for BUG#26089880, GETCONNECTION("MYSQLX://..") RETURNS NON-X PROTOCOL CONNECTION.
|
void |
testBug26819691()
Tests fix for Bug#26819691, SETTING PACKETDEBUGBUFFERSIZE=0 RESULTS IN CONNECTION FAILURE.
|
void |
testBug27102307()
Tests fix for BUG#27102307, CHANGE USESSL AND VERIFYSERVERCERTIFICATE TO SSLMODE OPTION.
|
void |
testBug27131768()
Tests fix for Bug#27131768 - NULL POINTER EXCEPTION IN CONNECTION.
|
void |
testBug27655()
Tests fix for BUG#27655 - getTransactionIsolation() uses "SHOW VARIABLES LIKE" which is very inefficient on MySQL-5.0+
|
void |
testBug28150662()
Tests fix for BUG#28150662, CONNECTOR/J 8 MALFORMED DATABASE URL EXCEPTION WHIT CORRECT URL STRING.
|
void |
testBug28725534()
Tests fix for Bug#28725534, MULTI HOST CONNECTION WOULD BLOCK IN CONNECTION POOLING.
|
void |
testBug29329326()
Tests fix for Bug#29329326, PLEASE AVOID SHOW PROCESSLIST IF POSSIBLE.
|
void |
testBug29852() |
void |
testBug31053() |
void |
testBug32216() |
void |
testBug32877() |
void |
testBug33734()
Tests fix for BUG#33734 - NullPointerException when using client-side prepared statements and enabling caching of prepared statements
(only present in nightly builds of 5.1).
|
void |
testBug34703()
34703 [NEW]: isValild() aborts Connection on timeout
|
(package private) void |
testBug34918989()
Tests fix for Bug#34918989, Pluggable classes are initialized even when they cannot be used by Connector/J.
|
void |
testBug34937() |
void |
testBug3554()
Tests fix for BUG#3554 - Not specifying database in URL causes MalformedURL exception.
|
void |
testBug35660() |
void |
testBug36662() |
void |
testBug36948()
Tests fix for BUG#36948 - Trying to use trustCertificateKeyStoreUrl causes an IllegalStateException.
|
void |
testBug37570() |
void |
testBug3790() |
void |
testBug41172()
Test fix for Bug#41172 (11750577), PROFILEREVENT.PACK() THROWS ARRAYINDEXOUTOFBOUNDSEXCEPTION.
|
void |
testBug4334()
Tests fix for BUG#4334, port #'s not being picked up for failover/autoreconnect.
|
void |
testBug43421() |
void |
testBug44324() |
void |
testBug44587()
Tests fix for BUG#44587, provide last packet sent/received timing in all connection failure errors.
|
void |
testBug45171() |
void |
testBug45419()
Tests fix for BUG#45419, ensure that time is not converted to seconds before being reported as milliseconds.
|
void |
testBug46637() |
void |
testBug46925() |
void |
testBug47494() |
void |
testBug48442() |
void |
testBug48486() |
void |
testBug48605() |
void |
testBug49700() |
void |
testBug51266() |
void |
testBug51643()
Tests fix for Bug#51643 - connection chosen by load balancer "sticks" to statements that live past commit()/rollback().
|
void |
testBug51783() |
void |
testBug56100()
Tests fix for Bug#56100 - Replication driver routes DML statements to read-only replicas.
|
private void |
testBug56100AssertHost(java.sql.Statement testStmt,
java.lang.String expectedHost) |
void |
testBug56122()
Tests fix for Bug#56122 - JDBC4 functionality failure when using replication connections.
|
void |
testBug56429() |
void |
testBug56955() |
void |
testBug57662()
Tests fix for BUG#57662, Incorrect Query Duration When useNanosForElapsedTime Enabled
|
void |
testBug58706() |
void |
testBug61201() |
void |
testBug62452()
Tests fix for BUG#62452 - NPE thrown in JDBC4MySQLPooledException when statement is closed.
|
private void |
testBug62452WithConnection(javax.sql.PooledConnection con) |
void |
testBug62577()
Test for Bug#62577 - XA connection fails with ClassCastException
|
private void |
testBug62577TestUrl(java.lang.String url) |
void |
testBug63284() |
void |
testBug67803()
Tests fix for BUG#67803 - XA commands sent twice to MySQL server
|
void |
testBug68400()
Tests fix for BUG#68400 useCompression=true and connect to server, zip native method cause out of memory
|
void |
testBug68733()
Tests fix for BUG#68733, ReplicationConnection does not ping all underlying active physical connections to replicas.
|
void |
testBug68763()
Tests fix for BUG#68763, ReplicationConnection.isSourceConnection() returns false always
|
void |
testBug69452()
Tests fix for Bug#69452 - Memory size connection property doesn't support large values well
|
void |
testBug69506()
Tests fix for BUG#69506 - XAER_DUPID error code is not returned when a duplicate XID is offered in Java.
|
void |
testBug69579()
Tests fix for BUG#69579 - DriverManager.setLoginTimeout not honored.
|
void |
testBug6966()
Tests fix for BUG#6966, connections starting up failed-over (due to down source) never retry source.
|
void |
testBug69746()
Tests fix for BUG#69746, ResultSet closed after Statement.close() when dontTrackOpenResources=true
active physical connections to replicas.
|
void |
testBug69777()
Tests fix for Bug#69777 - Setting maxAllowedPacket below 8203 makes blobSendChunkSize negative.
|
void |
testBug70677()
Test fix for Bug#70677 (17640628), CONNECTOR J WITH PROFILESQL - LOG CONTAINS LOTS OF STACKTRACE DATA.
|
void |
testBug70785()
Tests fix for Bug#70785 - MySQL Connector/J inconsistent init state for autocommit.
|
void |
testBug71084()
Tests fix for BUG#71084 - Wrong java.sql.Date stored if client and server time zones differ
|
private void |
testBug71084AssertCase(java.util.Properties connProps,
java.lang.String clientTZ,
java.lang.String serverTZ,
java.lang.String targetTZ,
java.lang.String insertDate,
java.lang.String expectedStoredDate,
java.lang.String expectedRetrievedDate) |
void |
testBug71850()
Tests fix for Bug#71850 - init() is called twice on exception interceptors
|
void |
testBug73053()
Tests fix for BUG#73053 - Endless loop in MysqlIO.clearInputStream due to Linux kernel bug.
|
void |
testBug74690()
Test fix for Bug#74690 (20010454), PROFILEREVENT HOSTNAME HAS NO GETTER().
|
void |
testBug74711()
Tests fix for Bug#74711 - FORGOTTEN WORKAROUND FOR BUG#36326.
|
void |
testBug75168()
Tests fix for Bug#75168 - loadBalanceExceptionChecker interface cannot work using JDBC4/JDK7
|
void |
testBug75209()
Tests fix for Bug#75209 - Set useLocalTransactionState may result in partially committed transaction.
|
void |
testBug75592()
Tests fix for BUG#75592 - "SHOW VARIABLES WHERE" is expensive.
|
void |
testBug75615()
Tests fix for Bug#75615 - Incorrect implementation of Connection.setNetworkTimeout().
|
void |
testBug75670()
Tests fix for BUG#75670 - Connection fails with "Public Key Retrieval is not allowed" for native auth.
|
void |
testBug77171()
Tests fix for Bug#77171 - On every connect getting sql_mode from server creates unnecessary exception.
|
void |
testBug77649()
Tests fix for Bug#77649 - URL start with word "address",JDBC can't parse the "host:port" Correctly.
|
void |
testBug7952()
Test fix for BUG#7952 -- Infinite recursion when 'falling back' to source in failover configuration.
|
void |
testBug79612()
Tests fix for Bug#79612 (22362474), CONNECTION ATTRIBUTES LOST WHEN CONNECTING WITHOUT DEFAULT DATABASE.
|
void |
testBug86741()
Tests fix for Bug#86741 (26314325), Multi-Host connection with autocommit=0 getAutoCommit maybe wrong.
|
void |
testBug87600()
Tests fix for BUG#87600 (26724154), CONNECTOR THROWS 'MALFORMED DATABASE URL' ON NON MYSQL CONNECTION-URLS.
|
void |
testBug88227()
Tests fix for Bug#88227 (27029657), Connector/J 5.1.44 cannot be used against MySQL 5.7.20 without warnings.
|
void |
testBug88232()
Tests fix for Bug#88232 - c/J does not rollback transaction when autoReconnect=true.
|
void |
testBug88242()
Tests fix for Bug#88242 - autoReconnect and socketTimeout JDBC option makes wrong order of client packet.
|
void |
testBug89948()
Test fix for Bug#89948 (27658489), Batched statements are not committed for useLocalTransactionState=true.
|
private void |
testBug89948Check(java.lang.String testCase,
int expectedCount,
int idOffset) |
void |
testBug90753()
Tests fix for Bug#90753 (27977617), WAIT_TIMEOUT EXCEEDED MESSAGE NOT TRIGGERED.
|
void |
testBug91421()
Tests fix for BUG#91421 (28246270), ALLOWED VALUES FOR ZERODATETIMEBEHAVIOR ARE INCOMPATIBLE WITH NETBEANS.
|
void |
testBug92625()
Tests fix for BUG#92625 (28731795), CONTRIBUTION: FIX OBSERVED NPE IN CLEARINPUTSTREAM.
|
void |
testBug93007()
Tests fix for BUG#93007 (28860051), LoadBalancedConnectionProxy.getGlobalBlocklist bug.
|
void |
testBug95564()
Tests fix for Bug#95564 (29894324), createDatabaseIfNotExist is not working for databases with hyphen in name.
|
void |
testBug97714()
Test fix for Bug#97714 (30570249), Contribution: Expose elapsed time for query interceptor to avoid hacky thread local implementations.
|
void |
testBug98445() |
void |
testBug98667()
Tests fix for Bug#98667 (31711961), "All pipe instances are busy" exception on multiple connections to named Pipe.
|
void |
testBug99076()
Tests fix for Bug#99076 (31083755), Unclear exception/error when connecting with jdbc:mysql to a mysqlx port.
|
void |
testBug99767()
Tests fix for Bug#99767 (31443178), Contribution: Check SubjectAlternativeName for TLS instead of commonName.
|
void |
testCachingSha2PasswordPlugin()
Test for caching_sha2_password authentication.
|
void |
testChangeUser() |
void |
testChangeUserClosedConn() |
void |
testChangeUserNoDb() |
private void |
testConnectionAttributes(java.lang.String url,
java.lang.String db) |
void |
testDefaultPlugin() |
void |
testDefaultUserWithoutPasswordAuthentication()
Test for WL#14453 - Pluggable authentication new defaults behavior & user-less authentications.
|
void |
testDefaultUserWithPasswordAuthentication()
Test for WL#14453 - Pluggable authentication new defaults behavior & user-less authentications.
|
void |
testDisabledPlugins() |
void |
testEnableTLSVersion()
Tests fix for Bug#87379.
|
void |
testExpiredPassword() |
void |
testFailoverReadOnly()
Tests fix for issue where a failed-over connection would let a application call setReadOnly(false), when that call should be ignored until the connection
is reconnected to a writable Source.
|
void |
testIsLocal() |
void |
testLongAuthResponsePayload()
Test for sha256_password long data exchange.
|
private void |
testMemLeakBatch(java.util.Properties props,
java.util.Set<?> connectionTrackingSet,
java.lang.reflect.Field referentField,
int connectionType,
int finType,
java.lang.String s1,
java.lang.String attributeValue) |
void |
testOldPasswordPlugin() |
void |
testPropertiesDescriptionsKeys() |
void |
testReconnectWithCachedConfig() |
void |
testReplicationConnectionGroupHostManagement() |
void |
testReplicationConnectionHostManagement() |
void |
testReplicationConnectionMemory() |
void |
testReplicationConnectionNoReplicasBasics() |
void |
testReplicationConnectionNoReplicasRemainOnSource()
Test that we remain on the source when:
- the connection is not in read-only mode
- no replicas are configured
- a new replica is added
|
void |
testReplicationConnectWithMultipleSources() |
void |
testReplicationConnectWithNoSource() |
void |
testReplicationJMXInterfaces() |
void |
testSetReadOnly()
Tests setReadOnly() being reset during failover
|
void |
testSha256PasswordPlugin()
Test for sha256_password authentication.
|
void |
testStackOverflowOnMissingInterceptor() |
void |
testStatementComment() |
void |
testThreeAttemptsPlugin() |
void |
testTLSVersion()
Tests fix for WL#8196, Support for TLSv1.2 Protocol.
|
void |
testTwoQuestionsPlugin() |
void |
testUnreliableSocketFactory() |
appendRequiredProperties, assertByteArrayEquals, assertConnectionsHistory, assertEqualsFSAware, assertNonSecureConnection, assertResultSetLength, assertResultSetsEqual, assertSecureConnection, assertSecureConnection, assertSessionStatusEquals, assertThrows, assertThrows, assertThrows, assertThrows, cleanupTempFiles, createDatabase, createDatabase, createFunction, createFunction, createProcedure, createProcedure, createSchemaObject, createSchemaObject, createTable, createTable, createTable, createTable, createUser, createUser, createView, createView, currentTimeMillis, dropDatabase, dropDatabase, dropFunction, dropFunction, dropProcedure, dropProcedure, dropSchemaObject, dropSchemaObject, dropTable, dropTable, dropUser, dropUser, dropView, dropView, fillPrimitiveDefaults, getConnectionWithProps, getConnectionWithProps, getConnectionWithProps, getConnectionWithProps, getEncodedHostFromTestsuiteUrl, getEncodedHostPortPairFromTestsuiteUrl, getFailoverConnection, getFailoverConnection, getHostFreePropertiesFromTestsuiteUrl, getHostFreePropertiesFromTestsuiteUrl, getHostFromTestsuiteUrl, getInstanceNumber, getLoadBalancedConnection, getLoadBalancedConnection, getLoadBalancedConnection, getMysqlVariable, getMysqlVariable, getNewConnection, getNoDbUrl, getPort, getPortFreeHostname, getPortFromTestsuiteUrl, getPropertiesFromTestsuiteUrl, getPropertiesFromUrl, getRowCount, getSingleIndexedValueWithQuery, getSingleIndexedValueWithQuery, getSingleValue, getSingleValueWithQuery, getSourceReplicaReplicationConnection, getSourceReplicaReplicationConnection, getSourceReplicaUrl, getSourceReplicaUrl, getUnreliableFailoverConnection, getUnreliableFailoverConnection, getUnreliableLoadBalancedConnection, getUnreliableLoadBalancedConnection, getUnreliableMultiHostConnection, getUnreliableReplicationConnection, getUnreliableReplicationConnection, getUnreliableReplicationConnection, isClassAvailable, isCommunityEdition, isEnterpriseEdition, isMysqlRunningLocally, isRunningOnJRockit, isServerRunningOnWindows, isSysPropDefined, logDebug, newTempBinaryFile, randomString, removeHostRelatedProps, removeSqlMode, runLongTests, setUpBase, supportsLoadLocalInfile, supportsTestCachingSha2PasswordKeys, supportsTestCertificates, supportsTestSha256PasswordKeys, supportsTimeZoneNames, supportsTLSv1_2, tearDownBase, versionMeetsMinimum, versionMeetsMinimumprotected int testServerPrepStmtDeadlockCounter
java.util.concurrent.Future<?> testBug75615Future
@Test
public void testBug1914()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug3554()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug3790()
throws java.lang.Exception
java.lang.Exception@Test
public void testSetReadOnly()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug4334()
throws java.lang.Exception
java.lang.Exceptionprivate static void killConnection(java.sql.Connection adminConn,
java.lang.String threadId)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testBug6966()
throws java.lang.Exception
java.lang.Exception - Note, test is timing-dependent, but should work in most cases.@Test
public void testBug7952()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug10144()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug11259()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug11879()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug11976()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug12218()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug12229()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug12753()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug13048()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug13453()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug15065()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug15570()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug23281()
throws java.lang.Exception
java.lang.Exception - Note, test is timing-dependent, but should work in most cases.@Test
@Disabled(value="\'elideSetAutoCommits\' feature was turned off due to Server Bug#66884. Turn this test back on as soon as the server bug is fixed. Consider making it version specific.")
public void testBug24706()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug25514()
throws java.lang.Exception
java.lang.Exceptionprivate int findNamedThreadCount(java.lang.ThreadGroup group,
java.lang.String nameStart)
@Test
public void testBug23626()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug23626ForClass(java.lang.Class<?> clazz,
java.util.List<java.lang.String> propertyNames)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug25545()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug36948()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug27655()
throws java.lang.Exception
java.lang.Exception@Test
public void testFailoverReadOnly()
throws java.lang.Exception
java.lang.Exception@Test
public void testPropertiesDescriptionsKeys()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug29852()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug22643()
throws java.lang.Exception
java.lang.Exception@Test
private void checkPingQuery(java.sql.Connection c)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testBug31053()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug32877()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug33734()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug34703()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug34937()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug35660()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug37570()
throws java.lang.Exception
java.lang.Exception@Test
public void testUnreliableSocketFactory()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationConnectionGroupHostManagement()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationConnectionHostManagement()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationConnectWithNoSource()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationConnectWithMultipleSources()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationConnectionMemory()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationJMXInterfaces()
throws java.lang.Exception
java.lang.Exception@Test private ReplicationGroupManagerMBean getReplicationMBean() throws java.lang.Exception
java.lang.Exception@Test
public void testBug43421()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug48442()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug45171()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug44587()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug45419()
throws java.lang.Exception
java.lang.Exceptionpublic static boolean containsMessage(java.lang.String msg,
java.lang.String key)
@Test
public void testBug46637()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug32216()
throws java.lang.Exception
java.lang.Exceptionprivate void checkBug32216(java.lang.String host,
java.lang.String port,
java.lang.String dbname)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testBug44324()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug46925()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug47494()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug48486()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug48605()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug49700()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug51266()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug51643()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug51783()
throws java.lang.Exception
java.lang.Exception@Test
public void testAutoCommitLB()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug56429()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug56955()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug58706()
throws java.lang.Exception
java.lang.Exception@Test
public void testStatementComment()
throws java.lang.Exception
java.lang.Exception@Test
public void testReconnectWithCachedConfig()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug61201()
throws java.lang.Exception
java.lang.Exception@Test
public void testChangeUser()
throws java.lang.Exception
java.lang.Exception@Test
public void testChangeUserNoDb()
throws java.lang.Exception
java.lang.Exception@Test
public void testChangeUserClosedConn()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug63284()
throws java.lang.Exception
java.lang.Exception@Test
public void testDefaultPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testDisabledPlugins()
throws java.lang.Exception
java.lang.Exception@Test
public void testAuthTestPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testTwoQuestionsPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testThreeAttemptsPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testOldPasswordPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testAuthCleartextPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testSha256PasswordPlugin()
throws java.lang.Exception
java.lang.Exceptionprivate void assertCurrentUser(java.lang.String url,
java.util.Properties props,
java.lang.String expectedUser,
boolean sslRequired)
throws java.sql.SQLException
java.sql.SQLExceptionprivate boolean pluginIsActive(java.sql.Statement st,
java.lang.String plugin)
throws java.sql.SQLException
java.sql.SQLExceptionprivate boolean allowsRsa(java.sql.Statement st)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testBug36662()
throws java.lang.Exception
java.lang.Exception@Test
public void testIsLocal()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug57662()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug14563127()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug11237()
throws java.lang.Exception
java.lang.Exception@Test
public void testStackOverflowOnMissingInterceptor()
throws java.lang.Exception
java.lang.Exception@Test
public void testExpiredPassword()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug79612()
throws java.lang.Exception
java.lang.Exception@Test
private void testConnectionAttributes(java.lang.String url,
java.lang.String db)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug16224249()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug68763()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug68733()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug68400()
throws java.lang.Exception
java.lang.Exceptionprivate void testMemLeakBatch(java.util.Properties props,
java.util.Set<?> connectionTrackingSet,
java.lang.reflect.Field referentField,
int connectionType,
int finType,
java.lang.String s1,
java.lang.String attributeValue)
throws java.lang.Exception
props - connectionTrackingSet - referentField - connectionType - 0-ConnectionImpl, 1-LoadBalancedConnection, 2-FailoverConnection, 3-ReplicationConnectionfinType - 0 - none, 1 - close(), 2 - abortInternal()s1 - attributeValue - java.lang.Exceptionprivate int countTestConnections(java.util.Set<?> connectionTrackingSet,
java.lang.reflect.Field referentField,
boolean show,
java.lang.String attributValue)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug17251955()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug69506()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug69746()
throws java.lang.Exception
java.lang.Exceptionprivate boolean isStatementClosedForTestBug69746(java.sql.Statement statement)
private boolean isResultSetClosedForTestBug69746(java.sql.ResultSet resultSet)
@Test
public void testLongAuthResponsePayload()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug69452()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug69777()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug69579()
throws java.lang.Exception
java.lang.Exceptionprivate ReplicationConnection getTestReplicationConnectionNoReplicas(java.lang.String sourceHost, java.util.Properties props) throws java.lang.Exception
sourceHost - props - java.lang.Exception@Test
public void testReplicationConnectionNoReplicasRemainOnSource()
throws java.lang.Exception
java.lang.Exception@Test
public void testReplicationConnectionNoReplicasBasics()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug71850()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug67803()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug62577()
throws java.lang.Exception
java.lang.Exception@Test
private void testBug62577TestUrl(java.lang.String url)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug18869381()
throws java.lang.Exception
java.lang.Exception@Test
private void testBug18869381WithProperties(java.lang.String url,
java.util.Properties props)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug73053()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug19354014()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug75168()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug71084()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug71084AssertCase(java.util.Properties connProps,
java.lang.String clientTZ,
java.lang.String serverTZ,
java.lang.String targetTZ,
java.lang.String insertDate,
java.lang.String expectedStoredDate,
java.lang.String expectedRetrievedDate)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug20685022()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug75592()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug62452()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug62452WithConnection(javax.sql.PooledConnection con)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug20825727()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug20825727CreateUser(java.lang.String testDbUrl,
java.lang.String user,
java.lang.String password,
java.lang.String pluginName,
int pwdHashingMethod)
throws java.sql.SQLException
java.sql.SQLExceptionprivate void testBug20825727ChangePassword(java.lang.String testDbUrl,
java.lang.String user,
java.lang.String password,
java.lang.String pluginName,
int pwdHashingMethod)
throws java.sql.SQLException
java.sql.SQLExceptionprivate void testBug20825727TestLogin(java.lang.String testDbUrl,
java.lang.String defaultServerEncoding,
boolean sslEnabled,
boolean rsaEnabled,
java.lang.String user,
java.lang.String password,
java.lang.String encoding,
java.lang.String pluginName)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testBug75670()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug16634180()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug21934573()
throws java.lang.Exception
ReplicationConnectionGroup) may hit a
deadlock when one executes a failover procedure and the other, simultaneously, calls a method that acquires a lock on the ReplicationConnection
instance monitor.
This happens when, in one thread, a Fabric connection (performing the failover) and while owning a lock on ReplicationConnectionGroup,
sequentially tries to lock the object monitor from each ReplicationConnection belonging to the same ReplicationConnectionGroup, in the
attempt of updating their servers lists by calling the synchronized methods ReplicationConnection.removeSourceHost(String),
ReplicationConnection.addReplicaHost(String), ReplicationConnection.removeReplica(String) or
ReplicationConnection.promoteReplicaToSource(String) while, at the same time, a second thread is executing one of the synchronized methods from
the
ReplicationConnection instance, such as Connection.close() or ReplicationConnectionProxy.doPing() (*), in one of those
connections. Later on, the second thread, eventually initiates a failover procedure too and hits the lock on ReplicationConnectionGroup owned by
the first thread. The first thread, at the same time, requires that the lock on ReplicationConnection is released by the second thread to be able
to complete the failover procedure is has initiated before.
(*) Executing a query may trigger this too via locking on LoadBalancedConnectionProxy.
This test simulates the way Fabric connections operate when they need to synchronize the list of servers from a ReplicationConnection with the
Fabric's server group. In that operation we, like Fabric connections, use an ExceptionInterceptor that ends up changing the
ReplicationConnections from a given ReplicationConnectionGroup.
This test is unable to cover the failing scenario since the fix in the main code was also reproduced here, with the addition of the ReentrantLock
singleSynchWorkerMonitor in the ConnectionRegressionTest.TestBug21934573ExceptionInterceptor the same way as in ErrorReportingExceptionInterceptor. The
way to reproduce it and observe the deadlock happening is by setting the connection property __useReplConnGroupLocks__ to False.
WARNING! If this test fails there is no guarantee that the JVM will remain stable and won't affect any other tests. It is imperative that this test
passes to ensure other tests results.java.lang.Exception@Test
public void testBug21947042()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug21947042_PrintCipher(java.sql.Connection con)
throws java.lang.Exception
java.lang.Exceptionprivate void testBug21947042_PrintVersion(java.sql.Connection con)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug56100()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug56100AssertHost(java.sql.Statement testStmt,
java.lang.String expectedHost)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testTLSVersion()
throws java.lang.Exception
java.lang.Exception@Test
public void testEnableTLSVersion()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug56122()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug21286268()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug21286268AssertConnectedToAndReadOnly(java.sql.Connection testConn,
java.lang.String expectedHost,
boolean expectedReadOnly)
throws java.sql.SQLException
java.sql.SQLException@Test
public void testBug77171()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug22730682()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug22848249()
throws java.lang.Exception
java.lang.Exceptionprivate void subTestBug22848249A()
throws java.lang.Exception
java.lang.Exceptionprivate void subTestBug22848249B()
throws java.lang.Exception
java.lang.Exceptionprivate void subTestBug22848249C()
throws java.lang.Exception
java.lang.Exceptionprivate void subTestBug22848249D()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug22678872()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug22678872CheckConnectionsHistory(java.lang.String... expectedConnectionsHistory)
@Test
public void testBug77649()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug74711()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug75209()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug75615()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug70785()
throws java.lang.Exception
java.lang.Exception@Test
public void testCachingSha2PasswordPlugin()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug88242()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug88232()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug27131768()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug88227()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug26819691()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug86741()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug90753()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug26089880()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug87600()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug91421()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug28150662()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug27102307()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug89948()
throws java.lang.Exception
java.lang.Exceptionprivate void testBug89948Check(java.lang.String testCase,
int expectedCount,
int idOffset)
throws java.lang.Exception
java.lang.Exception@Test
public void testBug25642226()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug92625()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug25642021()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug93007()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug29329326()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug41172()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug74690()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug70677()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug98445()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug97714()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug99767()
throws java.lang.Exception
X509v3 Subject Alternative Name:
DNS:bug99767.mysql.san1.tst,
DNS:*.mysql.san2.tst,
DNS:bug*.mysql.san3.tst,
DNS:*99767.mysql.san4.tst,
DNS:bug99767.*.san5.tst,
DNS:bug99767.*,
DNS:*,
IP Address:9.9.7.67,
IP Address:99.7.6.7
java.lang.Exception@Test
public void testBug99076()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug98667()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug21789378()
throws java.lang.Exception
java.lang.Exception@Test
public void testDefaultUserWithoutPasswordAuthentication()
throws java.lang.Exception
java.lang.Exception@Test
public void testDefaultUserWithPasswordAuthentication()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug101596()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug22508715()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug102188()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug102404()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug95564()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug28725534()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug104067AndBug106435()
throws java.lang.Exception
java.lang.Exception@Test
public void testBug25701740()
throws java.lang.Exception
java.lang.Exception@Test
void testBug34918989()
throws java.lang.Exception
java.lang.Exception@Test
void testBug108643()
throws java.lang.Exception
java.lang.Exception@Test
void testBug109013()
throws java.lang.Exception
java.lang.Exception