Skip to content

Document Enterprise compaction and replication serve flags #6912

@jstirnaman

Description

@jstirnaman

Summary

InfluxDB 3 Enterprise has several undocumented influxdb3 serve configuration flags for compaction,
replication, and caching. These flags exist in source since v3.0.0, work at runtime, and are
configurable via CLI flags or environment variables, but are not covered in the docs.

CAUTION: Some of these options may be experimental or intentionally hidden for good reason

Flags to document

Compaction

Flag Env var Default Description
--compaction-check-interval INFLUXDB3_ENTERPRISE_COMPACTION_CHECK_INTERVAL 10s Interval for checking for new data to compact
--compaction-row-limit INFLUXDB3_ENTERPRISE_COMPACTION_ROW_LIMIT 1000000 Soft limit on rows per output file
--compaction-max-num-files-per-plan INFLUXDB3_ENTERPRISE_COMPACTION_MAX_NUM_FILES_PER_PLAN 500 Max files per compaction plan (limits memory)
--compaction-gen2-duration INFLUXDB3_ENTERPRISE_COMPACTION_GEN2_DURATION 20m Duration of first compaction level
--compaction-multipliers INFLUXDB3_ENTERPRISE_COMPACTION_MULTIPLIERS 3,4,6,5 Multipliers for compaction level durations
--compaction-cleanup-wait INFLUXDB3_ENTERPRISE_COMPACTION_CLEANUP_WAIT 1h Wait before deleting files after compaction
--database-split-level INFLUXDB3_ENTERPRISE_DATABASE_SPLIT_LEVEL 3 Generation level to start splitting by database
--table-split-level INFLUXDB3_ENTERPRISE_TABLE_SPLIT_LEVEL 4 Generation level to start splitting by table
--max-compact-destination INFLUXDB3_ENTERPRISE_MAX_COMPACT_DESTINATION Max generation level that can receive compactions

Replication & catalog

Flag Env var Default Description
--catalog-sync-interval INFLUXDB3_ENTERPRISE_CATALOG_SYNC_INTERVAL 1s Interval for syncing catalog state
--replication-interval INFLUXDB3_ENTERPRISE_REPLICATION_INTERVAL 250ms Polling interval for replicated WAL files
--checkpoint-interval INFLUXDB3_CHECKPOINT_INTERVAL Interval for checkpointing

Caching & other

Flag Env var Default Description
--preemptive-cache-age INFLUXDB3_PREEMPTIVE_CACHE_AGE 3d Age threshold for preemptive cache population
--enable-auto-dvc INFLUXDB3_ENTERPRISE_ENABLE_AUTO_DVC false Auto-create distinct value caches on query
--wal-replay-fail-on-error INFLUXDB3_WAL_REPLAY_FAIL_ON_ERROR false Fail on corrupt WAL files instead of skipping
--conn-info INFLUXDB3_ENTERPRISE_CONN_INFO Connection info flag
--operator-socket-path INFLUXDB3_OPERATOR_SOCKET_PATH Unix socket path for operator interface

The inconsistency: the serve CLI reference table lists --compaction-row-limit as an active option linking to
config-options/#compaction-row-limit, but that anchor doesn't exist because the config-options section is commented out. That's a broken
link.

File State
content/shared/influxdb3-cli/config-options.md:1362 TOC link HTML-commented out
content/shared/influxdb3-cli/config-options.md:1375 Full section (heading, description, env var table) HTML-commented out
content/shared/influxdb3-admin/performance-tuning.md:485 Shown as bash comment in code example
content/influxdb3/enterprise/admin/clustering.md:211 Shown as bash comment in code example
content/influxdb3/enterprise/reference/cli/influxdb3/serve.md:76 Listed in the CLI flags table with a link to config-options

Source

  • influxdb3_enterprise/clap_blocks/src/serve.rs (Enterprise flags)
  • influxdb3/src/commands/serve.rs (shared flags)
  • All flags present since v3.0.0, confirmed at v3.8.3
  • Source analysis via docs-tooling /dar-analyze
  • Related: influxdata/influxdb_pro#2671 (missing from --help-all static text)
  • Related: "Safe" compaction tuning

Metadata

Metadata

Labels

product:v3-monolithInfluxDB 3 Core and Enterprise (single-node / clusterable)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions