Skip to content

Commit 38c3738

Browse files
authored
Merge pull request #693 from zhenlineo/4.0-create-driver-from-config
Ensured the driver config is used consistently in cluster stress IT
2 parents ba25055 + 33e49ed commit 38c3738

File tree

8 files changed

+19
-68
lines changed

8 files changed

+19
-68
lines changed

driver/src/main/java/org/neo4j/driver/GraphDatabase.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import org.neo4j.driver.exceptions.ServiceUnavailableException;
2424
import org.neo4j.driver.internal.DriverFactory;
25-
import org.neo4j.driver.internal.Scheme;
2625
import org.neo4j.driver.internal.SecuritySettings;
2726
import org.neo4j.driver.internal.cluster.RoutingSettings;
2827
import org.neo4j.driver.internal.retry.RetrySettings;
@@ -136,7 +135,6 @@ public static Driver driver( URI uri, AuthToken authToken, Config config )
136135
RoutingSettings routingSettings = config.routingSettings();
137136
RetrySettings retrySettings = config.retrySettings();
138137
SecuritySettings securitySettings = config.securitySettings();
139-
Scheme.validateScheme( uri.getScheme() );
140138
SecurityPlan securityPlan = securitySettings.createSecurityPlan( uri.getScheme() );
141139
return new DriverFactory().newInstance( uri, authToken, routingSettings, retrySettings, config, securityPlan );
142140
}

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.neo4j.driver.Driver;
3232
import org.neo4j.driver.Logger;
3333
import org.neo4j.driver.Logging;
34-
import org.neo4j.driver.exceptions.ClientException;
3534
import org.neo4j.driver.internal.async.connection.BootstrapFactory;
3635
import org.neo4j.driver.internal.async.connection.ChannelConnector;
3736
import org.neo4j.driver.internal.async.connection.ChannelConnectorImpl;
@@ -55,15 +54,13 @@
5554
import org.neo4j.driver.internal.util.Futures;
5655
import org.neo4j.driver.net.ServerAddressResolver;
5756

58-
import static java.lang.String.format;
5957
import static org.neo4j.driver.internal.Scheme.isRoutingScheme;
6058
import static org.neo4j.driver.internal.cluster.IdentityResolver.IDENTITY_RESOLVER;
6159
import static org.neo4j.driver.internal.metrics.MetricsProvider.METRICS_DISABLED_PROVIDER;
6260
import static org.neo4j.driver.internal.util.ErrorUtil.addSuppressed;
6361

6462
public class DriverFactory
6563
{
66-
6764
public final Driver newInstance( URI uri, AuthToken authToken, RoutingSettings routingSettings,
6865
RetrySettings retrySettings, Config config, SecurityPlan securityPlan )
6966
{

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ private boolean isCustomized()
6161

6262
public SecurityPlan createSecurityPlan( String uriScheme )
6363
{
64+
Scheme.validateScheme( uriScheme );
6465
try
6566
{
6667
if ( isSecurityScheme( uriScheme ) )
@@ -160,4 +161,4 @@ public SecuritySettings build()
160161
return isCustomized ? new SecuritySettings( encrypted, trustStrategy ) : SecuritySettings.DEFAULT;
161162
}
162163
}
163-
}
164+
}

driver/src/test/java/org/neo4j/driver/integration/ConnectionPoolIT.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,17 @@
2828
import java.util.concurrent.CountDownLatch;
2929
import java.util.concurrent.TimeUnit;
3030

31-
import org.neo4j.driver.internal.cluster.RoutingSettings;
32-
import org.neo4j.driver.internal.security.SecurityPlanImpl;
33-
import org.neo4j.driver.internal.util.io.ChannelTrackingDriverFactory;
34-
import org.neo4j.driver.internal.util.DriverFactoryWithOneEventLoopThread;
35-
import org.neo4j.driver.internal.util.FakeClock;
3631
import org.neo4j.driver.Config;
3732
import org.neo4j.driver.Driver;
3833
import org.neo4j.driver.GraphDatabase;
39-
import org.neo4j.driver.Session;
4034
import org.neo4j.driver.Result;
35+
import org.neo4j.driver.Session;
4136
import org.neo4j.driver.Transaction;
4237
import org.neo4j.driver.exceptions.ClientException;
38+
import org.neo4j.driver.internal.cluster.RoutingSettings;
39+
import org.neo4j.driver.internal.security.SecurityPlanImpl;
40+
import org.neo4j.driver.internal.util.FakeClock;
41+
import org.neo4j.driver.internal.util.io.ChannelTrackingDriverFactory;
4342
import org.neo4j.driver.util.DatabaseExtension;
4443
import org.neo4j.driver.util.ParallelizableIT;
4544

@@ -142,9 +141,10 @@ void shouldRespectMaxConnectionPoolSize()
142141
Config config = Config.builder()
143142
.withMaxConnectionPoolSize( maxPoolSize )
144143
.withConnectionAcquisitionTimeout( 542, TimeUnit.MILLISECONDS )
144+
.withEventLoopThreads( 1 )
145145
.build();
146146

147-
driver = new DriverFactoryWithOneEventLoopThread().newInstance( neo4j.uri(), neo4j.authToken(), config );
147+
driver = GraphDatabase.driver( neo4j.uri(), neo4j.authToken(), config );
148148

149149
ClientException e = assertThrows( ClientException.class, () -> startAndCloseTransactions( driver, maxPoolSize + 1 ) );
150150
assertThat( e, is( connectionAcquisitionTimeoutError( 542 ) ) );

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
import org.neo4j.driver.internal.security.SecurityPlanImpl;
5959
import org.neo4j.driver.internal.util.DisabledOnNeo4jWith;
6060
import org.neo4j.driver.internal.util.DriverFactoryWithFixedRetryLogic;
61-
import org.neo4j.driver.internal.util.DriverFactoryWithOneEventLoopThread;
6261
import org.neo4j.driver.internal.util.EnabledOnNeo4jWith;
6362
import org.neo4j.driver.reactive.RxResult;
6463
import org.neo4j.driver.reactive.RxSession;
@@ -880,9 +879,10 @@ void shouldNotRetryOnConnectionAcquisitionTimeout()
880879
.withMaxConnectionPoolSize( maxPoolSize )
881880
.withConnectionAcquisitionTimeout( 0, TimeUnit.SECONDS )
882881
.withMaxTransactionRetryTime( 42, TimeUnit.DAYS ) // retry for a really long time
882+
.withEventLoopThreads( 1 )
883883
.build();
884884

885-
driver = new DriverFactoryWithOneEventLoopThread().newInstance( neo4j.uri(), neo4j.authToken(), config );
885+
driver = GraphDatabase.driver( neo4j.uri(), neo4j.authToken(), config );
886886

887887
for ( int i = 0; i < maxPoolSize; i++ )
888888
{

driver/src/test/java/org/neo4j/driver/internal/util/DriverFactoryWithOneEventLoopThread.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

driver/src/test/java/org/neo4j/driver/util/cc/ClusterDrivers.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.neo4j.driver.AuthTokens;
2626
import org.neo4j.driver.Config;
2727
import org.neo4j.driver.Driver;
28-
import org.neo4j.driver.internal.util.DriverFactoryWithOneEventLoopThread;
28+
import org.neo4j.driver.GraphDatabase;
2929
import org.neo4j.driver.util.cc.ClusterMemberRoleDiscoveryFactory.ClusterMemberRoleDiscovery;
3030

3131
import static org.neo4j.driver.internal.logging.DevNullLogging.DEV_NULL_LOGGING;
@@ -71,8 +71,7 @@ public void close()
7171

7272
private Driver createDriver( ClusterMember member )
7373
{
74-
DriverFactoryWithOneEventLoopThread factory = new DriverFactoryWithOneEventLoopThread();
75-
return factory.newInstance( member.getBoltUri(), AuthTokens.basic( user, password ), driverConfig() );
74+
return GraphDatabase.driver( member.getBoltUri(), AuthTokens.basic( user, password ), driverConfig() );
7675
}
7776

7877
private static Config driverConfig()
@@ -82,6 +81,7 @@ private static Config driverConfig()
8281
.withoutEncryption()
8382
.withMaxConnectionPoolSize( 1 )
8483
.withConnectionLivenessCheckTimeout( 0, TimeUnit.MILLISECONDS )
84+
.withEventLoopThreads( 1 )
8585
.build();
8686
}
8787
}

driver/src/test/java/org/neo4j/driver/util/cc/LocalOrRemoteClusterExtension.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,9 @@
2929
import org.neo4j.driver.AuthTokens;
3030
import org.neo4j.driver.Config;
3131
import org.neo4j.driver.Driver;
32-
import org.neo4j.driver.internal.util.DriverFactoryWithOneEventLoopThread;
32+
import org.neo4j.driver.GraphDatabase;
3333
import org.neo4j.driver.util.TestUtil;
3434

35-
import static org.neo4j.driver.Config.defaultConfig;
3635
import static org.neo4j.driver.internal.Scheme.NEO4J_URI_SCHEME;
3736

3837
public class LocalOrRemoteClusterExtension implements BeforeAllCallback, AfterEachCallback, AfterAllCallback
@@ -124,8 +123,10 @@ public void dumpClusterLogs()
124123

125124
private void deleteDataInRemoteCluster()
126125
{
127-
DriverFactoryWithOneEventLoopThread driverFactory = new DriverFactoryWithOneEventLoopThread();
128-
try ( Driver driver = driverFactory.newInstance( getClusterUri(), getAuthToken(), defaultConfig() ) )
126+
Config.ConfigBuilder builder = Config.builder();
127+
builder.withEventLoopThreads( 1 );
128+
129+
try ( Driver driver = GraphDatabase.driver( getClusterUri(), getAuthToken(), config( builder ).build() ) )
129130
{
130131
TestUtil.cleanDb( driver );
131132
}

0 commit comments

Comments
 (0)