Skip to content

Commit 902c7ea

Browse files
injectivesgjmwoods
andauthored
Bolt refactoring (#1560)
* Bolt refactoring * Update driver/src/main/java/org/neo4j/driver/internal/bolt/pooledimpl/PooledBoltConnectionProvider.java Co-authored-by: Greg Woods <42248895+gjmwoods@users.noreply.github.com> * Updates --------- Co-authored-by: Greg Woods <42248895+gjmwoods@users.noreply.github.com>
1 parent bb3e535 commit 902c7ea

File tree

604 files changed

+29407
-31494
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

604 files changed

+29407
-31494
lines changed

driver/pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<rootDir>${project.basedir}/..</rootDir>
2121
<api.classes.directory>${basedir}/target/classes-without-jpms</api.classes.directory>
2222
<maven.compiler.xlint.extras>,-try</maven.compiler.xlint.extras>
23-
<surefire.jpms.args>--add-opens org.neo4j.driver/org.neo4j.driver.internal.util.messaging=ALL-UNNAMED</surefire.jpms.args>
23+
<surefire.jpms.args>--add-opens org.neo4j.driver/org.neo4j.driver.internal.bolt.basicimpl.util.messaging=ALL-UNNAMED</surefire.jpms.args>
2424
<failsafe.parallelizable.jpms.args>--add-opens org.neo4j.driver/org.neo4j.driver.internal.util=ALL-UNNAMED --add-opens org.neo4j.driver/org.neo4j.driver.internal.async=ALL-UNNAMED</failsafe.parallelizable.jpms.args>
2525
<blockhound.tag>blockHoundTest</blockhound.tag>
2626
<maven.deploy.skip>false</maven.deploy.skip>
@@ -118,6 +118,10 @@
118118
<groupId>ch.qos.logback</groupId>
119119
<artifactId>logback-classic</artifactId>
120120
</dependency>
121+
<dependency>
122+
<groupId>com.tngtech.archunit</groupId>
123+
<artifactId>archunit-junit5</artifactId>
124+
</dependency>
121125
</dependencies>
122126

123127
<build>

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,8 @@
3737
import org.neo4j.driver.async.AsyncSession;
3838
import org.neo4j.driver.exceptions.UnsupportedFeatureException;
3939
import org.neo4j.driver.internal.InternalNotificationConfig;
40+
import org.neo4j.driver.internal.RoutingSettings;
4041
import org.neo4j.driver.internal.SecuritySettings;
41-
import org.neo4j.driver.internal.async.pool.PoolSettings;
42-
import org.neo4j.driver.internal.cluster.RoutingSettings;
43-
import org.neo4j.driver.internal.handlers.pulln.FetchSizeUtil;
4442
import org.neo4j.driver.internal.retry.ExponentialBackoffRetryLogic;
4543
import org.neo4j.driver.net.ServerAddressResolver;
4644
import org.neo4j.driver.util.Experimental;
@@ -400,10 +398,10 @@ public boolean isTelemetryDisabled() {
400398
public static final class ConfigBuilder {
401399
private Logging logging = DEV_NULL_LOGGING;
402400
private boolean logLeakedSessions;
403-
private int maxConnectionPoolSize = PoolSettings.DEFAULT_MAX_CONNECTION_POOL_SIZE;
404-
private long idleTimeBeforeConnectionTest = PoolSettings.DEFAULT_IDLE_TIME_BEFORE_CONNECTION_TEST;
405-
private long maxConnectionLifetimeMillis = PoolSettings.DEFAULT_MAX_CONNECTION_LIFETIME;
406-
private long connectionAcquisitionTimeoutMillis = PoolSettings.DEFAULT_CONNECTION_ACQUISITION_TIMEOUT;
401+
private int maxConnectionPoolSize = 100;
402+
private long idleTimeBeforeConnectionTest = -1;
403+
private long maxConnectionLifetimeMillis = TimeUnit.HOURS.toMillis(1);
404+
private long connectionAcquisitionTimeoutMillis = TimeUnit.SECONDS.toMillis(60);
407405
private String userAgent = format("neo4j-java/%s", driverVersion());
408406
private final SecuritySettings.SecuritySettingsBuilder securitySettingsBuilder =
409407
new SecuritySettings.SecuritySettingsBuilder();
@@ -412,7 +410,7 @@ public static final class ConfigBuilder {
412410
private long maxTransactionRetryTimeMillis = ExponentialBackoffRetryLogic.DEFAULT_MAX_RETRY_TIME_MS;
413411
private ServerAddressResolver resolver;
414412
private MetricsAdapter metricsAdapter = MetricsAdapter.DEV_NULL;
415-
private long fetchSize = FetchSizeUtil.DEFAULT_FETCH_SIZE;
413+
private long fetchSize = 1000;
416414
private int eventLoopThreads = 0;
417415

418416
private NotificationConfig notificationConfig = NotificationConfig.defaultConfig();
@@ -644,7 +642,11 @@ public ConfigBuilder withRoutingTablePurgeDelay(long delay, TimeUnit unit) {
644642
* @return this builder
645643
*/
646644
public ConfigBuilder withFetchSize(long size) {
647-
this.fetchSize = FetchSizeUtil.assertValidFetchSize(size);
645+
if (size <= 0 && size != -1) {
646+
throw new IllegalArgumentException(String.format(
647+
"The record fetch size may not be 0 or negative. Illegal record fetch size: %s.", size));
648+
}
649+
this.fetchSize = size;
648650
return this;
649651
}
650652

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
* @since 1.0
3333
*/
3434
public final class GraphDatabase {
35+
3536
private GraphDatabase() {}
3637

3738
/**

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.neo4j.driver;
1818

1919
import static java.util.Objects.requireNonNull;
20-
import static org.neo4j.driver.internal.handlers.pulln.FetchSizeUtil.assertValidFetchSize;
2120

2221
import java.io.Serial;
2322
import java.io.Serializable;
@@ -374,7 +373,11 @@ public Builder withDatabase(String database) {
374373
* @return this builder
375374
*/
376375
public Builder withFetchSize(long size) {
377-
this.fetchSize = assertValidFetchSize(size);
376+
if (size <= 0 && size != -1) {
377+
throw new IllegalArgumentException(String.format(
378+
"The record fetch size may not be 0 or negative. Illegal record fetch size: %s.", size));
379+
}
380+
this.fetchSize = size;
378381
return this;
379382
}
380383

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@
4040
import java.util.stream.Stream;
4141
import org.neo4j.driver.exceptions.ClientException;
4242
import org.neo4j.driver.internal.AsValue;
43-
import org.neo4j.driver.internal.GqlStatusError;
4443
import org.neo4j.driver.internal.InternalIsoDuration;
4544
import org.neo4j.driver.internal.InternalPoint2D;
4645
import org.neo4j.driver.internal.InternalPoint3D;
46+
import org.neo4j.driver.internal.bolt.api.GqlStatusError;
4747
import org.neo4j.driver.internal.value.BooleanValue;
4848
import org.neo4j.driver.internal.value.BytesValue;
4949
import org.neo4j.driver.internal.value.DateTimeValue;

driver/src/main/java/org/neo4j/driver/exceptions/AuthTokenManagerExecutionException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import java.io.Serial;
2020
import org.neo4j.driver.AuthTokenManager;
21-
import org.neo4j.driver.internal.GqlStatusError;
21+
import org.neo4j.driver.internal.bolt.api.GqlStatusError;
2222

2323
/**
2424
* The {@link org.neo4j.driver.AuthTokenManager} execution has lead to an unexpected result.

driver/src/main/java/org/neo4j/driver/exceptions/AuthenticationException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.io.Serial;
2020
import java.util.Map;
2121
import org.neo4j.driver.Value;
22-
import org.neo4j.driver.internal.GqlStatusError;
22+
import org.neo4j.driver.internal.bolt.api.GqlStatusError;
2323
import org.neo4j.driver.util.Preview;
2424

2525
/**

driver/src/main/java/org/neo4j/driver/exceptions/AuthorizationExpiredException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.io.Serial;
2020
import java.util.Map;
2121
import org.neo4j.driver.Value;
22-
import org.neo4j.driver.internal.GqlStatusError;
22+
import org.neo4j.driver.internal.bolt.api.GqlStatusError;
2323
import org.neo4j.driver.util.Preview;
2424

2525
/**

driver/src/main/java/org/neo4j/driver/exceptions/ClientException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import java.io.Serial;
2020
import java.util.Map;
2121
import org.neo4j.driver.Value;
22-
import org.neo4j.driver.internal.GqlStatusError;
22+
import org.neo4j.driver.internal.bolt.api.GqlStatusError;
2323
import org.neo4j.driver.util.Preview;
2424

2525
/**

driver/src/main/java/org/neo4j/driver/exceptions/ConnectionReadTimeoutException.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class ConnectionReadTimeoutException extends ServiceUnavailableException
3939
* @deprecated superseded by the {@link ConnectionReadTimeoutException#INSTANCE} value
4040
*/
4141
@Deprecated
42+
@SuppressWarnings("DeprecatedIsStillUsed")
4243
public ConnectionReadTimeoutException(String message) {
4344
super(message);
4445
}

0 commit comments

Comments
 (0)