Skip to content
This repository was archived by the owner on Dec 13, 2023. It is now read-only.

Add fillBlockCache option to bypass RocksDB block cache #14234 #703

Merged
merged 4 commits into from
Aug 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
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
11 changes: 10 additions & 1 deletion 3.8/aql/invocation-with-arangosh.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,17 @@ There are further options that can be passed in the *options* attribute of the *
the query result cache is disabled, and that they will be automatically inserted into
the query result cache when it is active in non-demand mode.

- *fillBlockCache*: if set to *true* or not specified, this will make the query store
the data it reads via the RocksDB storage engine in the RocksDB block cache. This is
usually the desired behavior. The option can be set to *false* for queries that are
known to either read a lot of data that would thrash the block cache, or for queries
that read data known to be outside of the hot set. By setting the option
to *false*, data read by the query will not make it into the RocksDB block cache if
it is not already in there, thus leaving more room for the actual hot set.

- *profile*: if set to *true* or *1*, returns extra timing information for the query. The timing
information is accessible via the *getExtra* method of the query result. Set to *2* the query will include execution stats per query plan node in sub-attribute *stats.nodes* of the *extra* return attribute.
information is accessible via the *getExtra* method of the query result. Set to *2* the query will
include execution stats per query plan node in sub-attribute *stats.nodes* of the *extra* return attribute.
Additionally the query plan is returned in the sub-attribute *extra.plan*.

- *maxWarningCount*: limits the number of warnings that are returned by the query if
Expand Down
13 changes: 10 additions & 3 deletions 3.8/release-notes-api-changes38.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,9 +324,16 @@ in ArangoDB 3.8:
only be picked up for indexes of type "persistent", "hash" and "skiplist" (where the
latter two are aliases for "persistent" nowadays).

The REST endpoint at GET `/_api/collection/<collection>/checksum` now also works
in cluster setups. In previous versions, this endpoint was not supported in cluster
setups and returned HTTP 501 (Not implemented).
- The REST endpoint at GET `/_api/collection/<collection>/checksum` now also works
in cluster setups. In previous versions, this endpoint was not supported in cluster
setups and returned HTTP 501 (Not implemented).

- The HTTP REST API endpoint `POST /_api/cursor` can now handle an
additional sub-attribute `fillBlockCache` for its `options` attribute.
`fillBlockCache` controls whether the to-be-executed query should
populate the RocksDB block cache with the data read by the query.
This is an optional attribute, and its default value is `true`, meaning
that the block cache will be populated (introduced in v3.8.1).

### Endpoints deprecated

Expand Down
11 changes: 10 additions & 1 deletion 3.9/aql/invocation-with-arangosh.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,17 @@ There are further options that can be passed in the *options* attribute of the *
the query result cache is disabled, and that they will be automatically inserted into
the query result cache when it is active in non-demand mode.

- *fillBlockCache*: if set to *true* or not specified, this will make the query store
the data it reads via the RocksDB storage engine in the RocksDB block cache. This is
usually the desired behavior. The option can be set to *false* for queries that are
known to either read a lot of data that would thrash the block cache, or for queries
that read data known to be outside of the hot set. By setting the option
to *false*, data read by the query will not make it into the RocksDB block cache if
it is not already in there, thus leaving more room for the actual hot set.

- *profile*: if set to *true* or *1*, returns extra timing information for the query. The timing
information is accessible via the *getExtra* method of the query result. Set to *2* the query will include execution stats per query plan node in sub-attribute *stats.nodes* of the *extra* return attribute.
information is accessible via the *getExtra* method of the query result. Set to *2* the query will
include execution stats per query plan node in sub-attribute *stats.nodes* of the *extra* return attribute.
Additionally the query plan is returned in the sub-attribute *extra.plan*.

- *maxWarningCount*: limits the number of warnings that are returned by the query if
Expand Down
8 changes: 8 additions & 0 deletions 3.9/release-notes-api-changes39.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ integrations for ArangoDB 3.9.

### Endpoints augmented

The HTTP REST API endpoint `POST /_api/cursor` can now handle an
additional sub-attribute `fillBlockCache` for its `options` attribute.
`fillBlockCache` controls whether the to-be-executed query should
populate the RocksDB block cache with the data read by the query.
This is an optional attribute, and its default value is `true`, meaning
that the block cache will be populated. This functionality was also backported
to v3.8.1.

### Endpoints moved

### Endpoints removed
Expand Down