Merge branch 'master' into e2e-link-testing

pull/5816/head
Jason Stirnaman 2025-02-10 16:50:16 -06:00 committed by GitHub
commit 76915fd855
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 251 additions and 42 deletions

View File

@ -32,17 +32,17 @@ function initializeChat({onChatLoad, chatAttributes}) {
buttonHide: 'true',
exampleQuestionButtonWidth: 'auto',
modalOpenOnCommandK: 'true',
modalExampleQuestionsColSpan: '',
modalExampleQuestionsColSpan: '8',
modalFullScreenOnMobile: 'true',
modalHeaderPadding: '.5rem',
modalInnerPositionRight: '0',
modalInnerPositionLeft: '',
modalLockScroll: 'false',
modalOverrideOpenClassAskAi: 'ask-ai-open',
modalSize: '500px',
modalSize: '640px',
modalWithOverlay: 'false',
modalInnerMaxWidth: '500px',
modalXOffset: '1rem',
modalInnerMaxWidth: '800px',
modalXOffset: 'calc(100% - 800px - .5rem)',
modalYOffset: '10vh',
userAnalyticsFingerprintEnabled: 'true',
fontFamily: 'Proxima Nova, sans-serif',

View File

@ -90,6 +90,8 @@ influxdb3 serve [OPTIONS] --node-id <HOST_IDENTIFIER_PREFIX>
| | `--distinct-cache-eviction-interval` | _See [configuration options](/influxdb3/core/reference/config-options/#distinct-cache-eviction-interval)_ |
| | `--plugin-dir` | _See [configuration options](/influxdb3/core/reference/config-options/#plugin-dir)_ |
| | `--force-snapshot-mem-threshold` | _See [configuration options](/influxdb3/core/reference/config-options/#force-snapshot-mem-threshold)_ |
| | `--virtual-env-location` | _See [configuration options](/influxdb3/core/reference/config-options/#virtual-env-location)_ |
| | `--package-manager` | _See [configuration options](/influxdb3/core/reference/config-options/#package-manager)_ |
| | `--query-file-limit` | _See [configuration options](/influxdb3/core/reference/config-options/#query-file-limit)_ |
{{< caption >}}

View File

@ -127,8 +127,10 @@ influxdb3 serve
- [disable-parquet-mem-cache](#disable-parquet-mem-cache)
- [last-cache-eviction-interval](#last-cache-eviction-interval)
- [distinct-cache-eviction-interval](#distinct-cache-eviction-interval)
- [Plugins](#plugins)
- [Processing engine](#processing-engine)
- [plugin-dir](#plugin-dir)
- [virtual-env-location](#virtual-env-location)
- [package-manager](#package-manager)
---
@ -1017,9 +1019,11 @@ expressed as a human-readable time--for example: `20s`, `1m`, `1h`.
---
### Plugins
### Processing engine
- [plugin-dir](#plugin-dir)
- [virtual-env-location](#virtual-env-location)
- [package-manager](#package-manager)
#### plugin-dir
@ -1029,3 +1033,25 @@ Specifies the local directory that contains Python plugins and their test files.
| :--------------------- | :--------------------- |
| `--plugin-dir` | `INFLUXDB3_PLUGIN_DIR` |
---
#### virtual-env-location
Specifies the location of the Python virtual environment that the processing
engine uses.
| influxdb3 serve option | Environment variable |
| :----------------------- | :--------------------- |
| `--virtual-env-location` | `VIRTUAL_ENV_LOCATION` |
---
#### package-manager
Specifies the Python package manager that the processing engine uses.
**Default:** `10s`
| influxdb3 serve option | Environment variable |
| :--------------------- | :------------------- |
| `--package-manager` | `PACKAGE_MANAGER` |

View File

@ -0,0 +1,17 @@
---
title: SQL cache functions
list_title: Cache functions
description: >
Retrieve cached data from {{< product-name >}} caches.
menu:
influxdb3_core:
name: Cache
parent: sql-functions
weight: 311
source: /shared/sql-reference/functions/cache.md
---
<!--
The content for this page is at /content/shared/sql-reference/functions/cache.md
-->

View File

@ -76,6 +76,7 @@ influxdb3 serve [OPTIONS] --node-id <HOST_IDENTIFIER_PREFIX>
| | `--wal-flush-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-flush-interval)_ |
| | `--wal-snapshot-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-snapshot-size)_ |
| | `--wal-max-write-buffer-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#wal-max-write-buffer-size)_ |
| | `--snapshotted-wal-files-to-keep` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#snapshotted-wal-files-to-keep)_ |
| | `--query-log-size` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#query-log-size)_ |
| | `--buffer-mem-limit-mb` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#buffer-mem-limit-mb)_ |
| {{< req "\*" >}} | `--node-id` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#node-id)_ |
@ -89,14 +90,20 @@ influxdb3 serve [OPTIONS] --node-id <HOST_IDENTIFIER_PREFIX>
| | `--compaction-max-num-files-per-plan` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-max-num-files-per-plan)_ |
| | `--compaction-gen2-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-gen2-duration)_ |
| | `--compaction-multipliers` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#compaction-multipliers)_ |
| | `--license-email` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#license-email)_ |
| | `--preemptive-cache-age` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#preemptive-cache-age)_ |
| | `--parquet-mem-cache-size-mb` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-size-mb)_ |
| | `--parquet-mem-cache-prune-percentage` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-prune-percentage)_ |
| | `--parquet-mem-cache-prune-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-prune-interval)_ |
| | `--disable-parquet-mem-cache` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#disable-parquet-mem-cache)_ |
| | `--parquet-mem-cache-query-path-duration` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#parquet-mem-cache-query-path-duration)_ |
| | `--last-cache-eviction-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#last-cache-eviction-interval)_ |
| | `--distinct-cache-eviction-interval` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#distinct-cache-eviction-interval)_ |
| | `--plugin-dir` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#plugin-dir)_ |
| | `--force-snapshot-mem-threshold` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#force-snapshot-mem-threshold)_ |
| | `--virtual-env-location` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#virtual-env-location)_ |
| | `--package-manager` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#package-manager)_ |
| | `--query-file-limit` | _See [configuration options](/influxdb3/enterprise/reference/config-options/#query-file-limit)_ |
{{< caption >}}
{{< req text="\* Required options" >}}

View File

@ -55,6 +55,8 @@ influxdb3 serve
- [data-dir](#data-dir)
- [node-id](#node-id)
- [mode](#mode)
- [license-email](#license-email)
- [query-file-limit](#query-file-limit)
- [AWS](#aws)
- [aws-access-key-id](#aws-access-key-id)
- [aws-secret-access-key](#aws-secret-access-key)
@ -135,11 +137,14 @@ influxdb3 serve
- [parquet-mem-cache-prune-percentage](#parquet-mem-cache-prune-percentage)
- [parquet-mem-cache-prune-interval](#parquet-mem-cache-prune-interval)
- [disable-parquet-mem-cache](#disable-parquet-mem-cache)
- [parquet-mem-cache-query-path-duration](#parquet-mem-cache-query-path-duration)
- [last-cache-eviction-interval](#last-cache-eviction-interval)
- [distinct-cache-eviction-interval](#distinct-cache-eviction-interval)
- [Plugins](#plugins)
- [Processing engine](#processing-engine)
- [plugin-dir](#plugin-dir)
- [virtual-env-location](#virtual-env-location)
- [package-manager](#package-manager)
---
### General
@ -149,6 +154,8 @@ influxdb3 serve
- [data-dir](#data-dir)
- [node-id](#node-id)
- [mode](#mode)
- [license-email](#license-email)
- [query-file-limit](#query-file-limit)
#### object-store
@ -208,6 +215,40 @@ This option supports the following values:
---
#### license-email
Specifies the email address to associate with your {{< product-name >}} license
and automatically responds to the interactive email prompt when the server starts.
| influxdb3 serve option | Environment variable |
| :--------------------- | :----------------------------------- |
| `--license-email` | `INFLUXDB3_ENTERPRISE_LICENSE_EMAIL` |
---
#### query-file-limit
Limits the number of Parquet files a query can access.
If a query attempts to read more than this limit, InfluxDB returns an error.
**Default:** `432`
You can increase this limit to allow more files to be queried, but be aware of
the following side-effects:
- Degraded query performance for queries that read more Parquet files
- Increased memory usage
- Your system potentially killing the `influxdb3` process due to Out-of-Memory
(OOM) errors
- If using object storage to store data, many GET requests to access the data
(as many as 2 requests per file)
| influxdb3 serve option | Environment variable |
| :--------------------- | :--------------------------- |
| `--query-file-limit` | `INFLUXDB3_QUERY_FILE_LIMIT` |
---
### AWS
- [aws-access-key-id](#aws-access-key-id)
@ -1051,6 +1092,7 @@ compactor can merge into larger generations.
- [parquet-mem-cache-prune-percentage](#parquet-mem-cache-prune-percentage)
- [parquet-mem-cache-prune-interval](#parquet-mem-cache-prune-interval)
- [disable-parquet-mem-cache](#disable-parquet-mem-cache)
- [parquet-mem-cache-query-path-duration](#parquet-mem-cache-query-path-duration)
- [last-cache-eviction-interval](#last-cache-eviction-interval)
- [distinct-cache-eviction-interval](#distinct-cache-eviction-interval)
@ -1113,10 +1155,23 @@ Disables the in-memory Parquet cache. By default, the cache is enabled.
---
#### parquet-mem-cache-query-path-duration
Specifies the duration to check if Parquet files pulled in query path
require caching, expressed as a human-readable duration (starting from _now_)--for example: `5h`, `3d`.
**Default:** `5h`
| influxdb3 serve option | Environment variable |
| :---------------------------- | :------------------------------------ |
| `--parquet-mem-cache-query-path-duration` | `INFLUXDB3_PARQUET_MEM_CACHE_QUERY_PATH_DURATION` |
---
#### last-cache-eviction-interval
Specifies the interval to evict expired entries from the Last-N-Value cache,
expressed as a human-readable time--for example: `20s`, `1m`, `1h`.
expressed as a human-readable duration--for example: `20s`, `1m`, `1h`.
**Default:** `10s`
@ -1129,7 +1184,7 @@ expressed as a human-readable time--for example: `20s`, `1m`, `1h`.
#### distinct-cache-eviction-interval
Specifies the interval to evict expired entries from the distinct value cache,
expressed as a human-readable time--for example: `20s`, `1m`, `1h`.
expressed as a human-readable duration--for example: `20s`, `1m`, `1h`.
**Default:** `10s`
@ -1139,9 +1194,11 @@ expressed as a human-readable time--for example: `20s`, `1m`, `1h`.
---
### Plugins
### Processing engine
- [plugin-dir](#plugin-dir)
- [virtual-env-location](#virtual-env-location)
- [package-manager](#package-manager)
#### plugin-dir
@ -1151,3 +1208,25 @@ Specifies the local directory that contains Python plugins and their test files.
| :--------------------- | :--------------------- |
| `--plugin-dir` | `INFLUXDB3_PLUGIN_DIR` |
---
#### virtual-env-location
Specifies the location of the Python virtual environment that the processing
engine uses.
| influxdb3 serve option | Environment variable |
| :----------------------- | :--------------------- |
| `--virtual-env-location` | `VIRTUAL_ENV_LOCATION` |
---
#### package-manager
Specifies the Python package manager that the processing engine uses.
**Default:** `10s`
| influxdb3 serve option | Environment variable |
| :--------------------- | :------------------- |
| `--package-manager` | `PACKAGE_MANAGER` |

View File

@ -0,0 +1,17 @@
---
title: SQL cache functions
list_title: Cache functions
description: >
Retrieve cached data from {{< product-name >}} caches.
menu:
influxdb3_enterprise:
name: Cache
parent: sql-functions
weight: 311
source: /shared/sql-reference/functions/cache.md
---
<!--
The content for this page is at /content/shared/sql-reference/functions/cache.md
-->

View File

@ -25,7 +25,7 @@ to
##### Schema
- home <em style="opacity: .5">(measurement)</em>
- home <em style="opacity: .5">(table)</em>
- **tags**:
- room
- Kitchen
@ -208,7 +208,7 @@ to
##### Schema
- home_actions <em style="opacity: .5">(measurement)</em>
- home_actions <em style="opacity: .5">(table)</em>
- **tags**:
- room
- Kitchen
@ -336,7 +336,7 @@ series use cases that involve seasonality.
##### Schema
- weather <em style="opacity: .5">(measurement)</em>
- weather <em style="opacity: .5">(table)</em>
- **tags**:
- location
- Concord
@ -430,7 +430,7 @@ The Bitcoin price sample dataset provides Bitcoin prices from
##### Schema
- bitcoin <em style="opacity: .5">(measurement)</em>
- bitcoin <em style="opacity: .5">(table)</em>
- **tags**:
- code
- EUR
@ -518,7 +518,7 @@ transformation functions.
##### Schema
- numbers <em style="opacity: .5">(measurement)</em>
- numbers <em style="opacity: .5">(table)</em>
- **fields**
- a <em style="opacity: .5">(float between -1 and 1)</em>
- b <em style="opacity: .5">(float between -3 and 3)</em>

View File

@ -51,7 +51,7 @@ Replace the following:
> [!Note]
> While in alpha, {{< product-name >}} does not require an authorization token.
> For the `token` option, provide an empty or arbitrary token string.
> For the `token` option, provide an arbitrary, non-empty token string.
_See how to [Configure Telegraf to write to {{% product-name %}}](/influxdb3/version/write-data/use-telegraf/configure/)._

View File

@ -70,7 +70,7 @@ Replace the following:
> [!Note]
> While in alpha, {{< product-name >}} does not require an authorization token.
> For the `token` option, provide an empty or arbitrary token string.
> For the `token` option, provide an arbitrary, non-empty token string.
The InfluxDB output plugin configuration contains the following options:
@ -89,7 +89,7 @@ Your {{% product-name %}} authorization token.
> [!Note]
> While in alpha, {{< product-name >}} does not require an authorization token.
> For the `token` option, provide an empty or arbitrary token string.
> For the `token` option, provide an arbitrary, non-empty token string.
> [!Tip]
>

View File

@ -100,7 +100,7 @@ Replace the following:
> [!Note]
> While in alpha, {{< product-name >}} does not require an authorization token.
> For the `token` option, provide an empty or arbitrary token string.
> For the `token` option, provide an arbitrary, non-empty token string.
> [!Tip]
>

View File

@ -16,7 +16,7 @@ The following example configures Telegraf for dual writing to {{% product-name %
> [!Note]
> While in alpha, {{< product-name >}} does not require an authorization token.
> For the `token` option, provide an empty or arbitrary token string.
> For the `token` option, provide an arbitrary, non-empty token string.
## Sample configuration

View File

@ -0,0 +1,56 @@
The {{< product-name >}} SQL implementation supports the following functions
that return data from {{< product-name >}} caches.
- [distinct_cache](#distinct_cache)
- [last_cache](#last_cache)
## distinct_cache
Returns data from an {{< product-name >}} distinct value cache.
```sql
distinct_cache(table_name, cache_name)
```
#### Arguments
- **table_name**: Name of the table associated with the distinct value cache
_(formatted as a string literal)_.
- **datatype**: Name of the the distinct value cache to query
_(formatted as a string literal)_.
{{< expand-wrapper >}}
{{% expand "View `distinct_cache` query example" %}}
```sql
SELECT * FROM distinct_cache('example_table', 'exampleCacheName')
```
{{% /expand %}}
{{< /expand-wrapper >}}
## last_cache
Returns data from an {{< product-name >}} last value cache.
```sql
last_cache(table_name, cache_name)
```
#### Arguments
- **table_name**: Name of the table associated with the last value cache
_(formatted as a string literal)_.
- **datatype**: Name of the the last value cache to query
_(formatted as a string literal)_.
{{< expand-wrapper >}}
{{% expand "View `last_cache` query example" %}}
```sql
SELECT * FROM last_cache('example_table', 'exampleCacheName')
```
{{% /expand %}}
{{< /expand-wrapper >}}

View File

@ -30,7 +30,7 @@ Core's feature highlights include:
* Parquet file persistence
* Compatibility with InfluxDB 1.x and 2.x write APIs
The Enterprise version adds onto Core's functionality with:
The Enterprise version adds the following features to Core:
* Historical query capability and single series indexing
* High availability
@ -226,7 +226,7 @@ The database has three write API endpoints that respond to HTTP `POST` requests:
* `/write?db=mydb&precision=ns`
* `/api/v2/write?bucket=mydb&precision=ns`
* `/api/v3/write_lp?db=mydb&precision=ns&accept_partial=true`
* `/api/v3/write_lp?db=mydb&precision=nanosecond&accept_partial=true`
{{% product-name %}} provides the `/write` and `/api/v2/write` endpoints for backward compatibility with clients that can write data to previous versions of InfluxDB.
However, these APIs differ from the APIs in the previous versions in the following ways:
@ -311,23 +311,24 @@ The response is the following:
}
```
Neither line is written to the database.
InfluxDB rejects all points in the batch.
The response is an HTTP error (`400`) status, and the response body contains `parsing failed for write_lp endpoint` and details about the problem line.
##### Data durability
Written data goes into WAL files, created once per second, and into an in-memory queryable buffer. Later, InfluxDB snapshots the WAL and persists the data into object storage as Parquet files.
We cover the [diskless architecture](#diskless-architecture) later in this guide.
When you write data to InfluxDB, InfluxDB ingests the data and writes it to WAL files, created once per second, and to an in-memory queryable buffer.
Later, InfluxDB snapshots the WAL and persists the data into object storage as Parquet files.
For more information, see [diskless architecture](#diskless-architecture).
> [!Note]
> ##### Write requests return after WAL flush
> Write requests to the database _don't_ return until a WAL file has been flushed to the configured object store, which by default happens once per second.
> Individual write requests might not complete quickly, but you can make many concurrent requests to get higher total throughput.
> In the future, we will add an API parameter that lets requests return without waiting for the WAL flush.
>
> Because InfluxDB sends a write response after the WAL file has been flushed to the configured object store (default is every second), individual write requests might not complete quickly, but you can make many concurrent requests to achieve higher total throughput.
> Future enhancements will include an API parameter that lets requests return without waiting for the WAL flush.
#### Create a Database or Table
#### Create a database or Table
To create a database without writing data into it, use the `create` subcommand--for example:
To create a database without writing data, use the `create` subcommand--for example:
```bash
influxdb3 create database mydb
@ -345,6 +346,9 @@ InfluxDB 3 now supports native SQL for querying, in addition to InfluxQL, an
SQL-like language customized for time series queries. {{< product-name >}} limits
query time ranges to 72 hours (both recent and historical) to ensure query performance.
For more information about the 72-hour limitation, see the
[update on InfluxDB 3 Cores 72-hour limitation](https://www.influxdata.com/blog/influxdb3-open-source-public-alpha-jan-27/).
> [!Note]
> Flux, the language introduced in InfluxDB 2.0, is **not** supported in InfluxDB 3.

View File

@ -22,7 +22,7 @@ Core's feature highlights include:
* Parquet file persistence
* Compatibility with InfluxDB 1.x and 2.x write APIs
The Enterprise version adds onto Core's functionality with:
The Enterprise version adds the following features to Core:
* Historical query capability and single series indexing
* High availability
@ -221,7 +221,7 @@ The database has three write API endpoints that respond to HTTP `POST` requests:
* `/write?db=mydb&precision=ns`
* `/api/v2/write?bucket=mydb&precision=ns`
* `/api/v3/write_lp?db=mydb&precision=ns&accept_partial=true`
* `/api/v3/write_lp?db=mydb&precision=nanosecond&accept_partial=true`
{{% product-name %}} provides the `/write` and `/api/v2/write` endpoints for backward compatibility with clients that can write data to previous versions of InfluxDB.
However, these APIs differ from the APIs in the previous versions in the following ways:
@ -306,23 +306,24 @@ The response is the following:
}
```
Neither line is written to the database.
InfluxDB rejects all points in the batch.
The response is an HTTP error (`400`) status, and the response body contains `parsing failed for write_lp endpoint` and details about the problem line.
##### Data durability
Written data goes into WAL files, created once per second, and into an in-memory queryable buffer. Later, InfluxDB snapshots the WAL and persists the data into object storage as Parquet files.
We cover the [diskless architecture](#diskless-architecture) later in this guide.
When you write data to InfluxDB, InfluxDB ingests the data and writes it to WAL files, created once per second, and to an in-memory queryable buffer.
Later, InfluxDB snapshots the WAL and persists the data into object storage as Parquet files.
For more information, see [diskless architecture](#diskless-architecture).
> [!Note]
> ##### Write requests return after WAL flush
> Write requests to the database _don't_ return until a WAL file has been flushed to the configured object store, which by default happens once per second.
> Individual write requests might not complete quickly, but you can make many concurrent requests to get higher total throughput.
> In the future, we will add an API parameter that lets requests return without waiting for the WAL flush.
>
> Because InfluxDB sends a write response after the WAL file has been flushed to the configured object store (default is every second), individual write requests might not complete quickly, but you can make many concurrent requests to achieve higher total throughput.
> Future enhancements will include an API parameter that lets requests return without waiting for the WAL flush.
#### Create a Database or Table
#### Create a database or table
To create a database without writing data into it, use the `create` subcommand--for example:
To create a database without writing data, use the `create` subcommand--for example:
```bash
influxdb3 create database mydb
@ -397,7 +398,7 @@ $ influxdb3 query --database=servers "SELECT DISTINCT usage_percent, time FROM c
To query using InfluxQL, enter the `influxdb3 query` subcommand and specify `influxql` in the language option--for example:
```bash
influxdb3 query --database=servers --lang=influxql "SELECT DISTINCT usage_percent FROM cpu WHERE time >= now() - 1d"
influxdb3 query --database=servers --language=influxql "SELECT DISTINCT usage_percent FROM cpu WHERE time >= now() - 1d"
```
### Query using the API