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 ArangoCursor cursor(final String cursorId, final Class type, fi private ArangoCursor createCursor( final CursorEntity result, final Class type, - final AqlQueryOptions options, + final AqlQueryOptions opts, final HostHandle hostHandle) { + AqlQueryOptions options = opts != null ? opts : new AqlQueryOptions(); final ArangoCursorExecute execute = new ArangoCursorExecute() { @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 implements ArangoCursor { private final boolean allowRetry; public ArangoCursorImpl(final ArangoCursorExecute execute, - final Class type, final CursorEntity result) { + final Class type, final CursorEntity 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