Skip to content

Commit 4a9dbd9

Browse files
author
Zhen
committed
Fix routing context requirement
1 parent 47deff5 commit 4a9dbd9

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class RoutingSettings
2929
final long retryTimeoutDelay;
3030
final Value routingParameters;
3131

32-
public RoutingSettings( int maxRoutingFailures, long retryTimeoutDelay, Map<String, String> routingParameters )
32+
public RoutingSettings( int maxRoutingFailures, long retryTimeoutDelay, Map<String, Object> routingParameters )
3333
{
3434
this.maxRoutingFailures = maxRoutingFailures;
3535
this.retryTimeoutDelay = retryTimeoutDelay;

driver/src/main/java/org/neo4j/driver/v1/Config.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.neo4j.driver.v1.util.Immutable;
3434
import org.neo4j.driver.v1.util.Resource;
3535

36+
import static java.util.Collections.emptyMap;
3637
import static org.neo4j.driver.v1.Config.TrustStrategy.trustAllCertificates;
3738

3839
/**
@@ -75,7 +76,7 @@ public class Config
7576
private final int connectionTimeoutMillis;
7677
private final RetrySettings retrySettings;
7778

78-
private final Map<String, String> routingContext;
79+
private final Map<String, Object> routingContext;
7980

8081
private Config( ConfigBuilder builder)
8182
{
@@ -210,7 +211,7 @@ public static class ConfigBuilder
210211
private long routingRetryDelayMillis = TimeUnit.SECONDS.toMillis( 5 );
211212
private int connectionTimeoutMillis = (int) TimeUnit.SECONDS.toMillis( 5 );
212213
private RetrySettings retrySettings = RetrySettings.DEFAULT;
213-
private Map<String,String> routingContext = null;
214+
private Map<String,Object> routingContext = emptyMap();
214215

215216
private ConfigBuilder() {}
216217

@@ -488,7 +489,7 @@ public ConfigBuilder withMaxTransactionRetryTime( long value, TimeUnit unit )
488489
* @since 1.3
489490
* @return this builder
490491
*/
491-
public ConfigBuilder withRoutingContext( Map<String, String> context )
492+
public ConfigBuilder withRoutingContext( Map<String, Object> context )
492493
{
493494
this.routingContext = context;
494495
return this;

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@
2222
import org.junit.Test;
2323

2424
import java.net.URI;
25+
import java.util.Collections;
2526
import java.util.List;
27+
import java.util.Map;
2628
import java.util.concurrent.Callable;
2729
import java.util.concurrent.CountDownLatch;
2830
import java.util.concurrent.ExecutorService;
@@ -106,7 +108,7 @@ public void sessionCreationShouldFailIfCallingDiscoveryProcedureOnEdgeServer() t
106108
catch ( ServiceUnavailableException ex )
107109
{
108110
assertThat( ex.getMessage(), containsString(
109-
"Failed to run 'Statement{text='CALL dbms.cluster.routing.getServers', parameters={}}' on server." ) );
111+
"Failed to run 'Statement{text='CALL dbms.cluster.routing" ) );
110112
}
111113
}
112114

@@ -219,7 +221,8 @@ public void shouldDropBrokenOldSessions() throws Exception
219221

220222
URI routingUri = cluster.leader().getRoutingUri();
221223
AuthToken auth = clusterRule.getDefaultAuthToken();
222-
RoutingSettings routingSettings = new RoutingSettings( 1, TimeUnit.SECONDS.toMillis( 5 ), null );
224+
RoutingSettings routingSettings = new RoutingSettings( 1,
225+
TimeUnit.SECONDS.toMillis( 5 ), emptyRoutingContext() );
223226
RetrySettings retrySettings = RetrySettings.DEFAULT;
224227

225228
try ( Driver driver = driverFactory.newInstance( routingUri, auth, routingSettings, retrySettings, config ) )
@@ -425,11 +428,17 @@ public Logger getLog( String name )
425428

426429
Config config = Config.build()
427430
.withLogging( devNullLogging )
431+
.withRoutingContext( emptyRoutingContext() )
428432
.toConfig();
429433

430434
return GraphDatabase.driver( boltUri, clusterRule.getDefaultAuthToken(), config );
431435
}
432436

437+
public static Map<String, Object> emptyRoutingContext()
438+
{
439+
return Collections.singletonMap( "context", (Object)Collections.emptyMap() );
440+
}
441+
433442
private static void createNodesInDifferentThreads( int count, final Driver driver ) throws Exception
434443
{
435444
final CountDownLatch beforeRunLatch = new CountDownLatch( count );

driver/src/test/java/org/neo4j/driver/v1/stress/CausalClusteringStressIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import org.neo4j.driver.v1.Transaction;
5353
import org.neo4j.driver.v1.exceptions.ClientException;
5454
import org.neo4j.driver.v1.exceptions.SecurityException;
55+
import org.neo4j.driver.v1.integration.CausalClusteringIT;
5556
import org.neo4j.driver.v1.types.Node;
5657
import org.neo4j.driver.v1.util.DaemonThreadFactory;
5758
import org.neo4j.driver.v1.util.cc.LocalOrRemoteClusterRule;
@@ -480,7 +481,8 @@ public void execute( Context context )
480481
Logger logger = mock( Logger.class );
481482
Logging logging = mock( Logging.class );
482483
when( logging.getLog( anyString() ) ).thenReturn( logger );
483-
Config config = Config.build().withLogging( logging ).toConfig();
484+
Config config = Config.build().withLogging( logging )
485+
.withRoutingContext( CausalClusteringIT.emptyRoutingContext() ).toConfig();
484486

485487
try
486488
{

0 commit comments

Comments
 (0)