docs(enterprise): fix contradictory single-compactor constraint in clustering docs#7075
docs(enterprise): fix contradictory single-compactor constraint in clustering docs#7075
Conversation
- Add Warning callout in Configure node modes section: only one node per cluster can run in a mode that includes compaction (compact or all) - Add Warning callout in Configure compactor nodes section reinforcing the single-compactor-per-cluster rule - Fix Small cluster (3 nodes) example: changed nodes 2-3 from 'all' mode to 'ingest,query' since only one node can run compaction - Fix Medium cluster (6 nodes) example: split "Nodes 5-6: Compactor + Process" (both in compact,process) into Node 5 (compact) and Node 6 (process) with a note about the single-compactor rule - Fix Large cluster (12+ nodes) example: changed "Nodes 9-10: Dedicated compactors" to "Node 9: Dedicated compactor" and merged Node 10 into "Nodes 10-12: Process nodes" - Fix troubleshooting section: changed "Add compactor nodes or increase DataFusion threads" to "Increase DataFusion threads on your single compactor node" - Fix Migrate to specialized nodes section: updated Phase 1 from "all nodes: --mode=all" to a single-node baseline with a note warning against multi-node all-mode setups Agent-Logs-Url: https://github.com/influxdata/docs-v2/sessions/8fef041f-0506-4ec4-b334-beb5d6c5f03d Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
| - Increasing query times due to file fragmentation | ||
|
|
||
| **Solution:** Add compactor nodes or increase DataFusion threads (see [Compactor node issues](#compactor-node-issues)) | ||
| **Solution:** Increase DataFusion threads on your single compactor node (see [Compactor node issues](#compactor-node-issues)) |
There was a problem hiding this comment.
for parquet backend yes, which uses datafusion for compaction (pacha doesn't use DF for compaction).
There was a problem hiding this comment.
for parquet backend yes, which uses datafusion for compaction (pacha doesn't use DF for compaction).
@copilot Specify that this solution is for the Parquet-backed storage engine. The Performance Preview (with PachaTree) doesn't use DataFusion for compaction.
There was a problem hiding this comment.
Updated in d1f15bf. The solution now specifies it applies to the default Parquet-backed storage engine and notes that PachaTree (Performance Preview) doesn't use DataFusion for compaction.
|
📦 PR Preview — Preview Bot
Pages included in this preview
Preview auto-deploys on push. Will be cleaned up when PR closes. |
Vale Style Check Results
✅ Check passed |
| > [!Warning] | ||
| > Only **one** node per cluster can run in a mode that includes compaction (`compact` or `all`). | ||
| > Running multiple compactors causes data corruption. | ||
| > In a cluster, assign `all` mode to at most one node, and ensure no other node uses the `compact` mode. |
There was a problem hiding this comment.
I'm not sure all mode is compatible with clustering at all. I think "all" nodes act alone, but i haven't tried it.
Why would i run an "All" node with a separate "ingest" node for example. It's an odd configuration. If it is possible, i don't think i would recommended it.
There was a problem hiding this comment.
Updated the issue and PR description with the latest advice.
There was a problem hiding this comment.
Updated in d1f15bf to reflect that all mode is for single-node Enterprise deployments only. Changes include:
- Warning callout now says: avoid
allin multi-node clusters (replication and catalog refresh aren't designed forall-mode nodes); use explicit modes withcompactassigned to exactly one node - Small cluster (3 nodes) example: Node 1 changed from
mode: alltomode: ingest,query,compact - "Migrate to specialized nodes" section reframed as "single-node to specialized cluster" migration, showing
allonly in the single-node Phase 1
- Update 'all' mode description to single-node Enterprise only throughout - Replace 'all' mode in Small cluster (3 nodes) example with explicit ingest,query,compact modes - Update warning callout: all mode is for single-node only; multi-node clusters should use explicit modes with compact assigned to one node - Update 'Migrate to specialized nodes' to clarify single-node → cluster migration path without using all mode in multi-node context - Specify that DataFusion thread tuning for compaction applies to the default Parquet-backed storage engine, not PachaTree (Performance Preview) Agent-Logs-Url: https://github.com/influxdata/docs-v2/sessions/da0e0cbe-bbfc-42d3-8821-0a025ed3ef50 Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
| > In a baseline multi-node setup, additional nodes should use `ingest,query` instead of `all` | ||
| > to avoid running multiple compactors. | ||
| > `all` mode is intended for single-node Enterprise deployments. | ||
| > When scaling to a multi-node cluster, replace `all` with explicit modes and assign `compact` to exactly one node. |
There was a problem hiding this comment.
it needs to be more than this; when upgrading from an All to multinode, the "new" compact node must have the same node-id as the all node being replaced.
There was a problem hiding this comment.
Incorporated in 689cacc. The migration example now shows the compact node in Phase 2 using --node-id=node0 — the same node-id as the all-mode node being replaced — with a comment making this requirement explicit.
| - `process`: Data processing and transformations | ||
|
|
||
| > [!Warning] | ||
| > Use `all` mode for **single-node** Enterprise deployments only. |
There was a problem hiding this comment.
| > Use `all` mode for **single-node** Enterprise deployments only. | |
| > #### Don't use all mode in a multi-node cluster | |
| > | |
| > Use `all` mode for **single-node** Enterprise deployments only. |
There was a problem hiding this comment.
Applied in 689cacc. The warning now has a heading "Don't use all mode in a multi-node cluster" and the opening line matches your suggestion.
|
|
||
| > [!Warning] | ||
| > Use `all` mode for **single-node** Enterprise deployments only. | ||
| > Avoid using `all` mode in a multi-node cluster—some cluster features such as replication and catalog refresh aren't designed to work with `all`-mode nodes. |
There was a problem hiding this comment.
| > Avoid using `all` mode in a multi-node cluster—some cluster features such as replication and catalog refresh aren't designed to work with `all`-mode nodes. | |
| > Some cluster features such as replication and catalog refresh aren't designed to work with `all`-mode nodes. |
| - Increasing query times due to file fragmentation | ||
|
|
||
| **Solution:** Add compactor nodes or increase DataFusion threads (see [Compactor node issues](#compactor-node-issues)) | ||
| **Solution:** For nodes using the default Parquet-backed storage engine, increase DataFusion threads on your single compactor node (see [Compactor node issues](#compactor-node-issues)). |
There was a problem hiding this comment.
| **Solution:** For nodes using the default Parquet-backed storage engine, increase DataFusion threads on your single compactor node (see [Compactor node issues](#compactor-node-issues)). | |
| **Solution:** For nodes using the Parquet-backed storage engine, increase DataFusion threads on your single compactor node (see [Compactor node issues](#compactor-node-issues)). |
| ### From single-node to specialized cluster | ||
|
|
||
| > [!Note] | ||
| > `all` mode is intended for single-node Enterprise deployments. |
There was a problem hiding this comment.
| > `all` mode is intended for single-node Enterprise deployments. | |
| > `all` mode is only for single-node Enterprise deployments. |
|
|
||
| > [!Note] | ||
| > `all` mode is intended for single-node Enterprise deployments. | ||
| > When scaling to a multi-node cluster, replace `all` with explicit modes and assign `compact` to exactly one node. |
There was a problem hiding this comment.
| > When scaling to a multi-node cluster, replace `all` with explicit modes and assign `compact` to exactly one node. | |
| When scaling a single `all` node cluster to a multi-node cluster: | |
| - Replace the `all` node with nodes that have explicit, specialized modes | |
| - Assign `compact` mode to exactly one node that uses the same node-id as the `all` node being replaced |
| > `all` mode is intended for single-node Enterprise deployments. | ||
| > When scaling to a multi-node cluster, replace `all` with explicit modes and assign `compact` to exactly one node. | ||
|
|
||
| ```bash |
There was a problem hiding this comment.
@copilot Fix the notation/syntax in this "bash" example so that it represents real code. Observe the following for all examples scaling from all mode to a multi-node cluster:
- Replace the
allnode with nodes that have explicit, specialized modes- Assign
compactmode to exactly one node that uses the same node-id as theallnode being replaced
- Warning callout: add heading 'Don't use all mode in a multi-node cluster'; reword opening lines per review suggestions - Compaction troubleshooting: remove 'default' qualifier before 'Parquet-backed storage engine' - Migration section: rewrite note to say 'is only for'; move scaling guidance outside the callout as bullet points; replace pseudo-bash with real influxdb3 serve commands; incorporate same-node-id requirement for compact node when replacing an all-mode node Agent-Logs-Url: https://github.com/influxdata/docs-v2/sessions/50bbe0a2-e066-4da0-8e00-afe917dba91b Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Run only one compactor node per cluster
clustering.mdshowed architecture examples with multiple nodes incompactorallmode, contradictingmulti-server.md's correct statement that only one compactor node is allowed per cluster. Running multiple compactors causes data corruption.Don't use
allmode in a multi-node clusterUse
--mode=allfor single-node Enterprise deployments only.allmode is not compatible with multi-node clustering—some cluster features such as replication and catalog refresh aren't designed to work withall-mode nodes. In a multi-node cluster, use explicit modes (ingest,query,compact,process) and assigncompactto exactly one node.Changes
Explicit warnings added:
[!Warning]callout with heading "Don't use all mode in a multi-node cluster":allmode is for single-node Enterprise only; multi-node clusters must use explicit modes withcompactassigned to exactly one nodeCluster architecture examples corrected:
all→ingest,query,compact; Nodes 2–3 changed fromall→ingest,querycompact,processon both) → Node 5compact, Node 6processprocessgroup (now Nodes 10–12)Troubleshooting / migration corrected:
allmode appears only in Phase 1 (single-node baseline); migration guidance now includes the requirement that thecompactnode must use the same--node-idas theall-mode node being replaced; pseudo-bash replaced with realinfluxdb3 servecommands across migration phases