From e9824c3790bcb34495890a8b5f11885ba1c9d882 Mon Sep 17 00:00:00 2001 From: Michele Rastelli <michele@arangodb.com> Date: Fri, 5 Jan 2024 14:04:53 +0100 Subject: [PATCH] fixed closing AQL cursor --- .../main/java/com/arangodb/internal/ArangoDatabaseImpl.java | 6 +++--- .../java/com/arangodb/internal/cursor/ArangoCursorImpl.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java b/core/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java index d4ac43f7c..af319c479 100644 --- a/core/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java +++ b/core/src/main/java/com/arangodb/internal/ArangoDatabaseImpl.java @@ -202,8 +202,9 @@ public <T> ArangoCursor<T> cursor(final String cursorId, final Class<T> type, fi private <T> ArangoCursor<T> createCursor( final CursorEntity<T> result, final Class<T> type, - final AqlQueryOptions options, + final AqlQueryOptions opts, final HostHandle hostHandle) { + AqlQueryOptions options = opts != null ? opts : new AqlQueryOptions(); final ArangoCursorExecute<T> execute = new ArangoCursorExecute<T>() { @Override @@ -223,8 +224,7 @@ public void close(final String id) { } } }; - - return new ArangoCursorImpl<>(execute, type, result); + return new ArangoCursorImpl<>(execute, type, result, options.getAllowRetry()); } @Override diff --git a/core/src/main/java/com/arangodb/internal/cursor/ArangoCursorImpl.java b/core/src/main/java/com/arangodb/internal/cursor/ArangoCursorImpl.java index be5d24b28..0c279f15b 100644 --- a/core/src/main/java/com/arangodb/internal/cursor/ArangoCursorImpl.java +++ b/core/src/main/java/com/arangodb/internal/cursor/ArangoCursorImpl.java @@ -44,14 +44,14 @@ public class ArangoCursorImpl<T> implements ArangoCursor<T> { private final boolean allowRetry; public ArangoCursorImpl(final ArangoCursorExecute<T> execute, - final Class<T> type, final CursorEntity<T> result) { + final Class<T> type, final CursorEntity<T> result, final Boolean allowRetry) { super(); this.execute = execute; this.type = type; id = result.getId(); pontentialDirtyRead = result.isPotentialDirtyRead(); iterator = new ArangoCursorIterator<>(id, execute, result); - this.allowRetry = result.getNextBatchId() != null; + this.allowRetry = Boolean.TRUE.equals(allowRetry); } @Override