8000 [AQL Web Interface] v3.7.11 and v3.9.1 crashing on query · Issue #16279 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

[AQL Web Interface] v3.7.11 and v3.9.1 crashing on query #16279

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

Closed
mdascanbi opened this issue May 16, 2022 · 3 comments
Closed

[AQL Web Interface] v3.7.11 and v3.9.1 crashing on query #16279

mdascanbi opened this issue May 16, 2022 · 3 comments
Assignees
Labels
1 Bug 2 Fixed Resolution 3 AQL Query language related
Milestone

Comments

@mdascanbi
Copy link

My Environment

  • ArangoDB Version: v3.7.11 and v3.9.1
  • Deployment Mode: Single Server
  • Deployment Strategy: ArangoDB Starter in Docker and Kubernetes
  • Configuration: default
  • Infrastructure: AWS
  • Operating System:
  • Total RAM in your machine: 16Gb
  • Disks in use:
  • Used Package: Docker - official Docker library

Component, Query & Data

Affected feature:
AQL query using web interface

AQL query (if applicable):

FOR tb IN testbug
    FOR attr IN tb
        FILTER attr.name == "assetId" AND attr.value != ""
        RETURN tb

AQL explain and/or profile (if applicable):
Query String (113 chars, cacheable: true):
FOR tb IN testbug
FOR attr IN tb
FILTER attr.name == "assetId" AND attr.value != ""
RETURN tb

Execution plan:
Id NodeType Est. Comment
1 SingletonNode 1 * ROOT
3 EnumerateListNode 100 - FOR attr IN tb /* list iteration /
4 CalculationNode 100 - LET #2 = ((attr.name == "assetId") && (attr.value != "")) /
simple expression /
5 FilterNode 100 - FILTER #2
2 EnumerateCollectionNode 100 - FOR tb IN testbug /
full collection scan */
6 ReturnNode 100 - RETURN tb

Indexes used:
none

Optimization rules applied:
Id RuleName
1 interchange-adjacent-enumerations
2 move-calculations-up-2
3 move-filters-up-2

Optimization rules with highest execution times:
RuleName Duration [s]
reduce-extraction-to-projection 0.00003
propagate-constant-attributes 0.00003
interchange-adjacent-enumerations 0.00002
use-indexes 0.00001
move-calculations-down 0.00001

69 rule(s) executed, 2 plan(s) created

Dataset:
A collection with one or more elements like that:
{
"id": "DE1234500",
"type": "article",
"titles": [
{
"country": "DE",
"language": "de",
"text": "Multifunktion"
},
{
"country": "DE",
"language": "en",
"text": "t.b.t."
}
],
"attributes": [
{
"name": "articleNumber",
"value": "563330"
},
{
"name": "articleNumberInclCheckDigit",
"value": "5633300"
},
{
"name": "country",
"value": "DE"
},
{
"name": "lifeCycleId",
"value": 9
},
{
"name": "materialGroupId",
"value": 4203
},
{
"name": "assetId",
"value": ""
}
]
}

Steps to reproduce

  1. Create a collection
  2. Add data set
  3. Execute the query

Problem:
ArangoDB crashes when executing the query
2022-05-16T09:35:51Z [1] DEBUG [11160] {queries} 5.238e-06 Query::Query queryString: FOR tb IN testbug\n FOR attr IN tb\n FILTER attr.name == "assetId" AND attr.value != ""\n RETURN tb this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [e8ed7] {queries} 4.8536e-05 Query::execute this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 5.3423e-05 Query::enterState: initializing this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 6.8008e-05 Query::enterState: parsing this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [9625e] {queries} 7.0794e-05 Query::prepare this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000120607 Query::enterState: optimizing ast this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000129911 Query::enterState: loading collections this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000141199 Query::enterState: instantiating plan this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000160418 Query::enterState: optimizing plan this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [d8767] {queries} 0.000339524 Query::enterState: executing this: 140383321460800
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=ReturnNode this=140383321805696 id=6
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=ReturnNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=ReturnNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=ReturnNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=EnumerateCollectionNode this=140383321833472 id=2
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=EnumerateCollectionNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=EnumerateCollectionNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=EnumerateCollectionNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=FilterNode this=140383321804800 id=5
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=FilterNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=FilterNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=FilterNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=CalculationNode this=140383321440256 id=4
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=CalculationNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=CalculationNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=CalculationNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=EnumerateListNode this=140383264719744 id=3
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=EnumerateListNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=EnumerateListNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=EnumerateListNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [007ac] {queries} [query#30925] starting statemachine of executor type=SingletonNode this=140383321510912 id=1
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=SingletonNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=SingletonNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [488de] {queries} [query#30925] type=SingletonNode request dependency { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=SingletonNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=SingletonNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [96e2c] {queries} [query#30925] type=SingletonNode all produced, fast forward to end up (sub-)query.
2022-05-16T09:35:51Z [1] DEBUG [fa327] {queries} [query#30925] type=SingletonNode bypass unused rows.
2022-05-16T09:35:51Z [1] DEBUG [80c24] {queries} [query#30925] type=SingletonNode this=140383321510912 id=1 local statemachine done. Return now.
2022-05-16T09:35:51Z [1] DEBUG [cfe46] {queries} [query#30925] type=EnumerateListNode determine next action on call { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] DEBUG [1f787] {queries} [query#30925] type=EnumerateListNode call produceRows { skip: 0, softLimit: unlimited, hardLimit: unlimited, fullCount: false, skipCount: 0 }
2022-05-16T09:35:51Z [1] FATAL [a7902] {crash} 💥 ArangoDB 3.9.1 [linux], thread 4 [SchedWorker] caught unexpected signal 11 (SIGSEGV) accessing address 0x0000000000000000: signal handler invoked - image base address: 0x0000000000400000 - CPU context: rip: 0x00000000011208b6, rsp: 0x00007fadacdf7030, efl: 0x0000000000010246, rbp: 0x00007fadacdf7090, rsi: 0x00007fad86a045e0, rdi: 0x0000000000000001, rax: 0x0000000000000000, rbx: 0x00007fad86a04580, rcx: 0x0000000000000000, rdx: 0x0000000000000000, r8: 0x0000000000000000, r9: 0x0000000000000001, r10: 0x000000000009a2a8, r11: 0x000000000000001b, r12: 0x00007fad8a0530c0, r13: 0x0000000000000000, r14: 0x00007fadacdf72b0, r15: 0x00007fad86a045e0
2022-05-16T09:35:51Z [1] INFO [c962b] {crash} Backtrace of thread 4 [SchedWorker]
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 1 [+0x00000000016a9585] (anonymous namespace)::crashHandlerSignalHandler(int, siginfo_t*, void*) (+0x35)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 2 [+0x00000000039995a5] sigprocmask (+0x21)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 3 [+0x00000000009f5e1d] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateListExecutor::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x148d)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 4 [+0x0000000000a03865] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateListExecutor::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 5 [+0x000000000196faee] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x90e)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 6 [+0x00000000009d3457] arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::executeFetcher(arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 7 [+0x00000000009d5c70] arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1e70)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 8 [+0x00000000009d6bf5] arangodb::aql::ExecutionBlockImpl<arangodb::aql::CalculationExecutor<(arangodb::aql::CalculationType)0> >::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 9 [+0x0000000000d18e77] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::executeForDependency(unsigned long, arangodb::aql::AqlCallStack&) (+0x4d7)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 10 [+0x0000000000d19062] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) (+0x72)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 11 [+0x000000000196ffa0] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x20)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 12 [+0x00000000009ef7d7] arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::executeFetcher(arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 13 [+0x00000000009f9558] arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1be8)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 14 [+0x0000000000a03a85] arangodb::aql::ExecutionBlockImplarangodb::aql::FilterExecutor::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 15 [+0x0000000000d18e77] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::executeForDependency(unsigned long, arangodb::aql::AqlCallStack&) (+0x4d7)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 16 [+0x0000000000d19062] arangodb::aql::DependencyProxy<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) (+0x72)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 17 [+0x000000000196ffa0] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)0>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x20)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 18 [+0x00000000009ee277] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::executeFetcher(arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:51Z [1] INFO [308c3] {crash} frame 19 [+0x0000000000a063fb] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1f8b)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 20 [+0x0000000000a075d5] arangodb::aql::ExecutionBlockImplarangodb::aql::EnumerateCollectionExecutor::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 21 [+0x000000000196faee] arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1>::execute(arangodb::aql::AqlCallStack&) [clone .isra.0] (+0x90e)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 22 [+0x0000000000a5f387] arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::executeFetcher(arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::ExecutionContext&, arangodb::aql::AqlCall const&) (+0x107)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 23 [+0x0000000000a61aa0] arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::executeWithoutTrace(arangodb::aql::AqlCallStack const&) (+0x1d70)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 24 [+0x0000000000a74f15] arangodb::aql::ExecutionBlockImpl<arangodb::aql::IdExecutor<arangodb::aql::SingleRowFetcher<(arangodb::aql::BlockPassthrough)1> > >::execute(arangodb::aql::AqlCallStack const&) (+0xb5)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 25 [+0x0000000000952a46] arangodb::aql::Query::execute(arangodb::aql::QueryResult&) (+0x7a6)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 26 [+0x000000000066d659] arangodb::RestCursorHandler::registerQueryOrCursor(arangodb::velocypack::Slice const&) (+0x1429)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 27 [+0x000000000066e14c] arangodb::RestCursorHandler::execute() (+0x32c)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 28 [+0x00000000005c0716] arangodb::rest::RestHandler::executeEngine(bool) (+0xb6)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 29 [+0x00000000005c477a] arangodb::rest::RestHandler::runHandlerStateMachine() (+0x3fa)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 30 [+0x00000000008c322e] arangodb::Scheduler::WorkItem<arangodb::rest::CommTask::handleRequestAsync(std::shared_ptrarangodb::rest::RestHandler, unsigned long*)::{lambda()#1}>::invoke() (+0xfe)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 31 [+0x000000000070157f] arangodb::SupervisedScheduler::runWorker() (+0x2df)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 32 [+0x00000000016bc7dd] arangodb::Thread::startThread(void*) (+0x6d)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 33 [+0x000000000170cf1a] ThreadStarter(void*) [clone .lto_priv.0] (+0xaa)
2022-05-16T09:35:52Z [1] INFO [308c3] {crash} frame 34 [+0x00000000039a03dc] start (+0x70)
2022-05-16T09:35:52Z [1] INFO [ded81] {crash} available physical memory: 2081755136, rss usage: 217509888, vsz usage: 996794368, threads: 40
arangodb exited with code 139

Expected result:
does not crash

@jsteemann
Copy link
Contributor

Reproduced with current state of 3.9:

db._create("testbug");
db.testbug.insert({ "id": "DE1234500", "type": "article", "titles": [ { "country": "DE", "language": "de", "text": "Multifunktion" }, { "country": "DE", "language": "en", "text": "t.b.t." } ], "attributes": [ { "name": "articleNumber", "value": "563330" }, { "name": "articleNumberInclCheckDigit", "value": "5633300" }, { "name": "country", "value": "DE" }, { "name": "lifeCycleId", "value": 9 }, { "name": "materialGroupId", "value": 4203 }, { "name": "assetId", "value": "" } ] });
db._query(`FOR tb IN testbug FOR attr IN tb FILTER attr.name == "assetId" AND attr.value != "" RETURN tb`);

@jsteemann jsteemann added 1 Bug 3 AQL Query language related labels May 16, 2022
@jsteemann jsteemann self-assigned this May 16, 2022
jsteemann added a commit that referenced this issue May 16, 2022
@jsteemann jsteemann mentioned this issue May 16, 2022
19 tasks
jsteemann added a commit that referenced this issue May 16, 2022
@jsteemann jsteemann mentioned this issue May 16, 2022
19 tasks
jsteemann added a commit that referenced this issue May 16, 2022
@jsteemann jsteemann mentioned this issue May 16, 2022
19 tasks
jsteemann added a commit that referenced this issue May 16, 2022
@jsteemann jsteemann mentioned this issue May 16, 2022
19 tasks
@jsteemann jsteemann added the 2 Fixed Resolution label May 16, 2022
@jsteemann
Copy link
Contributor

Fixed via the PRs listed above. Target releases would be 3.9.2 and 3.8.7.

@jsteemann jsteemann added this to the 3.9.2 milestone May 16, 2022
KVS85 added a commit that referenced this issue May 17, 2022
* fixed issue #16279

* Update CHANGELOG

Co-authored-by: Vadim <vadim@arangodb.com>
KVS85 added a commit that referenced this issue May 17, 2022
* fixed issue #16279

* Update CHANGELOG

Co-authored-by: Vadim <vadim@arangodb.com>
KVS85 added a commit that referenced this issue May 17, 2022
* fixed issue #16279

* Update CHANGELOG

Co-authored-by: Vadim <vadim@arangodb.com>
jsteemann added a commit that referenced this issue May 17, 2022
Co-authored-by: Vadim <vadim@arangodb.com>
@mdascanbi
Copy link
Author

Does not crash enymore. thx! cool.

Bildschirmfoto 2022-06-27 um 15 40 40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 Bug 2 Fixed Resolution 3 AQL Query language related
Projects
None yet
Development

No branches or pull requests

2 participants
0