Skip to content

Commit 09c3701

Browse files
committed
fix(v3): influxdb3/core/api, influxdb3/enterprise/api Port data flow steps:
Apply suggestions from @hiltontj. List data flow steps ported from 0fdd0efa0. Use enum for field column types.
1 parent 632878d commit 09c3701

File tree

2 files changed

+51
-17
lines changed

2 files changed

+51
-17
lines changed

api-docs/influxdb3/core/v3/ref.yml

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,16 @@ tags:
7373
7474
Server information endpoints such as `/health` and `metrics` are compatible with InfluxDB 1.x and InfluxDB 2.x clients.
7575
- name: Data I/O
76-
description: Write and query data
76+
description: |
77+
Write and query data
78+
79+
#### Data flow in InfluxDB 3 Core
80+
81+
1. **Incoming writes**: The system validates incoming data and stores it in the write buffer (in memory). If the `no_sync` write option is enabled (`no_sync=true`), the server sends a response to acknowledge the write.
82+
2. **WAL flush**: Every second (default), the system flushes the write buffer to the Write-Ahead Log (WAL) for persistence in the Object store. If `no_sync=false` (default), the server sends a response to acknowledge the write.
83+
3. **Query availability**: After WAL persistence completes, data moves to the queryable buffer where it becomes available for queries. By default, the server keeps up to 900 WAL files (15 minutes of data) buffered.
84+
4. **Long-term storage in Parquet**: Every ten minutes (default), the system persists the oldest data from the queryable buffer to the Object store in Parquet format. InfluxDB keeps the remaining data (the most recent 5 minutes) in memory.
85+
5. **In-memory cache**: InfluxDB puts Parquet files into an in-memory cache so that queries against the most recently persisted data don't have to go to object storage.
7786
- name: Databases
7887
description: Create, read, update, and delete database and cache resources
7988
- description: |
@@ -1446,11 +1455,16 @@ components:
14461455
type: boolean
14471456
default: false
14481457
description: |
1449-
Do not sync writes.
1450-
1451-
By default, InfluxDB writes ingested data to the WAL file and then waits for the WAL to be persisted to object storage before acknowledging the write.
1458+
Acknowledges a successful write without waiting for WAL persistence.
1459+
1460+
#### Data flow in InfluxDB 3 Core
1461+
1462+
1. **Incoming writes**: The system validates incoming data and stores it in the write buffer (in memory). If the `no_sync` write option is enabled (`no_sync=true`), the server sends a response to acknowledge the write.
1463+
2. **WAL flush**: Every second (default), the system flushes the write buffer to the Write-Ahead Log (WAL) for persistence in the Object store. If `no_sync=false` (default), the server sends a response to acknowledge the write.
1464+
3. **Query availability**: After WAL persistence completes, data moves to the queryable buffer where it becomes available for queries. By default, the server keeps up to 900 WAL files (15 minutes of data) buffered.
1465+
4. **Long-term storage in Parquet**: Every ten minutes (default), the system persists the oldest data from the queryable buffer to the Object store in Parquet format. InfluxDB keeps the remaining data (the most recent 5 minutes) in memory.
1466+
5. **In-memory cache**: InfluxDB puts Parquet files into an in-memory cache so that queries against the most recently persisted data don't have to go to object storage.
14521467
1453-
If `no_sync=true`, InfluxDB validates and buffers the ingested data, and the server responds to acknowledge the write without waiting for the WAL to be persisted to the Object store.
14541468
PrecisionWriteCompatibility:
14551469
enum:
14561470
- ms
@@ -1531,13 +1545,13 @@ components:
15311545
name:
15321546
type: string
15331547
type:
1534-
type:
1535-
enum:
1536-
- utf8
1537-
- int64
1538-
- uint64
1539-
- float64
1540-
- bool
1548+
type: string
1549+
enum:
1550+
- utf8
1551+
- int64
1552+
- uint64
1553+
- float64
1554+
- bool
15411555
required:
15421556
- name
15431557
- type

api-docs/influxdb3/enterprise/v3/ref.yml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,16 @@ tags:
7373
7474
Server information endpoints such as `/health` and `metrics` are compatible with InfluxDB 1.x and InfluxDB 2.x clients.
7575
- name: Data I/O
76-
description: Write and query data
76+
description: |
77+
Write and query data
78+
79+
#### Data flow in InfluxDB 3 Enterprise
80+
81+
1. **Incoming writes**: The system validates incoming data and stores it in the write buffer (in memory). If the `no_sync` write option is enabled (`no_sync=true`), the server sends a response to acknowledge the write.
82+
2. **WAL flush**: Every second (default), the system flushes the write buffer to the Write-Ahead Log (WAL) for persistence in the Object store. If `no_sync=false` (default), the server sends a response to acknowledge the write.
83+
3. **Query availability**: After WAL persistence completes, data moves to the queryable buffer where it becomes available for queries. By default, the server keeps up to 900 WAL files (15 minutes of data) buffered.
84+
4. **Long-term storage in Parquet**: Every ten minutes (default), the system persists the oldest data from the queryable buffer to the Object store in Parquet format. InfluxDB keeps the remaining data (the most recent 5 minutes) in memory.
85+
5. **In-memory cache**: InfluxDB puts Parquet files into an in-memory cache so that queries against the most recently persisted data don't have to go to object storage.
7786
- name: Databases
7887
description: Create, read, update, and delete database and cache resources
7988
- description: |
@@ -1446,11 +1455,15 @@ components:
14461455
type: boolean
14471456
default: false
14481457
description: |
1449-
Do not sync writes.
1450-
1451-
By default, InfluxDB writes ingested data to the WAL file and then waits for the WAL to be persistend to disk before acknowledging the write.
1458+
Acknowledges a successful write without waiting for WAL persistence.
1459+
1460+
#### Data flow in InfluxDB 3 Enterprise
14521461
1453-
If `no_sync=true`, InfluxDB writes ingested data to the WAL file and the server does not wait for the write to be persisted before acknowledging the write.
1462+
1. **Incoming writes**: The system validates incoming data and stores it in the write buffer (in memory). If the `no_sync` write option is enabled (`no_sync=true`), the server sends a response to acknowledge the write.
1463+
2. **WAL flush**: Every second (default), the system flushes the write buffer to the Write-Ahead Log (WAL) for persistence in the Object store. If `no_sync=false` (default), the server sends a response to acknowledge the write.
1464+
3. **Query availability**: After WAL persistence completes, data moves to the queryable buffer where it becomes available for queries. By default, the server keeps up to 900 WAL files (15 minutes of data) buffered.
1465+
4. **Long-term storage in Parquet**: Every ten minutes (default), the system persists the oldest data from the queryable buffer to the Object store in Parquet format. InfluxDB keeps the remaining data (the most recent 5 minutes) in memory.
1466+
5. **In-memory cache**: InfluxDB puts Parquet files into an in-memory cache so that queries against the most recently persisted data don't have to go to object storage.
14541467
PrecisionWriteCompatibility:
14551468
enum:
14561469
- ms
@@ -1490,6 +1503,7 @@ components:
14901503
- csv
14911504
- parquet
14921505
- jsonl
1506+
- pretty
14931507
params:
14941508
description: |
14951509
Additional parameters for the query.
@@ -1531,6 +1545,12 @@ components:
15311545
type: string
15321546
type:
15331547
type: string
1548+
enum:
1549+
- utf8
1550+
- int64
1551+
- uint64
1552+
- float64
1553+
- bool
15341554
required:
15351555
- name
15361556
- type

0 commit comments

Comments
 (0)