Skip to content

Document thread safety #445

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 16, 2022
Merged
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
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,12 @@
<artifactId>jackson-dataformat-velocypack</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/ArangoCollection.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.arangodb.entity.*;
import com.arangodb.model.*;

import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;

/**
Expand All @@ -35,6 +36,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/collection.html">Documents API Documentation</a>
*/
@SuppressWarnings("UnusedReturnValue")
@ThreadSafe
public interface ArangoCollection extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/ArangoDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.annotation.concurrent.ThreadSafe;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import java.io.InputStream;
Expand All @@ -85,6 +86,7 @@
* @author Michele Rastelli
*/
@SuppressWarnings("UnusedReturnValue")
@ThreadSafe
public interface ArangoDB extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/ArangoDatabase.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import com.arangodb.model.arangosearch.AnalyzerDeleteOptions;
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;

import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;
import java.util.Map;

Expand All @@ -39,6 +40,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/aql-query.html">Query API Documentation</a>
*/
@SuppressWarnings("UnusedReturnValue")
@ThreadSafe
public interface ArangoDatabase extends ArangoSerializationAccessor {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/ArangoEdgeCollection.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,16 @@
import com.arangodb.entity.EdgeUpdateEntity;
import com.arangodb.model.*;

import javax.annotation.concurrent.ThreadSafe;

/**
* Interface for operations on ArangoDB edge collection level.
*
* @author Mark Vollmary
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial-edges.html">API Documentation</a>
*/
@SuppressWarnings("UnusedReturnValue")
@ThreadSafe
public interface ArangoEdgeCollection extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/ArangoGraph.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.arangodb.model.GraphCreateOptions;
import com.arangodb.model.VertexCollectionCreateOptions;

import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;

/**
Expand All @@ -33,6 +34,7 @@
* @author Mark Vollmary
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial.html">API Documentation</a>
*/
@ThreadSafe
public interface ArangoGraph extends ArangoSerializationAccessor {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/ArangoMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,15 @@

package com.arangodb;

import javax.annotation.concurrent.ThreadSafe;

/**
* Interface for accessing metrics.
*
* @author Michele Rastelli
* @since ArangoDB 3.9
*/
@ThreadSafe
public interface ArangoMetrics {
/**
* @return queue time metrics
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/ArangoSearch.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,16 @@
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
import com.arangodb.model.arangosearch.ArangoSearchPropertiesOptions;

import javax.annotation.concurrent.ThreadSafe;

/**
* Interface for operations on ArangoDB view level for ArangoSearch views.
*
* @author Mark Vollmary
* @see <a href="https://www.arangodb.com/docs/stable/http/views.html">View API Documentation</a>
* @since ArangoDB 3.4.0
*/
@ThreadSafe
public interface ArangoSearch extends ArangoView {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/ArangoSerializationAccessor.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,12 @@
import com.arangodb.internal.util.ArangoSerializationFactory.Serializer;
import com.arangodb.util.ArangoSerialization;

import javax.annotation.concurrent.ThreadSafe;

/**
* @author Mark Vollmary
*/
@ThreadSafe
public interface ArangoSerializationAccessor {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/ArangoVertexCollection.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,15 @@
import com.arangodb.entity.VertexUpdateEntity;
import com.arangodb.model.*;

import javax.annotation.concurrent.ThreadSafe;

/**
* Interface for operations on ArangoDB vertex collection level.
*
* @author Mark Vollmary
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial-vertices.html">API Documentation</a>
*/
@ThreadSafe
public interface ArangoVertexCollection extends ArangoSerializationAccessor {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/ArangoView.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

import com.arangodb.entity.ViewEntity;

import javax.annotation.concurrent.ThreadSafe;

/**
* Interface for operations on ArangoDB view level.
*
Expand All @@ -30,6 +32,7 @@
* @since ArangoDB 3.4.0
*/
@SuppressWarnings("UnusedReturnValue")
@ThreadSafe
public interface ArangoView extends ArangoSerializationAccessor {

/**
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/arangodb/QueueTimeMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@

import com.arangodb.model.QueueTimeSample;

import javax.annotation.concurrent.ThreadSafe;

/**
* Interface for accessing queue time latency metrics, reported by the "X-Arango-Queue-Time-Seconds" response header.
* This header contains the most recent request (de)queuing time (in seconds) as tracked by the server’s scheduler.
Expand All @@ -30,6 +32,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/general.html#overload-control">API Documentation</a>
* @since ArangoDB 3.9
*/
@ThreadSafe
public interface QueueTimeMetrics {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/async/ArangoCollectionAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.arangodb.entity.*;
import com.arangodb.model.*;

import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;
import java.util.concurrent.CompletableFuture;

Expand All @@ -36,6 +37,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/collection.html">Documents API Documentation</a>
*/
@SuppressWarnings("unused")
@ThreadSafe
public interface ArangoCollectionAsync extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/async/ArangoDBAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.annotation.concurrent.ThreadSafe;
import javax.net.ssl.SSLContext;
import java.io.InputStream;
import java.lang.annotation.Annotation;
Expand All @@ -70,6 +71,7 @@
*
* @author Mark Vollmary
*/
@ThreadSafe
public interface ArangoDBAsync extends ArangoSerializationAccessor {

void shutdown() throws ArangoDBException;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/async/ArangoDatabaseAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import com.arangodb.model.arangosearch.AnalyzerDeleteOptions;
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;

import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
Expand All @@ -42,6 +43,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/aql-query.html">Query API Documentation</a>
*/
@SuppressWarnings("unused")
@ThreadSafe
public interface ArangoDatabaseAsync extends ArangoSerializationAccessor {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.arangodb.entity.EdgeUpdateEntity;
import com.arangodb.model.*;

import javax.annotation.concurrent.ThreadSafe;
import java.util.concurrent.CompletableFuture;

/**
Expand All @@ -34,6 +35,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial-edges.html">API Documentation</a>
*/
@SuppressWarnings("unused")
@ThreadSafe
public interface ArangoEdgeCollectionAsync extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/async/ArangoGraphAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import com.arangodb.model.GraphCreateOptions;
import com.arangodb.model.VertexCollectionCreateOptions;

import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;
import java.util.concurrent.CompletableFuture;

Expand All @@ -36,6 +37,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial.html">API Documentation</a>
*/
@SuppressWarnings("unused")
@ThreadSafe
public interface ArangoGraphAsync extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/async/ArangoSearchAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
import com.arangodb.model.arangosearch.ArangoSearchPropertiesOptions;

import javax.annotation.concurrent.ThreadSafe;
import java.util.concurrent.CompletableFuture;

/**
Expand All @@ -34,6 +35,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/views.html">View API Documentation</a>
* @since ArangoDB 3.4.0
*/
@ThreadSafe
public interface ArangoSearchAsync extends ArangoViewAsync {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import com.arangodb.entity.VertexUpdateEntity;
import com.arangodb.model.*;

import javax.annotation.concurrent.ThreadSafe;
import java.util.concurrent.CompletableFuture;

/**
Expand All @@ -34,6 +35,7 @@
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial-vertices.html">API Documentation</a>
*/
@SuppressWarnings("unused")
@ThreadSafe
public interface ArangoVertexCollectionAsync extends ArangoSerializationAccessor {

/**
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/arangodb/async/ArangoViewAsync.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.arangodb.ArangoSerializationAccessor;
import com.arangodb.entity.ViewEntity;

import javax.annotation.concurrent.ThreadSafe;
import java.util.concurrent.CompletableFuture;

/**
Expand All @@ -33,6 +34,7 @@
* @since ArangoDB 3.4.0
*/
@SuppressWarnings("unused")
@ThreadSafe
public interface ArangoViewAsync extends ArangoSerializationAccessor {

/**
Expand Down