Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 4 additions & 14 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,6 @@ commands:
command: mvn -s .circleci/maven-release-settings.xml -Dmaven.test.skip deploy

executors:
j17:
docker:
- image: 'cimg/openjdk:17.0'
j21:
docker:
- image: 'cimg/openjdk:21.0'
Expand Down Expand Up @@ -418,7 +415,7 @@ jobs:
- store_cache

deploy:
executor: 'j17'
executor: 'j21'
steps:
- timeout:
duration: '30m'
Expand Down Expand Up @@ -500,16 +497,13 @@ workflows:
matrix:
parameters:
jdk:
- 'j17'
- 'j21'
- 'j25'
filters:
tags:
only: /^v.*/
branches:
only:
- main
- next
ignore: /.*/
- test:
name: test-jackson-<<matrix.args>>
matrix:
Expand All @@ -529,9 +523,7 @@ workflows:
tags:
only: /^v.*/
branches:
only:
- main
- next
ignore: /.*/
- test:
name: test-native-ssl=<<matrix.ssl>>-<<matrix.graalvm-version>>
matrix:
Expand All @@ -550,9 +542,7 @@ workflows:
tags:
only: /^v.*/
branches:
only:
- main
- next
ignore: /.*/
- test-shaded:
name: test-native-shaded-ssl=<<matrix.ssl>>-<<matrix.graalvm-version>>
matrix:
Expand Down
2 changes: 2 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a

## [Unreleased]

- updated Vert.x to version 5.0

## [7.25.0] - 2026-01-14

- added SSL configuration from files (#623, DE-505)
Expand Down
2 changes: 1 addition & 1 deletion core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.arangodb</groupId>
<artifactId>arangodb-java-driver-parent</artifactId>
<version>7.25.0</version>
<version>8.0.0-SNAPSHOT</version>
</parent>

<name>core</name>
Expand Down
28 changes: 0 additions & 28 deletions core/src/main/java/com/arangodb/ArangoCollection.java
Original file line number Diff line number Diff line change
Expand Up @@ -625,19 +625,6 @@ <T> MultiDocumentEntity<DocumentDeleteEntity<T>> deleteDocuments(
*/
IndexEntity ensureGeoIndex(Iterable<String> fields, GeoIndexOptions options);

/**
* Creates a fulltext index for the collection, if it does not already exist.
*
* @param fields A list of attribute paths
* @param options Additional options, can be null
* @return information about the index
* @see <a href="https://docs.arango.ai/arangodb/stable/develop/http-api/indexes/fulltext/#create-a-full-text-index">API
* Documentation</a>
* @deprecated since ArangoDB 3.10, use ArangoSearch or Inverted indexes instead.
*/
@Deprecated
IndexEntity ensureFulltextIndex(Iterable<String> fields, FulltextIndexOptions options);

/**
* Creates a ttl index for the collection, if it does not already exist.
*
Expand All @@ -649,21 +636,6 @@ <T> MultiDocumentEntity<DocumentDeleteEntity<T>> deleteDocuments(
*/
IndexEntity ensureTtlIndex(Iterable<String> fields, TtlIndexOptions options);

/**
* Creates a ZKD multi-dimensional index for the collection, if it does not already exist.
* Note that zkd indexes are an experimental feature in ArangoDB 3.9.
*
* @param fields A list of attribute paths
* @param options Additional options, can be null
* @return information about the index
* @see <a href="https://docs.arango.ai/arangodb/stable/develop/http-api/indexes/multi-dimensional/#create-a-multi-dimensional-index">API Documentation</a>
* @since ArangoDB 3.9
* @deprecated since ArangoDB 3.12, use {@link #ensureMDIndex(Iterable, MDIndexOptions)} or
* {@link #ensureMDPrefixedIndex(Iterable, MDPrefixedIndexOptions)} instead.
*/
@Deprecated
IndexEntity ensureZKDIndex(Iterable<String> fields, ZKDIndexOptions options);

/**
* Creates a multi-dimensional index for the collection, if it does not already exist.
*
Expand Down
15 changes: 0 additions & 15 deletions core/src/main/java/com/arangodb/ArangoCollectionAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -292,26 +292,11 @@ <T> CompletableFuture<MultiDocumentEntity<DocumentDeleteEntity<T>>> deleteDocume
*/
CompletableFuture<IndexEntity> ensureGeoIndex(Iterable<String> fields, GeoIndexOptions options);

/**
* Asynchronous version of {@link ArangoCollection#ensureFulltextIndex(Iterable, FulltextIndexOptions)}
*/
@Deprecated
CompletableFuture<IndexEntity> ensureFulltextIndex(Iterable<String> fields, FulltextIndexOptions options);

/**
* Asynchronous version of {@link ArangoCollection#ensureTtlIndex(Iterable, TtlIndexOptions)}
*/
CompletableFuture<IndexEntity> ensureTtlIndex(Iterable<String> fields, TtlIndexOptions options);

/**
* Asynchronous version of {@link ArangoCollection#ensureZKDIndex(Iterable, ZKDIndexOptions)}
*
* @deprecated since ArangoDB 3.12, use {@link #ensureMDIndex(Iterable, MDIndexOptions)} or
* {@link #ensureMDPrefixedIndex(Iterable, MDPrefixedIndexOptions)} instead.
*/
@Deprecated
CompletableFuture<IndexEntity> ensureZKDIndex(Iterable<String> fields, ZKDIndexOptions options);

/**
* Asynchronous version of {@link ArangoCollection#ensureMDIndex(Iterable, MDIndexOptions)}
*/
Expand Down
63 changes: 8 additions & 55 deletions core/src/main/java/com/arangodb/ArangoDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
import javax.annotation.concurrent.ThreadSafe;
import javax.net.ssl.SSLContext;
import java.util.*;
import java.util.concurrent.Executor;

/**
* Central access point for applications to communicate with an ArangoDB server.
Expand Down Expand Up @@ -70,8 +69,7 @@ public interface ArangoDB extends ArangoSerdeAccessor {
void shutdown();

/**
* Updates the JWT used for requests authorization. It does not change already existing VST connections, since VST
* connections are authenticated during the initialization phase.
* Updates the JWT used for requests authorization.
*
* @param jwt token to use
*/
Expand Down Expand Up @@ -613,18 +611,7 @@ public Builder verifyHost(final Boolean verifyHost) {
}

/**
* Sets the chunk size when {@link Protocol#VST} is used.
*
* @param chunkSize size of a chunk in bytes
* @return {@link ArangoDB.Builder}
*/
public Builder chunkSize(final Integer chunkSize) {
config.setChunkSize(chunkSize);
return this;
}

/**
* Set whether to use requests pipelining in HTTP/1.1 ({@link Protocol#HTTP_JSON} or {@link Protocol#HTTP_VPACK}).
* Set whether to use requests pipelining in HTTP/1.1 ({@link Protocol#HTTP_1_1}).
*
* @param pipelining {@code true} if enabled
* @return {@link ArangoDB.Builder}
Expand Down Expand Up @@ -664,11 +651,8 @@ public Builder initialWindowSize(final Integer initialWindowSize) {
* </p>
*
* <pre>
* {@link Protocol#VST} == 1
* {@link Protocol#HTTP_JSON} == 20
* {@link Protocol#HTTP_VPACK} == 20
* {@link Protocol#HTTP2_JSON} == 1
* {@link Protocol#HTTP2_VPACK} == 1
* {@link Protocol#HTTP_1_1} == 20
* {@link Protocol#HTTP_2} == 1
* </pre>
*
* @param maxConnections max number of connections
Expand All @@ -692,25 +676,10 @@ public Builder connectionTtl(final Long connectionTtl) {
}

/**
* Set the keep-alive interval for VST connections. If set, every VST connection will perform a no-op request
* every {@code keepAliveInterval} seconds, to avoid to be closed due to inactivity by the server (or by the
* external environment, eg. firewall, intermediate routers, operating system).
*
* @param keepAliveInterval interval in seconds
* @return {@link ArangoDB.Builder}
*/
public Builder keepAliveInterval(final Integer keepAliveInterval) {
config.setKeepAliveInterval(keepAliveInterval);
return this;
}

/**
* Whether the driver should acquire a list of available coordinators in an ArangoDB cluster or a single
* server with active failover. In case of Active-Failover deployment set to {@code true} to enable automatic
* master discovery.
* Whether the driver should acquire a list of available coordinators in an ArangoDB cluster.
*
* <p>
* The host list will be used for failover and load balancing.
* The host list will be used for load balancing.
* </p>
*
* @param acquireHostList whether automatically acquire a list of available hosts (default: false)
Expand All @@ -733,8 +702,7 @@ public Builder acquireHostListInterval(final Integer acquireHostListInterval) {
}

/**
* Sets the load balancing strategy to be used in an ArangoDB cluster setup. In case of Active-Failover
* deployment set to {@link LoadBalancingStrategy#NONE} or not set at all, since that would be the default.
* Sets the load balancing strategy to be used in an ArangoDB cluster setup.
*
* @param loadBalancingStrategy the load balancing strategy to be used (default:
* {@link LoadBalancingStrategy#NONE}
Expand Down Expand Up @@ -790,20 +758,6 @@ public Builder serdeProviderClass(final Class<? extends ArangoSerdeProvider> ser
return this;
}

/**
* Sets the downstream async executor that will be used to consume the responses of the async API, that are returned
* as {@link java.util.concurrent.CompletableFuture}
*
* @param executor async downstream executor
* @return {@link ArangoDB.Builder}
* @deprecated for removal. To consume the responses in a custom executor use async CompletableFuture methods.
*/
@Deprecated
public Builder asyncExecutor(final Executor executor) {
config.setAsyncExecutor(executor);
return this;
}

/**
* Sets the {@code content-encoding} and {@code accept-encoding} to use for HTTP requests and the related
* algorithm to encode and decode the transferred data. (default: {@link Compression#NONE})
Expand Down Expand Up @@ -896,8 +850,7 @@ protected HostHandler createHostHandler(@UnstableApi final HostResolver hostReso
}

LOG.debug("HostHandler is {}", hostHandler.getClass().getSimpleName());

return new DirtyReadHostHandler(hostHandler, new RoundRobinHostHandler(hostResolver));
return hostHandler;
}

@UnstableApi
Expand Down
3 changes: 1 addition & 2 deletions core/src/main/java/com/arangodb/ArangoDBAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ public interface ArangoDBAsync extends ArangoSerdeAccessor {
void shutdown();

/**
* Updates the JWT used for requests authorization. It does not change already existing VST connections, since VST
* connections are authenticated during the initialization phase.
* Updates the JWT used for requests authorization.
*
* @param jwt token to use
*/
Expand Down
33 changes: 0 additions & 33 deletions core/src/main/java/com/arangodb/ArangoDBException.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,39 +57,6 @@ public ArangoDBException(final String message, final Integer responseCode) {
this.requestId = null;
}

/**
* @deprecated use {@link com.arangodb.ArangoDBException#of(java.lang.Throwable)} instead
*/
@Deprecated
public ArangoDBException(final Throwable cause) {
super(cause);
this.entity = null;
this.responseCode = null;
this.requestId = null;
}

/**
* @deprecated use {@link com.arangodb.ArangoDBException#of(String, Throwable)} instead
*/
@Deprecated
public ArangoDBException(final String message, final Throwable cause) {
super(message, cause);
this.entity = null;
this.responseCode = null;
this.requestId = null;
}

/**
* @deprecated use {@link com.arangodb.ArangoDBException#of(Throwable, Long)} instead
*/
@Deprecated
public ArangoDBException(Throwable cause, long requestId) {
super(cause);
this.entity = null;
this.responseCode = null;
this.requestId = requestId;
}

private ArangoDBException(
String message,
Throwable cause,
Expand Down
Loading