Skip to content

Commit 74f1d0a

Browse files
author
Zhen Li
authored
Merge pull request #242 from pontusmelke/1.1-test-failure
Proper handling for empty result
2 parents 2ee85ff + 68b5fba commit 74f1d0a

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,12 @@ private boolean call( BoltServerAddress address, String procedureName, Consumer<
249249
session = sessionProvider.apply( acquire );
250250

251251
StatementResult records = session.run( format( "CALL %s", procedureName ) );
252+
//got a result but was empty
253+
if (!records.hasNext()) {
254+
forget( address );
255+
return false;
256+
}
257+
//consume the results
252258
while ( records.hasNext() )
253259
{
254260
recorder.accept( records.next() );

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,24 @@ public void shouldDiscoverNewServers() throws IOException, InterruptedException,
106106
assertThat( server.exitStatus(), equalTo( 0 ) );
107107
}
108108

109-
110109
@Test
111110
public void shouldHandleEmptyResponse() throws IOException, InterruptedException, StubServer.ForceKilled
112111
{
113112
// Given
114113
StubServer server = StubServer.start( "handle_empty_response.script" , 9001 );
115114
URI uri = URI.create( "bolt+routing://127.0.0.1:9001" );
116-
try ( RoutingDriver driver = (RoutingDriver) GraphDatabase.driver( uri, config ) )
115+
116+
// When
117+
try
117118
{
118-
Set<BoltServerAddress> servers = driver.routingServers();
119-
assertThat( servers, hasSize( 0 ) );
120-
assertFalse( driver.connectionPool().hasAddress( address( 9001 ) ) );
119+
GraphDatabase.driver( uri, config );
120+
fail();
121+
} catch ( ServiceUnavailableException e )
122+
{
123+
//ignore
121124
}
122125

123-
// Finally
126+
// Then
124127
assertThat( server.exitStatus(), equalTo( 0 ) );
125128
}
126129

0 commit comments

Comments
 (0)