Skip to content

Commit 068949c

Browse files
author
Zhen Li
authored
Merge pull request #343 from technige/1.2-cleanup
1.2 cleanup
2 parents da0c7e0 + 869d381 commit 068949c

18 files changed

+90
-51
lines changed

driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ private static SecurityPlan createSecurityPlan( BoltServerAddress address, Confi
221221
* Establish a complete SecurityPlan based on the details provided for
222222
* driver construction.
223223
*/
224+
@SuppressWarnings( "deprecation" )
224225
private static SecurityPlan createSecurityPlanImpl( BoltServerAddress address, Config config )
225226
throws GeneralSecurityException, IOException
226227
{

driver/src/main/java/org/neo4j/driver/internal/NetworkSession.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public class NetworkSession implements Session, SessionResourcesHandler
5252
private final RetryLogic<RetryDecision> retryLogic;
5353
protected final Logger logger;
5454

55-
private String lastBookmark;
55+
private String bookmark;
5656
private PooledConnection currentConnection;
5757
private ExplicitTransaction currentTransaction;
5858

@@ -116,6 +116,7 @@ public static StatementResult run( Connection connection, Statement statement,
116116
return result;
117117
}
118118

119+
@Deprecated
119120
@Override
120121
public synchronized void reset()
121122
{
@@ -174,10 +175,14 @@ public synchronized Transaction beginTransaction()
174175
return beginTransaction( mode );
175176
}
176177

178+
@Deprecated
177179
@Override
178180
public synchronized Transaction beginTransaction( String bookmark )
179181
{
180-
lastBookmark = bookmark;
182+
if ( bookmark != null )
183+
{
184+
setBookmark( bookmark );
185+
}
181186
return beginTransaction();
182187
}
183188

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

196-
void setLastBookmark( String bookmark )
201+
// Internal method for setting the bookmark explicitly, mainly for testing.
202+
// This method does not prevent setting the bookmark to null since that
203+
// is a valid requirement for some test scenarios.
204+
void setBookmark( String bookmark )
197205
{
198-
lastBookmark = bookmark;
206+
this.bookmark = bookmark;
199207
}
200208

201209
@Override
202210
public String lastBookmark()
203211
{
204-
return lastBookmark;
212+
return bookmark;
205213
}
206214

207215
@Override
@@ -294,7 +302,7 @@ private synchronized Transaction beginTransaction( AccessMode mode )
294302
syncAndCloseCurrentConnection();
295303
currentConnection = acquireConnection( mode );
296304

297-
currentTransaction = new ExplicitTransaction( currentConnection, this, lastBookmark );
305+
currentTransaction = new ExplicitTransaction( currentConnection, this, bookmark);
298306
currentConnection.setResourcesHandler( this );
299307
return currentTransaction;
300308
}
@@ -391,7 +399,7 @@ private void updateLastBookmarkFrom( ExplicitTransaction tx )
391399
{
392400
if ( tx.bookmark() != null )
393401
{
394-
lastBookmark = tx.bookmark();
402+
bookmark = tx.bookmark();
395403
}
396404
}
397405

driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public Session newInstance( AccessMode mode, String bookmark )
5353
{
5454
session = new NetworkSession( connectionProvider, mode, retryLogic, logging );
5555
}
56-
session.setLastBookmark( bookmark );
56+
session.setBookmark( bookmark );
5757
return session;
5858
}
5959

driver/src/test/java/org/neo4j/driver/internal/NetworkSessionTest.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ public void closesClosedConnectionUsedForRunWhenSessionIsClosed()
301301
verify( connection ).close();
302302
}
303303

304+
@SuppressWarnings( "deprecation" )
304305
@Test
305306
public void resetDoesNothingWhenNoTransactionAndNoConnection()
306307
{
@@ -541,8 +542,9 @@ public void bookmarkIsPropagatedInBeginTransaction()
541542
PooledConnection connection = mock( PooledConnection.class );
542543
when( connectionProvider.acquireConnection( READ ) ).thenReturn( connection );
543544
NetworkSession session = newSession( connectionProvider, READ );
545+
session.setBookmark(bookmark);
544546

545-
try ( Transaction ignore = session.beginTransaction( bookmark ) )
547+
try ( Transaction ignore = session.beginTransaction() )
546548
{
547549
verifyBeginTx( connection, bookmark );
548550
}
@@ -595,34 +597,34 @@ public void setLastBookmark()
595597
{
596598
NetworkSession session = newSession( mock( ConnectionProvider.class ), WRITE );
597599

598-
session.setLastBookmark( "TheBookmark" );
600+
session.setBookmark( "TheBookmark" );
599601

600602
assertEquals( "TheBookmark", session.lastBookmark() );
601603
}
602604

603605
@Test
604-
public void possibleToOverwriteBookmarkWithNull()
606+
public void testPassingNoBookmarkShouldRetainBookmark()
605607
{
606-
NetworkSession session = newSession( mock( ConnectionProvider.class ), WRITE );
607-
session.setLastBookmark( "TheBookmark" );
608-
609-
session.setLastBookmark( null );
610-
611-
assertNull( session.lastBookmark() );
608+
ConnectionProvider connectionProvider = mock( ConnectionProvider.class );
609+
PooledConnection connection = openConnectionMock();
610+
when( connectionProvider.acquireConnection( READ ) ).thenReturn( connection );
611+
NetworkSession session = newSession( connectionProvider, READ );
612+
session.setBookmark( "X" );
613+
session.beginTransaction();
614+
assertThat( session.lastBookmark(), equalTo( "X" ) );
612615
}
613616

617+
@SuppressWarnings( "deprecation" )
614618
@Test
615-
public void allowsToStartTransactionWithNullBookmark()
619+
public void testPassingNullBookmarkShouldRetainBookmark()
616620
{
617621
ConnectionProvider connectionProvider = mock( ConnectionProvider.class );
618622
PooledConnection connection = openConnectionMock();
619623
when( connectionProvider.acquireConnection( READ ) ).thenReturn( connection );
620624
NetworkSession session = newSession( connectionProvider, READ );
621-
session.setLastBookmark( "SomeUndesiredBookmark" );
622-
625+
session.setBookmark( "X" );
623626
session.beginTransaction( null );
624-
625-
assertNull( session.lastBookmark() );
627+
assertThat( session.lastBookmark(), equalTo( "X" ) );
626628
}
627629

628630
@Test
@@ -1096,7 +1098,7 @@ private static NetworkSession newSession( ConnectionProvider connectionProvider,
10961098
RetryLogic<RetryDecision> retryLogic, String bookmark )
10971099
{
10981100
NetworkSession session = new NetworkSession( connectionProvider, mode, retryLogic, DEV_NULL_LOGGING );
1099-
session.setLastBookmark( bookmark );
1101+
session.setBookmark( bookmark );
11001102
return session;
11011103
}
11021104

driver/src/test/java/org/neo4j/driver/internal/RoutingDriverBoltKitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,9 +548,9 @@ public void shouldSendAndReceiveBookmark() throws Exception
548548
StubServer writer = StubServer.start( "write_tx_with_bookmarks.script", 9007 );
549549

550550
try ( Driver driver = GraphDatabase.driver( "bolt+routing://127.0.0.1:9001", config );
551-
Session session = driver.session() )
551+
Session session = driver.session( "OldBookmark" ) )
552552
{
553-
try ( Transaction tx = session.beginTransaction( "OldBookmark" ) )
553+
try ( Transaction tx = session.beginTransaction() )
554554
{
555555
tx.run( "CREATE (n {name:'Bob'})" );
556556
tx.success();

driver/src/test/java/org/neo4j/driver/internal/RoutingDriverTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@ public void shouldRoundRobinAmongWriteServers()
316316
assertNotEquals( write3.address, write1.address );
317317
}
318318

319+
@SuppressWarnings( "deprecation" )
319320
@Test
320321
public void testTrustOnFirstUseNotCompatibleWithRoutingDriver()
321322
{
@@ -440,7 +441,7 @@ private static class NetworkSessionWithAddressFactory extends SessionFactoryImpl
440441
public Session newInstance( AccessMode mode, String bookmark )
441442
{
442443
NetworkSessionWithAddress session = new NetworkSessionWithAddress( connectionProvider, mode, logging );
443-
session.setLastBookmark( bookmark );
444+
session.setBookmark( bookmark );
444445
return session;
445446
}
446447
}

driver/src/test/java/org/neo4j/driver/v1/ConfigTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public void shouldDefaultToKnownCerts()
5151
assertEquals( authConfig.strategy(), Config.TrustStrategy.Strategy.TRUST_ALL_CERTIFICATES );
5252
}
5353

54+
@SuppressWarnings( "deprecation" )
5455
@Test
5556
public void shouldChangeToNewKnownCerts()
5657
{

driver/src/test/java/org/neo4j/driver/v1/GraphDatabaseTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public void boltPlusDiscoverySchemeShouldInstantiateClusterDriver() throws Excep
6969
assertThat( server.exitStatus(), equalTo( 0 ) );
7070
}
7171

72+
@SuppressWarnings( "deprecation" )
7273
@Test
7374
public void boltPlusDiscoverySchemeShouldNotSupportTrustOnFirstUse()
7475
{

driver/src/test/java/org/neo4j/driver/v1/integration/BookmarkIT.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,17 +103,20 @@ public void shouldThrowForInvalidBookmark()
103103
{
104104
String invalidBookmark = "hi, this is an invalid bookmark";
105105

106-
try
107-
{
108-
session.beginTransaction( invalidBookmark );
109-
fail( "Exception expected" );
110-
}
111-
catch ( Exception e )
112-
{
113-
assertThat( e, instanceOf( ClientException.class ) );
106+
try (Session session = driver.session( invalidBookmark )) {
107+
try
108+
{
109+
session.beginTransaction();
110+
fail( "Exception expected" );
111+
}
112+
catch ( Exception e )
113+
{
114+
assertThat( e, instanceOf( ClientException.class ) );
115+
}
114116
}
115117
}
116118

119+
@SuppressWarnings( "deprecation" )
117120
@Test
118121
public void shouldThrowForUnreachableBookmark()
119122
{

driver/src/test/java/org/neo4j/driver/v1/integration/CausalClusteringIT.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,8 @@ public String apply( Session session )
135135

136136
assertNotNull( bookmark );
137137

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

154154
try ( Driver driver = createDriver( leader.getBoltUri() ) )
155155
{
156-
inExpirableSession( driver, createWritableSession(), new Function<Session,Void>()
156+
inExpirableSession( driver, createWritableSession( null ), new Function<Session,Void>()
157157
{
158158
@Override
159159
public Void apply( Session session )
@@ -177,12 +177,12 @@ public Void apply( Session session )
177177

178178
assertNotNull( bookmark );
179179

180-
inExpirableSession( driver, createWritableSession(), new Function<Session,Void>()
180+
inExpirableSession( driver, createWritableSession( bookmark ), new Function<Session,Void>()
181181
{
182182
@Override
183183
public Void apply( Session session )
184184
{
185-
try ( Transaction tx = session.beginTransaction( bookmark ) )
185+
try ( Transaction tx = session.beginTransaction() )
186186
{
187187
tx.run( "CREATE (p:Person {name: {name} })", Values.parameters( "name", "Alistair" ) );
188188
tx.success();
@@ -249,11 +249,11 @@ public void beginTransactionThrowsForInvalidBookmark()
249249
ClusterMember leader = clusterRule.getCluster().leader();
250250

251251
try ( Driver driver = createDriver( leader.getBoltUri() );
252-
Session session = driver.session() )
252+
Session session = driver.session( invalidBookmark ) )
253253
{
254254
try
255255
{
256-
session.beginTransaction( invalidBookmark );
256+
session.beginTransaction();
257257
fail( "Exception expected" );
258258
}
259259
catch ( Exception e )
@@ -264,6 +264,7 @@ public void beginTransactionThrowsForInvalidBookmark()
264264
}
265265
}
266266

267+
@SuppressWarnings( "deprecation" )
267268
@Test
268269
public void beginTransactionThrowsForUnreachableBookmark()
269270
{
@@ -332,8 +333,8 @@ public String apply( Session session )
332333
}
333334
} );
334335

335-
try ( Session session2 = driver.session( AccessMode.READ );
336-
Transaction tx2 = session2.beginTransaction( bookmark ) )
336+
try ( Session session2 = driver.session( AccessMode.READ, bookmark );
337+
Transaction tx2 = session2.beginTransaction() )
337338
{
338339
Record record = tx2.run( "MATCH (n:Person) RETURN COUNT(*) AS count" ).next();
339340
tx2.success();
@@ -346,7 +347,7 @@ private int executeWriteAndReadThroughBolt( ClusterMember member ) throws Timeou
346347
{
347348
try ( Driver driver = createDriver( member.getRoutingUri() ) )
348349
{
349-
return inExpirableSession( driver, createWritableSession(), executeWriteAndRead() );
350+
return inExpirableSession( driver, createWritableSession( null ), executeWriteAndRead() );
350351
}
351352
}
352353

@@ -362,14 +363,14 @@ public Session apply( Driver driver )
362363
};
363364
}
364365

365-
private Function<Driver,Session> createWritableSession()
366+
private Function<Driver,Session> createWritableSession( final String bookmark )
366367
{
367368
return new Function<Driver,Session>()
368369
{
369370
@Override
370371
public Session apply( Driver driver )
371372
{
372-
return driver.session( AccessMode.WRITE );
373+
return driver.session( AccessMode.WRITE, bookmark );
373374
}
374375
};
375376
}

driver/src/test/java/org/neo4j/driver/v1/integration/SessionIT.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ public void shouldKillLongStreamingResult() throws Throwable
220220
}
221221
}
222222

223+
@SuppressWarnings( "deprecation" )
223224
@Test
224225
public void shouldNotAllowBeginTxIfResetFailureIsNotConsumed() throws Throwable
225226
{
@@ -246,6 +247,7 @@ public void shouldNotAllowBeginTxIfResetFailureIsNotConsumed() throws Throwable
246247
}
247248
}
248249

250+
@SuppressWarnings( "deprecation" )
249251
@Test
250252
public void shouldThrowExceptionOnCloseIfResetFailureIsNotConsumed() throws Throwable
251253
{
@@ -267,6 +269,7 @@ public void shouldThrowExceptionOnCloseIfResetFailureIsNotConsumed() throws Thro
267269
session.close();
268270
}
269271

272+
@SuppressWarnings( "deprecation" )
270273
@Test
271274
public void shouldBeAbleToBeginTxAfterResetFailureIsConsumed() throws Throwable
272275
{
@@ -310,6 +313,7 @@ public void shouldBeAbleToBeginTxAfterResetFailureIsConsumed() throws Throwable
310313
}
311314
}
312315

316+
@SuppressWarnings( "deprecation" )
313317
private void resetSessionAfterTimeout( final Session session, final int timeout )
314318
{
315319
new Thread( new Runnable()
@@ -333,6 +337,7 @@ public void run()
333337
} ).start();
334338
}
335339

340+
@SuppressWarnings( "deprecation" )
336341
@Test
337342
public void shouldAllowMoreStatementAfterSessionReset()
338343
{
@@ -351,6 +356,7 @@ public void shouldAllowMoreStatementAfterSessionReset()
351356
}
352357
}
353358

359+
@SuppressWarnings( "deprecation" )
354360
@Test
355361
public void shouldAllowMoreTxAfterSessionReset()
356362
{
@@ -376,6 +382,7 @@ public void shouldAllowMoreTxAfterSessionReset()
376382
}
377383
}
378384

385+
@SuppressWarnings( "deprecation" )
379386
@Test
380387
public void shouldMarkTxAsFailedAndDisallowRunAfterSessionReset()
381388
{
@@ -398,6 +405,7 @@ public void shouldMarkTxAsFailedAndDisallowRunAfterSessionReset()
398405
}
399406
}
400407

408+
@SuppressWarnings( "deprecation" )
401409
@Test
402410
public void shouldAllowMoreTxAfterSessionResetInTx()
403411
{

0 commit comments

Comments
 (0)