Skip to content

1.2 cleanup #343

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 24, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ private static SecurityPlan createSecurityPlan( BoltServerAddress address, Confi
* Establish a complete SecurityPlan based on the details provided for
* driver construction.
*/
@SuppressWarnings( "deprecation" )
private static SecurityPlan createSecurityPlanImpl( BoltServerAddress address, Config config )
throws GeneralSecurityException, IOException
{
Expand Down
22 changes: 15 additions & 7 deletions driver/src/main/java/org/neo4j/driver/internal/NetworkSession.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public class NetworkSession implements Session, SessionResourcesHandler
private final RetryLogic<RetryDecision> retryLogic;
protected final Logger logger;

private String lastBookmark;
private String bookmark;
private PooledConnection currentConnection;
private ExplicitTransaction currentTransaction;

Expand Down Expand Up @@ -116,6 +116,7 @@ public static StatementResult run( Connection connection, Statement statement,
return result;
}

@Deprecated
@Override
public synchronized void reset()
{
Expand Down Expand Up @@ -174,10 +175,14 @@ public synchronized Transaction beginTransaction()
return beginTransaction( mode );
}

@Deprecated
@Override
public synchronized Transaction beginTransaction( String bookmark )
{
lastBookmark = bookmark;
if ( bookmark != null )
{
setBookmark( bookmark );
}
return beginTransaction();
}

Expand All @@ -193,15 +198,18 @@ public <T> T writeTransaction( TransactionWork<T> work )
return transaction( AccessMode.WRITE, work );
}

void setLastBookmark( String bookmark )
// Internal method for setting the bookmark explicitly, mainly for testing.
// This method does not prevent setting the bookmark to null since that
// is a valid requirement for some test scenarios.
void setBookmark( String bookmark )
{
lastBookmark = bookmark;
this.bookmark = bookmark;
}

@Override
public String lastBookmark()
{
return lastBookmark;
return bookmark;
}

@Override
Expand Down Expand Up @@ -294,7 +302,7 @@ private synchronized Transaction beginTransaction( AccessMode mode )
syncAndCloseCurrentConnection();
currentConnection = acquireConnection( mode );

currentTransaction = new ExplicitTransaction( currentConnection, this, lastBookmark );
currentTransaction = new ExplicitTransaction( currentConnection, this, bookmark);
currentConnection.setResourcesHandler( this );
return currentTransaction;
}
Expand Down Expand Up @@ -391,7 +399,7 @@ private void updateLastBookmarkFrom( ExplicitTransaction tx )
{
if ( tx.bookmark() != null )
{
lastBookmark = tx.bookmark();
bookmark = tx.bookmark();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public Session newInstance( AccessMode mode, String bookmark )
{
session = new NetworkSession( connectionProvider, mode, retryLogic, logging );
}
session.setLastBookmark( bookmark );
session.setBookmark( bookmark );
return session;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,7 @@ public void closesClosedConnectionUsedForRunWhenSessionIsClosed()
verify( connection ).close();
}

@SuppressWarnings( "deprecation" )
@Test
public void resetDoesNothingWhenNoTransactionAndNoConnection()
{
Expand Down Expand Up @@ -541,8 +542,9 @@ public void bookmarkIsPropagatedInBeginTransaction()
PooledConnection connection = mock( PooledConnection.class );
when( connectionProvider.acquireConnection( READ ) ).thenReturn( connection );
NetworkSession session = newSession( connectionProvider, READ );
session.setBookmark(bookmark);

try ( Transaction ignore = session.beginTransaction( bookmark ) )
try ( Transaction ignore = session.beginTransaction() )
{
verifyBeginTx( connection, bookmark );
}
Expand Down Expand Up @@ -595,34 +597,34 @@ public void setLastBookmark()
{
NetworkSession session = newSession( mock( ConnectionProvider.class ), WRITE );

session.setLastBookmark( "TheBookmark" );
session.setBookmark( "TheBookmark" );

assertEquals( "TheBookmark", session.lastBookmark() );
}

@Test
public void possibleToOverwriteBookmarkWithNull()
public void testPassingNoBookmarkShouldRetainBookmark()
{
NetworkSession session = newSession( mock( ConnectionProvider.class ), WRITE );
session.setLastBookmark( "TheBookmark" );

session.setLastBookmark( null );

assertNull( session.lastBookmark() );
ConnectionProvider connectionProvider = mock( ConnectionProvider.class );
PooledConnection connection = openConnectionMock();
when( connectionProvider.acquireConnection( READ ) ).thenReturn( connection );
NetworkSession session = newSession( connectionProvider, READ );
session.setBookmark( "X" );
session.beginTransaction();
assertThat( session.lastBookmark(), equalTo( "X" ) );
}

@SuppressWarnings( "deprecation" )
@Test
public void allowsToStartTransactionWithNullBookmark()
public void testPassingNullBookmarkShouldRetainBookmark()
{
ConnectionProvider connectionProvider = mock( ConnectionProvider.class );
PooledConnection connection = openConnectionMock();
when( connectionProvider.acquireConnection( READ ) ).thenReturn( connection );
NetworkSession session = newSession( connectionProvider, READ );
session.setLastBookmark( "SomeUndesiredBookmark" );

session.setBookmark( "X" );
session.beginTransaction( null );

assertNull( session.lastBookmark() );
assertThat( session.lastBookmark(), equalTo( "X" ) );
}

@Test
Expand Down Expand Up @@ -1096,7 +1098,7 @@ private static NetworkSession newSession( ConnectionProvider connectionProvider,
RetryLogic<RetryDecision> retryLogic, String bookmark )
{
NetworkSession session = new NetworkSession( connectionProvider, mode, retryLogic, DEV_NULL_LOGGING );
session.setLastBookmark( bookmark );
session.setBookmark( bookmark );
return session;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -548,9 +548,9 @@ public void shouldSendAndReceiveBookmark() throws Exception
StubServer writer = StubServer.start( "write_tx_with_bookmarks.script", 9007 );

try ( Driver driver = GraphDatabase.driver( "bolt+routing://127.0.0.1:9001", config );
Session session = driver.session() )
Session session = driver.session( "OldBookmark" ) )
{
try ( Transaction tx = session.beginTransaction( "OldBookmark" ) )
try ( Transaction tx = session.beginTransaction() )
{
tx.run( "CREATE (n {name:'Bob'})" );
tx.success();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@ public void shouldRoundRobinAmongWriteServers()
assertNotEquals( write3.address, write1.address );
}

@SuppressWarnings( "deprecation" )
@Test
public void testTrustOnFirstUseNotCompatibleWithRoutingDriver()
{
Expand Down Expand Up @@ -440,7 +441,7 @@ private static class NetworkSessionWithAddressFactory extends SessionFactoryImpl
public Session newInstance( AccessMode mode, String bookmark )
{
NetworkSessionWithAddress session = new NetworkSessionWithAddress( connectionProvider, mode, logging );
session.setLastBookmark( bookmark );
session.setBookmark( bookmark );
return session;
}
}
Expand Down
1 change: 1 addition & 0 deletions driver/src/test/java/org/neo4j/driver/v1/ConfigTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public void shouldDefaultToKnownCerts()
assertEquals( authConfig.strategy(), Config.TrustStrategy.Strategy.TRUST_ALL_CERTIFICATES );
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldChangeToNewKnownCerts()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ public void boltPlusDiscoverySchemeShouldInstantiateClusterDriver() throws Excep
assertThat( server.exitStatus(), equalTo( 0 ) );
}

@SuppressWarnings( "deprecation" )
@Test
public void boltPlusDiscoverySchemeShouldNotSupportTrustOnFirstUse()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,17 +103,20 @@ public void shouldThrowForInvalidBookmark()
{
String invalidBookmark = "hi, this is an invalid bookmark";

try
{
session.beginTransaction( invalidBookmark );
fail( "Exception expected" );
}
catch ( Exception e )
{
assertThat( e, instanceOf( ClientException.class ) );
try (Session session = driver.session( invalidBookmark )) {
try
{
session.beginTransaction();
fail( "Exception expected" );
}
catch ( Exception e )
{
assertThat( e, instanceOf( ClientException.class ) );
}
}
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldThrowForUnreachableBookmark()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,8 @@ public String apply( Session session )

assertNotNull( bookmark );

try ( Session session = driver.session();
Transaction tx = session.beginTransaction( bookmark ) )
try ( Session session = driver.session( bookmark );
Transaction tx = session.beginTransaction() )
{
Record record = tx.run( "MATCH (n:Person) RETURN COUNT(*) AS count" ).next();
assertEquals( 1, record.get( "count" ).asInt() );
Expand All @@ -153,7 +153,7 @@ public void shouldUseBookmarkFromAReadSessionInAWriteSession() throws Exception

try ( Driver driver = createDriver( leader.getBoltUri() ) )
{
inExpirableSession( driver, createWritableSession(), new Function<Session,Void>()
inExpirableSession( driver, createWritableSession( null ), new Function<Session,Void>()
{
@Override
public Void apply( Session session )
Expand All @@ -177,12 +177,12 @@ public Void apply( Session session )

assertNotNull( bookmark );

inExpirableSession( driver, createWritableSession(), new Function<Session,Void>()
inExpirableSession( driver, createWritableSession( bookmark ), new Function<Session,Void>()
{
@Override
public Void apply( Session session )
{
try ( Transaction tx = session.beginTransaction( bookmark ) )
try ( Transaction tx = session.beginTransaction() )
{
tx.run( "CREATE (p:Person {name: {name} })", Values.parameters( "name", "Alistair" ) );
tx.success();
Expand Down Expand Up @@ -249,11 +249,11 @@ public void beginTransactionThrowsForInvalidBookmark()
ClusterMember leader = clusterRule.getCluster().leader();

try ( Driver driver = createDriver( leader.getBoltUri() );
Session session = driver.session() )
Session session = driver.session( invalidBookmark ) )
{
try
{
session.beginTransaction( invalidBookmark );
session.beginTransaction();
fail( "Exception expected" );
}
catch ( Exception e )
Expand All @@ -264,6 +264,7 @@ public void beginTransactionThrowsForInvalidBookmark()
}
}

@SuppressWarnings( "deprecation" )
@Test
public void beginTransactionThrowsForUnreachableBookmark()
{
Expand Down Expand Up @@ -332,8 +333,8 @@ public String apply( Session session )
}
} );

try ( Session session2 = driver.session( AccessMode.READ );
Transaction tx2 = session2.beginTransaction( bookmark ) )
try ( Session session2 = driver.session( AccessMode.READ, bookmark );
Transaction tx2 = session2.beginTransaction() )
{
Record record = tx2.run( "MATCH (n:Person) RETURN COUNT(*) AS count" ).next();
tx2.success();
Expand All @@ -346,7 +347,7 @@ private int executeWriteAndReadThroughBolt( ClusterMember member ) throws Timeou
{
try ( Driver driver = createDriver( member.getRoutingUri() ) )
{
return inExpirableSession( driver, createWritableSession(), executeWriteAndRead() );
return inExpirableSession( driver, createWritableSession( null ), executeWriteAndRead() );
}
}

Expand All @@ -362,14 +363,14 @@ public Session apply( Driver driver )
};
}

private Function<Driver,Session> createWritableSession()
private Function<Driver,Session> createWritableSession( final String bookmark )
{
return new Function<Driver,Session>()
{
@Override
public Session apply( Driver driver )
{
return driver.session( AccessMode.WRITE );
return driver.session( AccessMode.WRITE, bookmark );
}
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ public void shouldKillLongStreamingResult() throws Throwable
}
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldNotAllowBeginTxIfResetFailureIsNotConsumed() throws Throwable
{
Expand All @@ -246,6 +247,7 @@ public void shouldNotAllowBeginTxIfResetFailureIsNotConsumed() throws Throwable
}
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldThrowExceptionOnCloseIfResetFailureIsNotConsumed() throws Throwable
{
Expand All @@ -267,6 +269,7 @@ public void shouldThrowExceptionOnCloseIfResetFailureIsNotConsumed() throws Thro
session.close();
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldBeAbleToBeginTxAfterResetFailureIsConsumed() throws Throwable
{
Expand Down Expand Up @@ -310,6 +313,7 @@ public void shouldBeAbleToBeginTxAfterResetFailureIsConsumed() throws Throwable
}
}

@SuppressWarnings( "deprecation" )
private void resetSessionAfterTimeout( final Session session, final int timeout )
{
new Thread( new Runnable()
Expand All @@ -333,6 +337,7 @@ public void run()
} ).start();
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldAllowMoreStatementAfterSessionReset()
{
Expand All @@ -351,6 +356,7 @@ public void shouldAllowMoreStatementAfterSessionReset()
}
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldAllowMoreTxAfterSessionReset()
{
Expand All @@ -376,6 +382,7 @@ public void shouldAllowMoreTxAfterSessionReset()
}
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldMarkTxAsFailedAndDisallowRunAfterSessionReset()
{
Expand All @@ -398,6 +405,7 @@ public void shouldMarkTxAsFailedAndDisallowRunAfterSessionReset()
}
}

@SuppressWarnings( "deprecation" )
@Test
public void shouldAllowMoreTxAfterSessionResetInTx()
{
Expand Down
Loading