[ 
https://issues.apache.org/jira/browse/GEODE-7003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16891227#comment-16891227
 ] 

Aaron Lindsey edited comment on GEODE-7003 at 7/23/19 5:26 PM:
---------------------------------------------------------------

There is a race condition within the test. When the test calls 
dataSource.getConnection(), that method will throw an (expected) exception and 
expire the connection from the connection pool. There is a background thread 
which goes through all the expired connections and calls Connection.close(). If 
this background thread calls close() while the main thread is in the middle of 
calling BrokeredConnection.isClosed(), the method isClosed() can throw a 
SQLNonTransientConnectionException. 


was (Author: aaronlindsey):
There is a race condition within the test. When the test calls 
dataSource.getConnection(), that method will throw an (expected) exception and 
expire the connection from the connection pool. There is a background thread 
which goes through all the expired connections and calls Connection.close(). If 
this background thread calls close() while the main thread is in the middle of 
calling BrokeredConnection.isClosed(), the method isClosed() will throw a 
SQLNonTransientConnectionException. 

> CI failure: 
> GemFireTransactionDataSourceIntegrationTest.testExceptionHandlingRegisterTranxConnection
>  failed with java.sql.SQLNonTransientConnectionException: No current 
> connection.
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-7003
>                 URL: https://issues.apache.org/jira/browse/GEODE-7003
>             Project: Geode
>          Issue Type: Bug
>            Reporter: Aaron Lindsey
>            Priority: Major
>
> Failed on Windows JDK 8 run on 7/22/19:
> [https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/WindowsCoreIntegrationTestOpenJDK8/builds/147]
> Archive results:
> [http://files.apachegeode-ci.info/builds/apache-develop-main/1.10.0-SNAPSHOT.0468/test-results/integrationTest/1563834111/]
> Stack trace:
> {{org.apache.geode.internal.datasource.GemFireTransactionDataSourceIntegrationTest
>  > testExceptionHandlingRegisterTranxConnection FAILED}}
> {{    java.sql.SQLNonTransientConnectionException: No current connection.}}
> {{        at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
> Source)}}
> {{        at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown 
> Source)}}
> {{        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
> Source)}}
> {{        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown 
> Source)}}
> {{        at org.apache.derby.impl.jdbc.Util.noCurrentConnection(Unknown 
> Source)}}
> {{        at org.apache.derby.jdbc.EmbedPooledConnection.checkActive(Unknown 
> Source)}}
> {{        at 
> org.apache.derby.jdbc.EmbedPooledConnection.getRealConnection(Unknown 
> Source)}}
> {{        at 
> org.apache.derby.jdbc.EmbedXAConnection.getRealConnection(Unknown Source)}}
> {{        at 
> org.apache.derby.iapi.jdbc.BrokeredConnection.getRealConnection(Unknown 
> Source)}}
> {{        at org.apache.derby.iapi.jdbc.BrokeredConnection.isClosed(Unknown 
> Source)}}
> {{        at 
> org.apache.geode.internal.datasource.GemFireTransactionDataSourceIntegrationTest.lambda$testExceptionHandlingRegisterTranxConnection$1(GemFireTransactionDataSourceIntegrationTest.java:103)}}
> {{        Caused by:}}
> {{        ERROR 08003: No current connection.}}
> {{            at 
> org.apache.derby.iapi.error.StandardException.newException(Unknown Source)}}
> {{            at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown
>  Source)}}
> {{            ... 11 more}}
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to