Skip to content
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

ArangoDB: Errors in a cluster environment #761

Closed
wajda opened this issue Aug 18, 2020 · 7 comments
Closed

ArangoDB: Errors in a cluster environment #761

wajda opened this issue Aug 18, 2020 · 7 comments

Comments

@wajda
Copy link
Contributor

wajda commented Aug 18, 2020

java.util.concurrent.CompletionException: com.arangodb.ArangoDBException: Response: 500, Error: 1521 - AQL: collection not known to traversal: 'operation'. please add 'WITH operation' as the first line in your AQL (while executing)

from the ArangoDB docs

From ArangoDB 3.1 onwards WITH is required for traversals in a clustered environment in order to avoid deadlocks.

@wajda wajda added the bug label Aug 18, 2020
@wajda
Copy link
Contributor Author

wajda commented Aug 18, 2020

@lokm01

@wajda wajda added this to the 0.5.4 milestone Aug 18, 2020
@lokm01
Copy link
Contributor

lokm01 commented Aug 18, 2020

Thanks 👍

@wajda
Copy link
Contributor Author

wajda commented Aug 18, 2020

@lokm01 could you please try the above PR? DB re-creation is required.

@lokm01
Copy link
Contributor

lokm01 commented Aug 19, 2020

So this loads the lineage list, but fails to load the lineage overview, see:

2020-08-19T08:58:38.927+02:00 | 06:58:38.927 [http-nio-8080-exec-9] ERROR z.c.a.s.common.logging.ErrorCode$ - ErrorCode(144120c9-4ffc-4aae-9f09-4aced4317111)
  | 2020-08-19T08:58:38.927+02:00 | java.util.concurrent.CompletionException: com.arangodb.ArangoDBException: Response: 500, Error: 1583 - AQL: in function 'SPLINE::EVENT_LINEAGE_OVERVIEW()': user function runtime error: ArangoError: AQL: illegal AQL transaction state (exception location: /work/ArangoDB/arangod/Cluster/ClusterTrxMethods.cpp:400). Please report this error to arangodb.com (while optimizing plan)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoStatement.execute (/usr/share/arangodb3/js/server/modules/@arangodb/arango-statement.js:84:16)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoDatabase._query (/usr/share/arangodb3/js/server/modules/@arangodb/arango-database.js:102:45)
  | 2020-08-19T08:58:38.927+02:00 | at Object.callback ((user function SPLINE::EVENT_LINEAGE_OVERVIEW):1:2216)
  | 2020-08-19T08:58:38.927+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:182:55)
  | 2020-08-19T08:58:38.927+02:00 | stacktrace of offending AQL function: ArangoError: in function 'SPLINE::EVENT_LINEAGE_OVERVIEW()': user function runtime error: ArangoError: AQL: illegal AQL transaction state (exception location: /work/ArangoDB/arangod/Cluster/ClusterTrxMethods.cpp:400). Please report this error to arangodb.com (while optimizing plan)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoStatement.execute (/usr/share/arangodb3/js/server/modules/@arangodb/arango-statement.js:84:16)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoDatabase._query (/usr/share/arangodb3/js/server/modules/@arangodb/arango-database.js:102:45)
  | 2020-08-19T08:58:38.927+02:00 | at Object.callback ((user function SPLINE::EVENT_LINEAGE_OVERVIEW):1:2216)
  | 2020-08-19T08:58:38.927+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:182:55)
  | 2020-08-19T08:58:38.927+02:00 | at THROW (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:45:13)
  | 2020-08-19T08:58:38.927+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:184:5) (while executing)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:925)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:913)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
  | 2020-08-19T08:58:38.927+02:00 | at com.arangodb.async.internal.velocystream.VstCommunicationAsync.lambda$execute$0(VstCommunicationAsync.java:66)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
  | 2020-08-19T08:58:38.927+02:00 | at com.arangodb.async.internal.velocystream.VstConnectionAsync.lambda$write$0(VstConnectionAsync.java:48)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  | 2020-08-19T08:58:38.927+02:00 | at com.arangodb.internal.velocystream.internal.MessageStore.consume(MessageStore.java:62)
  | 2020-08-19T08:58:38.927+02:00 | at com.arangodb.internal.velocystream.internal.ChunkStore.checkCompleteness(ChunkStore.java:65)
  | 2020-08-19T08:58:38.927+02:00 | at com.arangodb.internal.velocystream.internal.ChunkStore.checkCompleteness(ChunkStore.java:59)
  | 2020-08-19T08:58:38.927+02:00 | at com.arangodb.internal.velocystream.internal.VstConnection.lambda$open$0(VstConnection.java:151)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  | 2020-08-19T08:58:38.927+02:00 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  | 2020-08-19T08:58:38.927+02:00 | at java.lang.Thread.run(Thread.java:748)
  | 2020-08-19T08:58:38.927+02:00 | Caused by: com.arangodb.ArangoDBException: Response: 500, Error: 1583 - AQL: in function 'SPLINE::EVENT_LINEAGE_OVERVIEW()': user function runtime error: ArangoError: AQL: illegal AQL transaction state (exception location: /work/ArangoDB/arangod/Cluster/ClusterTrxMethods.cpp:400). Please report this error to arangodb.com (while optimizing plan)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoStatement.execute (/usr/share/arangodb3/js/server/modules/@arangodb/arango-statement.js:84:16)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoDatabase._query (/usr/share/arangodb3/js/server/modules/@arangodb/arango-database.js:102:45)
  | 2020-08-19T08:58:38.927+02:00 | at Object.callback ((user function SPLINE::EVENT_LINEAGE_OVERVIEW):1:2216)
  | 2020-08-19T08:58:38.927+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:182:55)
  | 2020-08-19T08:58:38.927+02:00 | stacktrace of offending AQL function: ArangoError: in function 'SPLINE::EVENT_LINEAGE_OVERVIEW()': user function runtime error: ArangoError: AQL: illegal AQL transaction state (exception location: /work/ArangoDB/arangod/Cluster/ClusterTrxMethods.cpp:400). Please report this error to arangodb.com (while optimizing plan)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoStatement.execute (/usr/share/arangodb3/js/server/modules/@arangodb/arango-statement.js:84:16)
  | 2020-08-19T08:58:38.927+02:00 | at ArangoDatabase._query (/usr/share/arangodb3/js/server/modules/@arangodb/arango-database.js:102:45)
  | 2020-08-19T08:58:38.927+02:00 | at Object.callback ((user function SPLINE::EVENT_LINEAGE_OVERVIEW):1:2216)
  | 2020-08-19T08:58:38.927+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:182:55)
  | 2020-08-19T08:58:38.927+02:00 | at THROW (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:45:13)
  | 2020-08-19T08:58:38.927+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:184:5) (while executing)
  | 2020-08-19T08:58:38.927+02:00 | ... 15 common frames omitted
  | 2020-08-19T10:07:47.198+02:00 | 08:07:47.198 [http-nio-8080-exec-4] ERROR z.c.a.s.common.logging.ErrorCode$ - ErrorCode(b139b818-b274-4ce5-abc6-a5a4baa4f5d8)
  | 2020-08-19T10:07:47.198+02:00 | java.util.concurrent.CompletionException: com.arangodb.ArangoDBException: Response: 500, Error: 1583 - AQL: in function 'SPLINE::EVENT_LINEAGE_OVERVIEW()': user function runtime error: ArangoError: AQL: illegal AQL transaction state (exception location: /work/ArangoDB/arangod/Cluster/ClusterTrxMethods.cpp:400). Please report this error to arangodb.com (while optimizing plan)
  | 2020-08-19T10:07:47.198+02:00 | at ArangoStatement.execute (/usr/share/arangodb3/js/server/modules/@arangodb/arango-statement.js:84:16)
  | 2020-08-19T10:07:47.198+02:00 | at ArangoDatabase._query (/usr/share/arangodb3/js/server/modules/@arangodb/arango-database.js:102:45)
  | 2020-08-19T10:07:47.198+02:00 | at Object.callback ((user function SPLINE::EVENT_LINEAGE_OVERVIEW):1:2216)
  | 2020-08-19T10:07:47.198+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:182:55)
  | 2020-08-19T10:07:47.198+02:00 | stacktrace of offending AQL function: ArangoError: in function 'SPLINE::EVENT_LINEAGE_OVERVIEW()': user function runtime error: ArangoError: AQL: illegal AQL transaction state (exception location: /work/ArangoDB/arangod/Cluster/ClusterTrxMethods.cpp:400). Please report this error to arangodb.com (while optimizing plan)
  | 2020-08-19T10:07:47.198+02:00 | at ArangoStatement.execute (/usr/share/arangodb3/js/server/modules/@arangodb/arango-statement.js:84:16)
  | 2020-08-19T10:07:47.198+02:00 | at ArangoDatabase._query (/usr/share/arangodb3/js/server/modules/@arangodb/arango-database.js:102:45)
  | 2020-08-19T10:07:47.198+02:00 | at Object.callback ((user function SPLINE::EVENT_LINEAGE_OVERVIEW):1:2216)
  | 2020-08-19T10:07:47.198+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:182:55)
  | 2020-08-19T10:07:47.198+02:00 | at THROW (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:45:13)
  | 2020-08-19T10:07:47.198+02:00 | at exports.FCALL_USER (/usr/share/arangodb3/js/server/modules/@arangodb/aql.js:184:5) (while executing)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:925)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:913)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
  | 2020-08-19T10:07:47.198+02:00 | at com.arangodb.async.internal.velocystream.VstCommunicationAsync.lambda$execute$0(VstCommunicationAsync.java:66)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
  | 2020-08-19T10:07:47.198+02:00 | at com.arangodb.async.internal.velocystream.VstConnectionAsync.lambda$write$0(VstConnectionAsync.java:48)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  | 2020-08-19T10:07:47.198+02:00 | at com.arangodb.internal.velocystream.internal.MessageStore.consume(MessageStore.java:62)
  | 2020-08-19T10:07:47.198+02:00 | at com.arangodb.internal.velocystream.internal.ChunkStore.checkCompleteness(ChunkStore.java:65)
  | 2020-08-19T10:07:47.198+02:00 | at com.arangodb.internal.velocystream.internal.ChunkStore.checkCompleteness(ChunkStore.java:59)
  | 2020-08-19T10:07:47.198+02:00 | at com.arangodb.internal.velocystream.internal.VstConnection.lambda$open$0(VstConnection.java:151)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  | 2020-08-19T10:07:47.198+02:00 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  | 2020-08-19T10:07:47.198+02:00 | at java.lang.Thread.run(Thread.java:748)

@wajda
Copy link
Contributor Author

wajda commented Aug 19, 2020

Seems like we have to find an alternative to AQL UDFs - arangodb/arangodb#11271

@wajda wajda changed the title ArangoDB: WITH keyword is required in a cluster environment ArangoDB: Errors in a cluster environment Aug 19, 2020
@wajda
Copy link
Contributor Author

wajda commented Aug 19, 2020

Foxx microservices seems to be a solution. We need to replace our UDFs with a Foxx service.

@wajda
Copy link
Contributor Author

wajda commented Aug 20, 2020

FYI - arangodb/arangodb-java-driver#357

@wajda wajda modified the milestones: 0.5.4, 0.5.5 Aug 20, 2020
wajda added a commit that referenced this issue Sep 4, 2020
wajda added a commit that referenced this issue Sep 4, 2020
wajda added a commit that referenced this issue Sep 7, 2020
…the version 0.5.5 now, so cannot change an older migration
wajda added a commit that referenced this issue Sep 7, 2020
wajda added a commit that referenced this issue Sep 8, 2020
…rvices (#763)

* spline #761 ArangoDB: WITH keyword is required in a cluster environment

* spline #684 Add Foxx service

* spline #684 Call Foxx service

* spline #761 ArangoDB: Add missing WITH keywords in a Foxx service

* spline #761 ArangoDB: Remove Spline AQL UDFs

* spline #761 Upgrade ArangoDB driver + method to register foxx service programmatically

* spline #761 Register Foxx services / migration

* spline #761 Undo changes to 0.5.0-0.5.4 migration script as we're in the version 0.5.5 now, so cannot change an older migration

* spline #761 Remove redundant extension class
@wajda wajda self-assigned this Sep 17, 2020
@wajda wajda closed this as completed Sep 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

2 participants