8000 APM-112: prevent invalid use of OPTIONS in AQL queries by jsteemann · Pull Request #14467 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content
Merged
Changes from 1 commit
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
Prev Previous commit
Merge branch 'devel' into feature/apm-112
  • Loading branch information
jsteemann authored Jul 8, 2021
commit cd1c2ad0bcd15e74d37085afff9decf95cbf786b
38 changes: 38 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,44 @@ devel
This can be toggled by the startup option `--query.fail-on-warnings` or the
per-query runtime option `failOnWarnings`.

* Added new command line-option `--version-json`. This will return the
version information as json object.

* Fix ArangoAgency::version(), which always returned an empty string instead
of the agency's correctly reported version. This also fixes the agency
version in the startup log messages of the cluster.

* Fixed an issue in index selection, when the selectivty estimate of another
prefix index was used without checking if the other index covered the
FILTER condition.

For example, given the following indexes:

- index 1: ["e", "a", "b", "c"]
- index 2: ["e", "a", "b"]
- index 3: ["d", "e", "f", "g"]

and the FILTER condition `d == 1 && e == 2 && f == 3`, then the best index
to pick would be index 3. However, the optimizer may have picked index 1
here.
All indexes are valid candidates for this FILTER condition, but none of the
indexes covered all attributes of the FILTER condition. So the index
selectivity estimates were (correctly) not used directly to determine the
best index.
The actual bug happened when comparing the usefulness of the candidate
indexes, when figuring out that even though the selectivity estimate for
index 1 could not be used, but that there existed a prefix index of index
1 (index 2). The selecivity estimate of this index was taken _without_
checking that prefix index actually satisfied the FILTER condition fully.
The prefix index' selectivity estimate must only be used if it fully
satisfies the FILTER condition, which was not the case here.

* Add following term ids, which prevents old synchronous replication requests
to be accepted after a follower was dropped and has gotten in sync again.
This makes the chaos tests which delay synchronous replication requests
more reliable and prevent inconsistent shard replicas under bad network
conditions.

* Enable process metrics on agent instances by default. Previously, some
metrics (including the metrics starting with `arangodb_process` prefix) were
not returned by agent instances.
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.
0