Configuration reference¶
Siglake rename
Product names, commands and links were normalized during the Siglake migration. Retained generation dates and commit IDs below identify the archived pre-rename source and binaries; they are not new build evidence.
CLI flags and SIGLAKE_* environment variables configure Siglake. If both
set the same option, the CLI flag takes precedence. Siglake's own OTLP export
is configured with the standard OTEL_* variables instead, under
Observability.
Object-store credentials use the provider's standard environment variables.
For example, S3-compatible stores use AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY, AWS_REGION and AWS_ENDPOINT_URL.
Core addressing¶
Every role needs to know where the warehouse and catalog are.
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_WAREHOUSE_URL |
(local dir) | s3://bucket/prefix, gs://…, file://…. |
SIGLAKE_CATALOG_URI |
SQLite under the warehouse | postgres://user:pass@host/db or sqlite://path?mode=rwc. |
SIGLAKE_DATA_DIR |
./data |
Local root for siglake-query-server. The siglake binary uses the global --data-dir flag instead. Consulted only when no warehouse URL is set. |
Authentication¶
| Variable | Applies to | Default | Meaning |
|---|---|---|---|
SIGLAKE_AUTH_TOKENS |
ingester | None (open) | Comma-separated bearer tokens. |
SIGLAKE_QUERY_TOKENS |
query | None (open) | Comma-separated bearer tokens. |
SIGLAKE_OIDC_ISSUER |
both | None (disabled) | OpenID Connect (OIDC) issuer URL. Takes precedence over tokens. |
SIGLAKE_OIDC_AUDIENCE |
both | None | Expected aud claim. Required with an issuer. |
SIGLAKE_OIDC_TENANT_CLAIM |
both | None | JSON Web Token (JWT) claim carrying the tenant ID. Setting it makes the claim mandatory on both boundaries. Siglake refuses a missing, blank, non-string, overlength or invalid claim with 403 before routing. Ingest also refuses a conflicting X-Scope-OrgID. See Multi-tenancy. |
SIGLAKE_ALLOWED_TENANTS |
ingester | None (any tenant) | Comma-separated tenant allowlist. Set when the tenant set is known. |
SIGLAKE_QUERY_ALLOWED_TENANTS |
query | None (any routed tenant) | Comma-separated exact allow-list for verified tenant claims. A non-empty value requires SIGLAKE_OIDC_TENANT_CLAIM and stays independent from SIGLAKE_ALLOWED_TENANTS. |
SIGLAKE_MAX_TENANTS |
ingester | 0 (unbounded) |
Distinct tenants to create before refusing new ones. |
SIGLAKE_INGEST_MAX_LANES |
ingester | 0 (unbounded) |
Distinct (tenant, index) backpressure lanes to create before refusing new ones. |
SIGLAKE_QUERY_TLS_CERT |
query | None (HTTP only) | PEM certificate-chain path. Pair with SIGLAKE_QUERY_TLS_KEY to enable HTTPS. |
SIGLAKE_QUERY_TLS_KEY |
query | None (HTTP only) | PEM file containing the private key for SIGLAKE_QUERY_TLS_CERT. |
Ingest¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_INGESTER_ID |
(generated) | Identifies this ingester in segment file names. |
SIGLAKE_INGEST_MAX_BODY_BYTES |
16777216 |
Request body cap. Axum's 2 MB default rejects normal shipper batches. |
SIGLAKE_INGEST_BACKPRESSURE_CAPACITY |
1024 |
Per-tenant lane depth. 0 reverts to the mutex-serialized path. |
SIGLAKE_INGEST_BACKPRESSURE_SHARDS |
1 |
Writer tasks per tenant. |
SIGLAKE_INGEST_GROUP_COMMIT_MS |
0 |
Group-commit accumulation window. Trades ack latency for fsync amortization. |
SIGLAKE_INGEST_RATE_PER_SEC |
0 (off) |
Steady-state token-bucket rate. |
SIGLAKE_INGEST_RATE_BURST |
0 |
Bucket capacity. |
SIGLAKE_INGEST_RATE_REDIS_URL |
None | Share the budget across replicas. |
SIGLAKE_INGEST_RATE_REDIS_PREFIX |
siglake:rb |
Redis prefix. Use a unique one per deployment. |
SIGLAKE_INGEST_MEM_LIMIT_MIB |
0 (off) |
RSS ceiling for the shed-load breaker. |
SIGLAKE_INGEST_MEM_SAMPLE_SECS |
60 |
RSS sampling interval. |
SIGLAKE_OTLP_GRPC_LISTEN |
0.0.0.0:4317 |
OTLP/gRPC logs and traces listener. Use --disable-otlp-grpc to turn it off. |
SIGLAKE_ES_COMPAT_VERSION |
7.10.2 |
Version advertised by the Elasticsearch-compatible root response. |
WAL¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_WAL_MIRROR_PREFIX |
wal-mirror with a warehouse URL; otherwise off |
Mirror WAL segments under this prefix. Set an empty value to turn mirroring off. |
SIGLAKE_WAL_ACTIVE_MIRROR_INTERVAL_SECS |
0 |
Also mirror the open segment every N seconds. Successful uploads target N-second PVC-loss exposure only for filesystem-drain recovery; acknowledgements do not wait, so upload delays or failures extend it. Catalog-claim recovery reconciles sealed objects only and gains no active-snapshot target. See monitoring. |
SIGLAKE_WAL_IDENTITY_REFRESH_SECS |
30 |
Seconds between table-UUID checks for each ingest lane. 0 disables refresh after the lane opens. A shorter interval costs one catalog metadata read per lane per interval. See index management for the acknowledgement window during index recreation. |
SIGLAKE_MIRROR_SYNC_INTERVAL_SECS |
None | Mirror sweep cadence. |
SIGLAKE_MIRROR_LEDGER_RECLAIM / compactor.mirrorLedgerReclaim |
off | Let a filesystem drain mark each segment it commits in the wal_segments ledger, so committed retention deletes that segment's mirror object and then its row. 1, true, yes or on turn it on; any other value, including an unset variable, leaves it off. Marking needs a catalog URI, a warehouse URL and a non-empty mirror prefix: without all three the compactor warns and keeps draining while the prefix grows. A catalog-claim drain reclaims without this knob. The operator has no field for it; set it through spec.extraEnv. See Committed retention purges drained mirror objects. |
Segment roll thresholds are flags, not env vars: --wal-max-events (4096)
and --wal-max-age-secs (5). The age bound is the
freshness floor.
Drain and commit¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_DRAIN_CONCURRENCY |
Commits kept in flight continuously. | |
SIGLAKE_DRAIN_FETCH_CONCURRENCY |
Parallel segment fetches. | |
SIGLAKE_DRAIN_CYCLE_BUDGET_SECS |
Per-pass budget, so maintenance keeps its cadence. | |
SIGLAKE_DRAIN_INFLIGHT_BUDGET_MB |
Byte budget for in-flight commits. | |
SIGLAKE_DRAIN_WATCHDOG_SECS |
Wedge detection. | |
SIGLAKE_COMMIT_BATCH_TARGET_MB |
32 to 64 |
Commit-accumulation target. 0 opts out to commit-per-segment. |
SIGLAKE_COMMIT_BATCH_MAX_AGE_SECS |
10 |
Age floor forcing a commit. |
SIGLAKE_SIDE_AGG_WRITE_BEHIND |
0 |
Move the side-aggregate read-modify-write off the commit path. |
SIGLAKE_DELETE_TASKS |
on | Run queued predicate-delete sweeps during idle compactor cycles. 0, off, false, or no disables execution. |
SIGLAKE_SNAPSHOT_EXPIRE_INTERVAL_SECS |
60 |
Snapshot-expiry cadence. 0 disables automatic expiry. |
SIGLAKE_SNAPSHOT_RETAIN_LAST |
100 |
Number of recent snapshots retained by automatic expiry. |
Compaction¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_COMPACTOR_LEVELED |
(unset = on) | LSM leveled compaction is the default. 0, off, or false selects the legacy flat whole-partition pass. |
SIGLAKE_COMPACTOR_LEVEL_CEILINGS_MB |
128,1024,8192 |
Ascending level ceilings. |
SIGLAKE_COMPACTOR_LEVEL_TRIGGER_FILES |
8 |
Files at a level before it's eligible. |
SIGLAKE_COMPACTOR_LEVEL_MAX_FANIN |
64 |
Max files merged per pass. |
SIGLAKE_COMPACTOR_LEVEL_MAX_GEN |
4 |
Write-amplification cap. 0 disables. |
SIGLAKE_COMPACTOR_LEVEL_INTERVALS_SECS |
10,60,3600 |
Per-level pass cadence. |
SIGLAKE_COMPACTOR_MAX_OVERLAP_DEPTH |
12 |
Depth trigger. 0 disables. |
SIGLAKE_COMPACTOR_MAX_SEALED_FOR_RECLUSTER |
256 |
Backlog gate above which maintenance yields. |
SIGLAKE_COMPACTOR_BACKPRESSURE_COMPACT_EVERY |
4 |
Run one throttled merge every N backlogged cycles. |
SIGLAKE_COMPACTOR_CATALOG_CLAIM |
off | Use the wal_segments SQL claim table instead of local sealed/. Required for multi-pod compactors. |
SIGLAKE_COMPACTOR_ID |
(generated) | Identifies this compactor in claims. |
SIGLAKE_MERGE_CHUNK_ROWS |
Row-chunk size for the page-bounded merge. | |
SIGLAKE_PARQUET_TARGET_ROW_GROUP_BYTES |
268435456 (256 MiB) |
Target uncompressed decoded bytes per Parquet row group. The writer divides this value by a row size measured on the first batch it writes, then clamps the result to 128 Ki through 4 Mi rows, so the target sets a row count rather than a byte cap. 0 and unparseable values fall back to the default. Since 0.2.0, it sizes leveled-compaction, re-cluster, and streaming delete-rewrite output as well as ingest flush output, and those paths measure row size differently from ingest flush: see Two estimators read one row-group target. The open row group is held decoded in whole Arrow buffers, so resident bytes run over the target; on the merge-side fixture they reach about twice it. No chart value renders it; set it for compactor writers through compactor.extraEnv. |
SIGLAKE_AGG_SHORT_SCAN_INTERVAL_SECS |
900 |
How often the maintenance pass censuses each maintained table for a group-count aggregate short of total-records. 0, off, disabled, or never switch the census off. |
SIGLAKE_AGG_SHORT_REPAIR |
off | Let the census rebuild a short aggregate. 1, true, yes, or on enable it; any other value leaves the census reporting only. Each table incarnation gets at most four automatic scans: the first retry waits 15 minutes, then later retries wait one hour and four hours. A successful manual rebuild clears applicable attempt history after publication. See Rebuild a short group-count aggregate with durable backoff. |
SIGLAKE_AGG_SHORT_REPAIR_MAX_TABLES |
1 |
Tables one census pass may rebuild when repair is on. A value below 1 or an unparseable value falls back to 1. |
SIGLAKE_INLINE_COVERAGE_SCAN_INTERVAL_SECS |
900 |
How often the maintenance pass censuses each maintained table for an inline aggregate object that cannot prove coverage of the current snapshot. 0, off, disabled, or never switch the census off. The census reads only; it reports on siglake_inline_coverage_unproven and SiglakeInlineCoverageUnproven, and the repair stays siglake rebuild-time-aggregates. No chart value renders it; set it through compactor.extraEnv. |
Catalog claim¶
The catalog claim mechanism protects a write-ahead log (WAL) segment from
being drained by two compactor pods. Two settings control stale catalog claims.
Catalog claims have no renewable lease or claim time to live (TTL).
SIGLAKE_CLAIM_RECLAIM_MAX_AGE_SECS controls when recovery considers a
processing claim abandoned. SIGLAKE_CLAIM_RECLAIM_INTERVAL_SECS controls
how often recovery checks.
Catalog claim settings¶
These settings control recovery and retention for catalog-claim drains.
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_CLAIM_RECLAIM_MAX_AGE_SECS |
900 |
Age of a processing claim before another drain may reclaim it. 0 and unparseable values resolve to 900, and the compactor warns once per process; positive values below 900 are honored. Size this from observed append latency, not claim latency. |
SIGLAKE_CLAIM_RECLAIM_INTERVAL_SECS |
60 |
Reclaim-sweep cadence. 0 means every drain cycle, not off; recovery from a dead worker cannot be disabled. Unparseable values resolve to 60. |
SIGLAKE_COMMITTED_RETENTION_SECS / compactor.committedRetentionSecs |
86400 |
Purge successfully drained mirror objects and catalog rows after 24 hours. 0 disables purging; non-zero values are floored at 901 seconds. See Mirror reconciliation and retention before changing retention. |
Indexing and promotion¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_INDEX_AT_FLUSH |
inline | 0 defers raw-text index build to compaction. |
SIGLAKE_INVERTED_INDEX |
on | 0 turns off per-file inverted indexes. Any other value, including an unset variable, leaves them on. |
SIGLAKE_INDEX_REBUILD |
off | 1 turns on the pass that registers Puffin inverted indexes for rewritten files after a compaction or delete-task rewrite. Any other value, including an unset variable, leaves it off. Queries read the indexes a file already has either way. |
SIGLAKE_INDEX_FOOTER_MAX_BYTES |
1048576 (1 MiB) |
Threshold above which an index goes to a Puffin sidecar. |
SIGLAKE_INDEX_LOAD_CONCURRENCY |
4 |
Cold per-file inverted-index loads a process runs at once, counted across every warehouse it reads. The permit covers the Puffin blob fetch and decode and the footer-KV decode; a warm parsed-index cache hit takes no permit. 0 and unparseable values fall back to 4. |
SIGLAKE_SEGMENTED_INDEX_WRITES |
off | Siglake 0.2.0 and later. 1 makes the compactor's streaming re-cluster write segmented (seg2) text indexes. See Segmented text indexes: the seg2 write and read switches. |
SIGLAKE_SEGMENTED_INDEX_READS |
off | Siglake 0.2.0 and later. 1, true, yes or on let a query answer a text predicate from a seg2 sidecar. |
SIGLAKE_SEGMENTED_INDEX_DIRECTORY_CACHE_MAX_BYTES |
67108864 (64 MiB) |
Process-wide byte budget for seg2 directories held between queries. 0 keeps nothing. Unparseable values fall back to the default. |
SIGLAKE_SEGMENTED_INDEX_RANGE_CONCURRENCY |
<!-- BEGIN GENERATED SEGMENTED RANGE CONCURRENCY DEFAULT -->10<!-- END GENERATED SEGMENTED RANGE CONCURRENCY DEFAULT --> |
Siglake 0.2.0 and later. Maximum number of concurrent range fetches within one seg2 lookup stage, rather than a process-wide request budget. It leaves seg2 reads disabled unless SIGLAKE_SEGMENTED_INDEX_READS is on. Unset, 0, and unparseable values fall back to 10. |
SIGLAKE_AUTO_PROMOTE_MIN_PCT |
0 (off) |
Percent of sampled rows an attribute must appear in before automatic promotion. |
SIGLAKE_AUTO_PROMOTE_MAX_COLUMNS |
16 |
Total promoted-column cap. |
SIGLAKE_AUTO_PROMOTE_SAMPLE_FILES |
4 |
Live files one sampling pass reads, newest first. Clamped to 1 through 64: 0 resolves to one file, and an unparseable value falls back to 4. |
SIGLAKE_AUTO_PROMOTE_SAMPLE_ROWS |
4096 |
Rows the pass reads from each of those files. Clamped to 256 through 65,536; unparseable values fall back to 4096. |
Where an inverted index lands: Parquet footer or Puffin sidecar¶
SIGLAKE_INDEX_FOOTER_MAX_BYTES is the per-column threshold. A serialized
index within it rides in the Parquet footer's metadata. A column whose index
exceeds it goes to a Puffin sidecar instead, and the rewrite commit does not
register that sidecar.
A streamed rewrite writes no footer inverted index at all, so every merge past
the in-memory caps leaves its output unindexed until something registers a
sidecar. That something is the post-rewrite pass SIGLAKE_INDEX_REBUILD turns
on. The pass skips a file and column whose Parquet footer already carries the
index or whose table metadata already registers a blob for the pair. Reads do
not depend on the switch: a query uses whatever index a file carries and scans
a file with none. Post-compaction index
rebuilding
gives the cost behind that default.
Segmented text indexes: the seg2 write and read switches¶
SIGLAKE_SEGMENTED_INDEX_WRITES and SIGLAKE_SEGMENTED_INDEX_READS move
independently, and both are off by default. Writing a seg2 sidecar does not
make a query read one, and reading is safe on a table no writer has touched.
Set writes to 1 and the compactor's streaming re-cluster builds a segmented
(seg2) text index one Parquet row group at a time and registers it with the
rewrite commit. Any other value, including an unset variable, leaves it off.
The in-memory merge arm, ingest flush and delete-task rewrites write v1 indexes
either way.
Set reads to 1, true, yes or on and a query answers a text predicate
from a seg2 sidecar with partial reads. Any other value leaves reads off, and a
file whose only text index is seg2 is scanned. The value is read once per
process, and nothing consults
the seg2 directory cache while reads are off. That cache budget,
SIGLAKE_SEGMENTED_INDEX_DIRECTORY_CACHE_MAX_BYTES, is counted across every
warehouse the process reads; at 0 every lookup rereads the trailer and the
directory.
Neither switch has a chart value or an operator field; set them through
compactor.extraEnv and query.extraEnv. Segmented text indexes
(seg2) has the format and
the metadata names.
Auto-promotion sampling bounds¶
SIGLAKE_AUTO_PROMOTE_SAMPLE_FILES and SIGLAKE_AUTO_PROMOTE_SAMPLE_ROWS
decide what a promotion is inferred from and what the sampling pass costs.
Their product is the number of residual JSON documents one pass parses, every
300 seconds, on a compactor whose SIGLAKE_AUTO_PROMOTE_MIN_PCT is above zero.
At the defaults that is 4 files x 4,096 rows. Sample more rows when a wanted
attribute sits below the threshold only because the sample is small; raise the
file count when recent files differ in shape. Neither bound turns promotion
off: SIGLAKE_AUTO_PROMOTE_MIN_PCT=0 does, and
SIGLAKE_AUTO_PROMOTE_MAX_COLUMNS=0 leaves the pass inert with the threshold
in place. Neither has a chart value; set them through compactor.extraEnv.
Query¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_QUERY_BIND |
0.0.0.0:8089 |
API bind address. |
SIGLAKE_QUERY_METRICS_BIND |
0.0.0.0:9105 |
Metrics bind address. |
SIGLAKE_QUERY_MAX_ROWS |
1000000 |
Server-side cap on rows returned. It can only tighten the per-tier limits below. See Row caps. |
SIGLAKE_QUERY_EXEC_THREADS |
max(2, CPUs - 2) |
Worker count for the dedicated plan-execution runtime. 0 disables offload. |
SIGLAKE_QUERY_PEERS |
None | Comma-separated worker base URLs. Enables distributed coordination. |
SIGLAKE_QUERY_COORDINATOR_TOKEN |
None | Bearer token the coordinator presents to peers. |
SIGLAKE_JOBS_POSTGRES_URI |
None (in-memory) | Postgres URI for batch-job state that survives query-pod restarts. |
SIGLAKE_QUERY_WAL_BUFFER_DIR |
None (disabled) | WAL root whose sealed and processing segments are unioned into events and each managed index the query references. |
SIGLAKE_QUERY_AUDIT_DISABLED |
false |
Disable writes to the query_audit table. Intended for smoke environments. |
SIGLAKE_QUERY_SCAN_PARTITIONS |
(DataFusion default) | Source partitions from the custom scan. |
SIGLAKE_QUERY_SCAN_READER_BUDGET |
(derived) | Aggregate object-store reader budget per query. |
SIGLAKE_QUERY_SCAN_FILE_CONCURRENCY |
(derived) | Per-partition read concurrency. |
SIGLAKE_QUERY_SCAN_BATCH_SIZE |
(reader default) | Target Arrow batch size. |
SIGLAKE_REVERSED_CHUNK_ROWS |
32768 |
Chunk size for reversed (non-declared-direction) decode. |
SIGLAKE_ORDERED_MERGE_MAX_FANIN |
4 × CPUs, clamped to 16 through 64 |
Open streams per partition in the k-way ordered merge. The default scales with the node. An explicit value is not clamped; Siglake ignores values below 2. |
SIGLAKE_ORDERED_MERGE_GLOBAL_FANIN |
8 × CPUs, clamped to 32 through 128 |
Whole-scan budget for all per-partition merge streams. A scan that needs more reports global_fan_in instead of early stopping. See Ordered browses are slow. An explicit value follows the same rules as the per-partition cap. |
SIGLAKE_BUFFER_DELTA_MAX_BYTES |
Cap on WAL-buffer data folded into fast paths. | |
SIGLAKE_GROUP_COUNT_FAST_PATH |
on | Toggle the group-count fast path. |
SIGLAKE_TYPED_GROUP_COUNT_CARDINALITY |
1024 |
Whole-table distinct-count cap for exact group counts on typed measurement columns admitted by inference or rebuild-group-counts --admit-typed-columns. Declared dimensions use SIGLAKE_TABLE_GROUP_COUNT_CARDINALITY instead. Raising this cap increases per-commit delta size and counting work. |
Row caps¶
SIGLAKE_QUERY_MAX_ROWS is not the only bound on rows returned. Each priority
tier carries its own default and its own ceiling, and the variable is folded
into the ceiling only:
| Tier | Rows returned when the request asks for none | Tier ceiling |
|---|---|---|
interactive (the priority a request gets if it sets none) |
10,000,000 | 10,000,000 |
batch |
100,000 | 1,000,000,000 |
The cap a request actually runs under is
effective_ceiling = min(tier ceiling, SIGLAKE_QUERY_MAX_ROWS)
resolved_cap = min(limits.max_rows_returned or the tier default, effective_ceiling)
so the variable can only tighten those numbers, never loosen them. Two consequences an operator raising it should expect:
- Raising it above
10000000changes nothing on the interactive tier, and above1000000000nothing on the batch tier: the tier ceiling wins. At the shipped default of1000000the variable is the binding interactive cap, so it is the one to raise for arecordsresponse that came backtruncatedup to 10,000,000. Above that ceiling, the request needs a smaller result rather than a larger cap. It is also one possible binding ceiling on a Jaeger read refused with413; the Jaeger-specific trace, span-row, Arrow-byte, and name ceilings instead follow the admission reservation, which moves withSIGLAKE_QUERY_ADMISSION_BUDGET_BYTES, the share divisor, and pod memory. - A
batchrequest that sets nolimits.max_rows_returnedresolves to 100,000 rows however high the variable is set, because the binding number there is the tier default and the variable does not touch defaults. A batch caller who wants more has to ask per request; that ask is then clamped by the batch ceiling and by this variable.
Clipped-limit admission ramp¶
An unordered LIMIT scan starts one partition and widens the admitted set each
time the admitted partitions have emitted their own number of batches or one of
them ends. SIGLAKE_SCAN_CLIPPED_ADMISSION_WAVE is the factor it widens by,
2 by default, so the admitted count doubles per step and the scan reaches full
fan-out in log2(partitions) steps. 0 turns the ramp off and starts every
partition at once. 1 resolves to 2, and an unparseable value falls back to
2. The ramp is scheduling only: a partition that waits still reads every row
it would have read, and the limit still applies above the residual filter, so
no qualifying row is lost. It has no chart value or operator field; set it
through query.extraEnv. Pruning names
the two metrics that report it.
Guardrails¶
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_QUERY_CEILING_ROWS_SCANNED |
100000000 |
Interactive-query row-scan ceiling enforced by the mid-flight breaker. |
SIGLAKE_QUERY_CEILING_BYTES_SCANNED_GB |
100 (GiB) |
Interactive-query estimated-byte ceiling enforced before execution. |
SIGLAKE_QUERY_ADMISSION_BUDGET_BYTES |
Query memory-pool limit (4 GiB fallback) | Per-process memory-admission budget for interactive queries. |
SIGLAKE_QUERY_ADMISSION_DECOMPRESSION_FACTOR |
4 |
Multiplier from estimated compressed scan bytes to admission reservation. |
SIGLAKE_QUERY_ADMISSION_MAX_SHARE_DIVISOR |
4 (minimum 1) |
The largest share of the admission budget one query may reserve is the budget divided by this value. Values below 1 are ignored and use the default. An admitted batch job holds exactly one share until it finishes or is cancelled. The default is four rather than two because the memory pool bounds memory; admission prevents a thundering herd of heavy scans. |
SIGLAKE_QUERY_ADMISSION_WAIT_MS |
2000 |
Time to wait for admission budget before returning HTTP 429. |
SIGLAKE_QUERY_MEMORY_POOL_TRACK_CONSUMERS |
on | Wrap the pool in DataFusion's TrackConsumersPool so GET /debug/memory-pool can name the ten largest live consumers and the idle-residual warning can name its holder. 0, off, false, or no disable tracking. Tracking adds a second mutex operation per grow or shrink; leave it on unless measuring that cost. |
Spill¶
Sorts and aggregates that reach the shared memory pool spill to local disk instead of growing until the kernel intervenes; see Execution tiers. The parsing rules differ from the Helm chart's packaged values, which are described under Query spill and ephemeral storage.
| Variable | Default | Meaning |
|---|---|---|
SIGLAKE_QUERY_SPILL_DIR |
(OS temp dir) | Directory DataFusion writes spill files to. Empty or unset leaves DataFusion's default, the process temp directory (TMPDIR, else /tmp). The chart sets /var/lib/siglake/spill and mounts a size-limited emptyDir there. |
SIGLAKE_QUERY_SPILL_MAX_BYTES |
(DataFusion default) | Byte cap on the spill directory. Missing, 0, and unparseable values keep DataFusion's own default cap, 100 GiB at the DataFusion 53.1 release Siglake pins. A query whose spill would cross the cap returns 503 with Retry-After: 5, the same answer as a memory-pool refusal. The chart sets 8589934592 (8 GiB) so the cap sits below the emptyDir size limit and the pod's ephemeral-storage limit. |
Caches¶
| Variable | Meaning |
|---|---|
SIGLAKE_FOOTER_CACHE_CAP |
Per-file footer cache capacity. |
SIGLAKE_AGG_RESULT_CACHE_CAP |
Aggregate result cache capacity. |
SIGLAKE_DATA_FILE_LIST_CACHE_CAP |
File-list cache capacity. |
SIGLAKE_OBJECT_CACHE_BYTES |
Byte-range object cache budget. 0 disables. |
SIGLAKE_ICEBERG_FOOTER_CACHE_MAX_ENTRIES |
Iceberg-layer footer cache. |
SIGLAKE_ICEBERG_METADATA_CACHE_TTL_SECS |
Table-metadata cache TTL. |
SIGLAKE_QUERY_RESULT_CACHE=off is a measurement knob
It disables result-level memoization process-wide. Use it when benchmarking. With result caches on, repeated queries measure cached reads. Do not set it as a tuning parameter in production.
Result caches are snapshot-keyed and never TTL-expired, by standing invariant.
Observability¶
| Variable | Meaning |
|---|---|
RUST_LOG |
Log filter, e.g. info,siglake=debug; filtered output is written to stderr. |
SIGLAKE_LOG_EXEC_PLANS |
Log physical plans. Verbose; for debugging. |
OTLP export of Siglake's own logs and traces¶
Since 0.2.0, every Siglake process can export its own log records and spans over
OTLP/HTTP. Export is off until OTEL_EXPORTER_OTLP_ENDPOINT is set, and
metrics are not part of it: they stay on /metrics for Prometheus. Each
variable is read once, at startup. Export Siglake's own logs and
traces has the deployment steps and the collector
configuration an OTLP-only backend needs.
| Variable | Default | Meaning |
|---|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT |
None (export off) | OTLP/HTTP base endpoint, for example http://otel-collector:4318. Unset or empty builds no exporter. |
SIGLAKE_OTEL_DISABLED |
unset (export follows the endpoint) | 1 or true turns export off with the endpoint left in place. |
OTEL_TRACES_EXPORTER |
unset (spans export) | none or off drops spans. Log records keep exporting. |
OTEL_LOGS_EXPORTER |
unset (log records export) | none or off drops log records. Spans keep exporting. |
OTEL_SERVICE_NAME |
siglake-<component> |
service.name. The component is ingest, compactor, query, operator or cli, taken from the binary and its subcommand. |
OTEL_SERVICE_NAMESPACE |
None | service.namespace. |
OTEL_RESOURCE_ATTRIBUTES |
None | Further resource attributes as k=v,k=v. |
OTEL_EXPORTER_OTLP_HEADERS |
None | Exporter headers as k=v,k=v, such as the credential a hosted backend requires. |
HOSTNAME, HOST |
None | host.name. HOSTNAME wins when both are set. |
POD_NAME |
None | service.instance.id. |
RUST_LOG selects which log records export, the same filter it applies to the
console. HOSTNAME, HOST and POD_NAME are not Siglake variables: a
Kubernetes pod already carries HOSTNAME, and POD_NAME is one you inject
yourself with the downward API.
Full inventory¶
Every SIGLAKE_* variable referenced anywhere in the public source tree, plus
the OTEL_* variables the telemetry initializer reads, with the crates that
read each one. A crate is named by itself; the vendored Iceberg forks are named
by their third_party/<fork> path. Variables not documented above are internal
tuning knobs or test hooks. Treat them as unstable.
The generator takes an OTEL_* name only from a quoted lookup in the source, so
the table holds the standard OpenTelemetry environment and not the unrelated
constants the load generator names OTEL_*. HOSTNAME, HOST and POD_NAME
are read too and carry no prefix the generator can match, so they appear in
OTLP export of
Siglake's own logs and traces
above and not here.
This section is generated
Regenerate with ./scripts/gen-reference.sh /path/to/siglake.
Generated from Siglake commit 8a517387 on 2026-10-02.
| Variable | Referenced in |
|---|---|
SIGLAKE_AGG_FOLD_BUSY_BACKLOG |
siglake-compactor |
SIGLAKE_AGG_FOLD_INTERVAL_SECS |
siglake-compactor |
SIGLAKE_AGG_RESULT_CACHE_CAP |
siglake-storage |
SIGLAKE_AGG_SHORT_REPAIR |
siglake-compactor |
SIGLAKE_AGG_SHORT_REPAIR_MAX_TABLES |
siglake-compactor |
SIGLAKE_AGG_SHORT_SCAN_INTERVAL_SECS |
siglake-compactor |
SIGLAKE_ALLOWED_TENANTS |
siglake-cli, siglake-operator |
SIGLAKE_APPROXIMATE_GROUP_COUNTS |
siglake-query-server |
SIGLAKE_AUTH_TOKENS |
siglake-cli, siglake-operator |
SIGLAKE_AUTO_PROMOTE_MAX_COLUMNS |
siglake-compactor |
SIGLAKE_AUTO_PROMOTE_MIN_PCT |
siglake-compactor, siglake-operator |
SIGLAKE_AUTO_PROMOTE_SAMPLE_FILES |
siglake-compactor |
SIGLAKE_AUTO_PROMOTE_SAMPLE_ROWS |
siglake-compactor |
SIGLAKE_BUFFER_DELTA_MAX_BYTES |
siglake-query-server |
SIGLAKE_BUFFER_DELTA_MAX_SEGMENTS |
siglake-query-server |
SIGLAKE_BUILD_VERSION |
siglake-core |
SIGLAKE_CATALOG_URI |
siglake-cli, siglake-operator, siglake-query-server, siglake-storage |
SIGLAKE_CLAIM_RECLAIM_INTERVAL_SECS |
siglake-compactor |
SIGLAKE_CLAIM_RECLAIM_MAX_AGE_SECS |
siglake-compactor |
SIGLAKE_COMMITTED_RETENTION_SECS |
siglake-compactor |
SIGLAKE_COMMIT_BATCH_MAX_AGE_SECS |
siglake-cli |
SIGLAKE_COMMIT_BATCH_TARGET_MB |
siglake-cli |
SIGLAKE_COMMIT_CONCURRENCY |
siglake-storage |
SIGLAKE_COMMIT_FORCE_TIMEOUT_SECS |
siglake-cli, siglake-ingest |
SIGLAKE_COMPACTOR_BACKPRESSURE_COMPACT_EVERY |
siglake-compactor |
SIGLAKE_COMPACTOR_BACKPRESSURE_MAX_BINS |
siglake-compactor |
SIGLAKE_COMPACTOR_BIN_CONCURRENCY |
siglake-compactor, siglake-operator, siglake-storage |
SIGLAKE_COMPACTOR_CATALOG_CLAIM |
siglake-cli |
SIGLAKE_COMPACTOR_CATALOG_CLAIM_BATCH |
siglake-cli |
SIGLAKE_COMPACTOR_CONCURRENT_RECLUSTER |
siglake-compactor |
SIGLAKE_COMPACTOR_FS_CLAIM_MAX_BYTES |
siglake-cli, siglake-compactor |
SIGLAKE_COMPACTOR_FS_CLAIM_MAX_SEGMENTS |
siglake-cli, siglake-compactor |
SIGLAKE_COMPACTOR_ID |
siglake-cli |
SIGLAKE_COMPACTOR_LEVELED |
siglake-cli |
SIGLAKE_COMPACTOR_LEVEL_CEILINGS_MB |
siglake-cli |
SIGLAKE_COMPACTOR_LEVEL_INTERVALS_SECS |
siglake-cli |
SIGLAKE_COMPACTOR_LEVEL_MAX_FANIN |
siglake-cli |
SIGLAKE_COMPACTOR_LEVEL_MAX_GEN |
siglake-cli |
SIGLAKE_COMPACTOR_LEVEL_TRIGGER_FILES |
siglake-cli |
SIGLAKE_COMPACTOR_MAX_OVERLAP_DEPTH |
siglake-cli |
SIGLAKE_COMPACTOR_MAX_SEALED_FOR_RECLUSTER |
siglake-compactor |
SIGLAKE_COMPACTOR_POISON_ATTEMPTS |
siglake-cli, siglake-compactor |
SIGLAKE_COMPACTOR_PREEMPT_SEALED_MIN |
siglake-compactor |
SIGLAKE_COMPACTOR_ROLE |
siglake-cli |
SIGLAKE_DATA_DIR |
siglake-query-server |
SIGLAKE_DATA_FILE_LIST_CACHE_CAP |
siglake-storage |
SIGLAKE_DELETE_REWRITE_INRAM_MAX_MB |
siglake-storage |
SIGLAKE_DELETE_REWRITE_INRAM_MAX_ROWS |
siglake-storage |
SIGLAKE_DELETE_TASKS |
siglake-cli, siglake-operator, siglake-query-server |
SIGLAKE_DIST_BROWSE_MIN_SCAN_ROWS |
siglake-query-server |
SIGLAKE_DIST_SCAN_LOCAL_MAX_LIMIT |
siglake-query-server |
SIGLAKE_DRAIN_CONCURRENCY |
siglake-compactor, siglake-storage |
SIGLAKE_DRAIN_CYCLE_BUDGET_SECS |
siglake-compactor |
SIGLAKE_DRAIN_FETCH_CONCURRENCY |
siglake-compactor |
SIGLAKE_DRAIN_IDLE_BACKOFF_MS |
siglake-compactor |
SIGLAKE_DRAIN_INFLIGHT_BUDGET_MB |
siglake-compactor |
SIGLAKE_DRAIN_SHARD_COUNT |
siglake-compactor |
SIGLAKE_DRAIN_SHARD_INDEX |
siglake-compactor |
SIGLAKE_DRAIN_WATCHDOG_SECS |
siglake-compactor |
SIGLAKE_ENDPOINT |
siglake-cli |
SIGLAKE_ES_COMPAT_VERSION |
siglake-ingest |
SIGLAKE_EXTRA |
siglake-operator |
SIGLAKE_FOOTER_CACHE_CAP |
siglake-storage |
SIGLAKE_GAUGE_TABLE_TIMEOUT_SECS |
siglake-storage |
SIGLAKE_GIT_SHA |
siglake-core |
SIGLAKE_GROUP_COUNT_FAST_PATH |
siglake-query-server |
SIGLAKE_GROUP_COUNT_SKETCH_COUNTERS |
siglake-storage |
SIGLAKE_ICEBERG_FOOTER_CACHE_MAX_ENTRIES |
third_party/iceberg |
SIGLAKE_ICEBERG_METADATA_CACHE_TTL_SECS |
siglake-query-server, siglake-storage |
SIGLAKE_INDEX_AT_FLUSH |
siglake-core, siglake-storage |
SIGLAKE_INDEX_FOOTER_MAX_BYTES |
siglake-storage |
SIGLAKE_INDEX_LOAD_CONCURRENCY |
siglake-storage, third_party/iceberg |
SIGLAKE_INDEX_REBUILD |
siglake-operator, siglake-storage |
SIGLAKE_INGESTER_ID |
siglake-cli |
SIGLAKE_INGEST_BACKPRESSURE_CAPACITY |
siglake-cli |
SIGLAKE_INGEST_BACKPRESSURE_SHARDS |
siglake-cli |
SIGLAKE_INGEST_GROUP_COMMIT_MS |
siglake-cli |
SIGLAKE_INGEST_MAX_BODY_BYTES |
siglake-ingest |
SIGLAKE_INGEST_MAX_LANES |
siglake-cli, siglake-operator |
SIGLAKE_INGEST_MEM_LIMIT_MIB |
siglake-cli |
SIGLAKE_INGEST_MEM_SAMPLE_SECS |
siglake-cli |
SIGLAKE_INGEST_RATE_BURST |
siglake-cli |
SIGLAKE_INGEST_RATE_PER_SEC |
siglake-cli |
SIGLAKE_INGEST_RATE_REDIS_PREFIX |
siglake-cli |
SIGLAKE_INGEST_RATE_REDIS_URL |
siglake-cli |
SIGLAKE_INLINE_COVERAGE_SCAN_INTERVAL_SECS |
siglake-compactor |
SIGLAKE_INVERTED_INDEX |
siglake-operator, siglake-storage |
SIGLAKE_JOBS_CANCEL_POLL_SECS |
siglake-query-server |
SIGLAKE_JOBS_OWNERLESS_GRACE_SECS |
siglake-query-server |
SIGLAKE_JOBS_OWNER_LEASE_SECS |
siglake-query-server |
SIGLAKE_JOBS_POSTGRES_URI |
siglake-operator, siglake-query-server |
SIGLAKE_LEADING_EDGE_WINDOW_SECS |
siglake-storage |
SIGLAKE_LOG_EXEC_PLANS |
siglake-query-server |
SIGLAKE_MAINTENANCE_LEASE_SECS |
siglake-compactor |
SIGLAKE_MAX_TENANTS |
siglake-cli, siglake-ingest, siglake-operator |
SIGLAKE_MEMORY_GAUGE_INTERVAL_SECS |
siglake-query-server |
SIGLAKE_MERGE_CHUNK_PREFETCH |
siglake-storage |
SIGLAKE_MERGE_CHUNK_ROWS |
siglake-storage |
SIGLAKE_MERGE_FETCH_CONCURRENCY |
siglake-storage |
SIGLAKE_METADATA_CACHE_BYTES |
siglake-storage |
SIGLAKE_METRICS_BIND |
siglake-operator |
SIGLAKE_METRIC_LABEL_CARDINALITY_CAP |
siglake-ingest |
SIGLAKE_MIRROR_LEDGER_RECLAIM |
siglake-cli, siglake-compactor, siglake-operator |
SIGLAKE_MIRROR_SYNC_INTERVAL_SECS |
siglake-compactor, siglake-operator |
SIGLAKE_OBJECT_CACHE_BYTES |
siglake-cli, siglake-query-server, siglake-storage, third_party/iceberg |
SIGLAKE_OBJECT_STORE |
siglake-compactor |
SIGLAKE_OBJECT_STORE_WRITE_CHUNK_MB |
third_party/iceberg-storage-opendal |
SIGLAKE_OBJECT_STORE_WRITE_CONCURRENCY |
third_party/iceberg-storage-opendal |
SIGLAKE_OIDC_AUDIENCE |
siglake-cli, siglake-operator, siglake-query-server |
SIGLAKE_OIDC_ISSUER |
siglake-cli, siglake-operator, siglake-query-server |
SIGLAKE_OIDC_TENANT_CLAIM |
siglake-cli, siglake-operator, siglake-query-server |
SIGLAKE_OPERATOR_REQUIRE_CLUSTER |
siglake-operator |
SIGLAKE_OPERATOR_REQUIRE_PROMTOOL |
siglake-operator |
SIGLAKE_ORDERED_DRAIN_BUFFER_BYTES |
siglake-storage, third_party/iceberg |
SIGLAKE_ORDERED_MERGE_GLOBAL_FANIN |
siglake-storage |
SIGLAKE_ORDERED_MERGE_MAX_FANIN |
siglake-storage |
SIGLAKE_ORDERED_RESIDUAL_MIN_FRAC |
siglake-query-server |
SIGLAKE_ORDERED_SINGLE_PARTITION_MAX_LIMIT |
siglake-storage |
SIGLAKE_ORDERED_SORT_CLUSTER_MAX_ROWS |
siglake-storage |
SIGLAKE_OTEL_DISABLED |
siglake-cli, siglake-core |
SIGLAKE_OTLP_GRPC_LISTEN |
siglake-cli |
SIGLAKE_PARQUET_ATTRIBUTES_COMPRESSION |
siglake-storage |
SIGLAKE_PARQUET_NATIVE_BLOOMS |
siglake-compactor, siglake-storage |
SIGLAKE_PARQUET_RAW_COMPRESSION |
siglake-storage |
SIGLAKE_PARQUET_RAW_TOKEN_BLOOM |
siglake-storage |
SIGLAKE_PARQUET_TARGET_ROW_GROUP_BYTES |
siglake-operator, siglake-storage |
SIGLAKE_PARSED_INDEX_CACHE_MAX_BYTES |
siglake-cli, siglake-query-server, siglake-storage, third_party/iceberg |
SIGLAKE_PPROF_ENABLED |
siglake-core |
SIGLAKE_PROMETHEUS_URL |
siglake-operator |
SIGLAKE_PUFFIN_BLOB_CACHE_MAX_BYTES |
siglake-cli, siglake-query-server, third_party/iceberg |
SIGLAKE_PUFFIN_BLOB_CACHE_MAX_ENTRIES |
third_party/iceberg |
SIGLAKE_PUFFIN_FOOTER_CACHE_MAX_ENTRIES |
third_party/iceberg |
SIGLAKE_PUFFIN_INVERTED_BLOB_TYPE |
siglake-storage |
SIGLAKE_PUFFIN_INVERTED_CODEC |
siglake-storage |
SIGLAKE_QUERY_ADMISSION_BUDGET_BYTES |
siglake-query-server |
SIGLAKE_QUERY_ADMISSION_DECOMPRESSION_FACTOR |
siglake-query-server |
SIGLAKE_QUERY_ADMISSION_MAX_SHARE_DIVISOR |
siglake-query-server |
SIGLAKE_QUERY_ADMISSION_WAIT_MS |
siglake-query-server |
SIGLAKE_QUERY_ALLOWED_TENANTS |
siglake-query-server |
SIGLAKE_QUERY_AUDIT_APPEND_DEADLINE_SECS |
siglake-query-server |
SIGLAKE_QUERY_AUDIT_DISABLED |
siglake-query-server |
SIGLAKE_QUERY_BIND |
siglake-query-server |
SIGLAKE_QUERY_CEILING_BYTES_SCANNED_GB |
siglake-query-server |
SIGLAKE_QUERY_CEILING_ROWS_SCANNED |
siglake-query-server |
SIGLAKE_QUERY_COORDINATOR_TOKEN |
siglake-query-server |
SIGLAKE_QUERY_EXEC_THREADS |
siglake-query-server |
SIGLAKE_QUERY_HOT_CACHES |
siglake-query-server |
SIGLAKE_QUERY_INLINE_EXEC_MAX_BYTES |
siglake-query-server |
SIGLAKE_QUERY_INLINE_EXEC_MAX_ROWS |
siglake-query-server |
SIGLAKE_QUERY_MAX_ROWS |
siglake-query-server |
SIGLAKE_QUERY_MEMORY_FRACTION |
siglake-operator, siglake-storage |
SIGLAKE_QUERY_MEMORY_POOL_BYTES |
siglake-query-server, siglake-storage |
SIGLAKE_QUERY_MEMORY_POOL_TRACK_CONSUMERS |
siglake-storage |
SIGLAKE_QUERY_METRICS_BIND |
siglake-query-server |
SIGLAKE_QUERY_PEERS |
siglake-query-server |
SIGLAKE_QUERY_PEER_DISCOVERY_INTERVAL_SECS |
siglake-query-server |
SIGLAKE_QUERY_PEER_DISCOVERY_SRV |
siglake-query-server |
SIGLAKE_QUERY_PEER_SCHEME |
siglake-query-server |
SIGLAKE_QUERY_PEER_SELF_NAME |
siglake-operator, siglake-query-server |
SIGLAKE_QUERY_PREWARM |
siglake-query-server, siglake-storage |
SIGLAKE_QUERY_RESULT_CACHE |
siglake-query-server, siglake-storage |
SIGLAKE_QUERY_SCAN_ADAPTIVE_PARTITION_MIN_BYTES |
siglake-query-server |
SIGLAKE_QUERY_SCAN_ADAPTIVE_PARTITION_MIN_FILES |
siglake-query-server |
SIGLAKE_QUERY_SCAN_BATCH_SIZE |
siglake-query-server |
SIGLAKE_QUERY_SCAN_FILE_CACHE_MAX_BYTES |
siglake-operator, siglake-query-server, siglake-storage |
SIGLAKE_QUERY_SCAN_FILE_CACHE_MAX_ENTRIES |
siglake-operator, siglake-query-server, siglake-storage |
SIGLAKE_QUERY_SCAN_FILE_CONCURRENCY |
siglake-query-server |
SIGLAKE_QUERY_SCAN_PARTITIONS |
siglake-query-server |
SIGLAKE_QUERY_SCAN_RANGE_ADAPTIVE_MIN_BYTES |
siglake-query-server |
SIGLAKE_QUERY_SCAN_RANGE_ADAPTIVE_MIN_FILES |
siglake-query-server |
SIGLAKE_QUERY_SCAN_RANGE_COALESCE_BYTES |
siglake-query-server |
SIGLAKE_QUERY_SCAN_RANGE_FETCH_CONCURRENCY |
siglake-query-server |
SIGLAKE_QUERY_SCAN_READER_BUDGET |
siglake-query-server |
SIGLAKE_QUERY_SPILL_DIR |
siglake-operator, siglake-storage |
SIGLAKE_QUERY_SPILL_MAX_BYTES |
siglake-operator, siglake-storage |
SIGLAKE_QUERY_TLS_CERT |
siglake-query-server |
SIGLAKE_QUERY_TLS_KEY |
siglake-query-server |
SIGLAKE_QUERY_TOKENS |
siglake-operator, siglake-query-server |
SIGLAKE_QUERY_WAL_BUFFER_DIR |
siglake-query-server |
SIGLAKE_QUERY_WARM_GROUP_COUNTS |
siglake-query-server |
SIGLAKE_QUERY_WARM_INTERVAL_SECS |
siglake-query-server |
SIGLAKE_QUERY_WARM_ORDERED |
siglake-query-server |
SIGLAKE_QUERY_WARM_PROBE_TIMEOUT_SECS |
siglake-query-server |
SIGLAKE_REBUILD_AB_BLOB_BYTES |
siglake-storage |
SIGLAKE_REBUILD_AB_FILES |
siglake-storage |
SIGLAKE_REBUILD_AB_PARSED_BYTES |
siglake-storage |
SIGLAKE_REBUILD_AB_PASSES |
siglake-storage |
SIGLAKE_REBUILD_AB_RARE_EVERY |
siglake-storage |
SIGLAKE_REBUILD_AB_REUSE_DIR |
siglake-storage |
SIGLAKE_REBUILD_AB_ROWS_PER_FILE |
siglake-storage |
SIGLAKE_REBUILD_AB_RUNS |
siglake-storage |
SIGLAKE_RECLUSTER_COLD_AGE_SECS |
siglake-cli |
SIGLAKE_RECLUSTER_COLD_TARGET_MB |
siglake-cli |
SIGLAKE_RECLUSTER_INRAM_MAX_MB |
siglake-storage |
SIGLAKE_RECLUSTER_INRAM_MAX_ROWS |
siglake-storage |
SIGLAKE_RECLUSTER_INTERVAL_SECS |
siglake-cli, siglake-compactor |
SIGLAKE_RECLUSTER_MAX_BINS |
siglake-cli |
SIGLAKE_RECLUSTER_MAX_FILES |
siglake-cli |
SIGLAKE_RECLUSTER_MAX_PASS_MB |
siglake-cli |
SIGLAKE_RECLUSTER_MAX_PASS_ROWS |
siglake-cli |
SIGLAKE_RECLUSTER_MAX_WINDOW_SECS |
siglake-cli |
SIGLAKE_RECLUSTER_MERGE_FANIN |
siglake-storage |
SIGLAKE_RECLUSTER_STREAMING |
siglake-storage |
SIGLAKE_RECLUSTER_TARGET_MB |
siglake-cli |
SIGLAKE_RECLUSTER_TIERED_MERGE |
siglake-storage |
SIGLAKE_RECLUSTER_WATCHDOG_SECS |
siglake-compactor |
SIGLAKE_REMOTE_WAL_DRAIN |
siglake-cli, siglake-operator |
SIGLAKE_REUSE_ROWS_PER_FILE |
siglake-storage |
SIGLAKE_REVERSED_CHUNK_CACHE_MB |
third_party/iceberg |
SIGLAKE_REVERSED_CHUNK_ROWS |
third_party/iceberg |
SIGLAKE_S3_WRITE_PERMITS_COMPACTION |
third_party/iceberg-storage-opendal |
SIGLAKE_S3_WRITE_PERMITS_DRAIN |
third_party/iceberg-storage-opendal |
SIGLAKE_SCAN_CLIPPED_ADMISSION_WAVE |
siglake-storage |
SIGLAKE_SCAN_COST_CACHE_CAP |
siglake-storage |
SIGLAKE_SCAN_DECODED_BUDGET_BYTES |
siglake-storage |
SIGLAKE_SCAN_DECOMPRESSION_FACTOR |
siglake-operator, siglake-storage |
SIGLAKE_SEGMENTED_INDEX_BLOCK_BYTES |
siglake-storage |
SIGLAKE_SEGMENTED_INDEX_DIRECTORY_CACHE_MAX_BYTES |
siglake-storage, third_party/iceberg |
SIGLAKE_SEGMENTED_INDEX_RANGE_CONCURRENCY |
third_party/iceberg |
SIGLAKE_SEGMENTED_INDEX_READS |
siglake-storage, third_party/iceberg |
SIGLAKE_SEGMENTED_INDEX_WRITES |
siglake-core, siglake-storage |
SIGLAKE_SEG_BLOCK_BYTES |
siglake-index |
SIGLAKE_SEG_CORRUPT_ROWS |
siglake-index |
SIGLAKE_SEG_FILES |
siglake-index |
SIGLAKE_SEG_GROUP_ROWS |
siglake-index |
SIGLAKE_SEG_PARSED_BYTES |
siglake-index |
SIGLAKE_SEG_PLAN_RUNS |
siglake-index |
SIGLAKE_SEG_RARE_EVERY |
siglake-index |
SIGLAKE_SEG_READER_GROUPS |
third_party/iceberg |
SIGLAKE_SEG_READER_ROWS |
third_party/iceberg |
SIGLAKE_SEG_ROLL_COLUMNS |
siglake-storage |
SIGLAKE_SEG_ROLL_FILE_BYTES |
siglake-storage |
SIGLAKE_SEG_ROLL_RARE_EVERY |
siglake-storage |
SIGLAKE_SEG_ROLL_ROWS |
siglake-storage |
SIGLAKE_SEG_ROWS |
siglake-index |
SIGLAKE_SEG_ROWS_PER_FILE |
siglake-index |
SIGLAKE_SEG_RUNS |
siglake-index |
SIGLAKE_SEG_WRITER_FILES |
siglake-storage |
SIGLAKE_SEG_WRITER_RARE_EVERY |
siglake-storage |
SIGLAKE_SEG_WRITER_ROWS_PER_FILE |
siglake-storage |
SIGLAKE_SIDE_AGG_WRITE_BEHIND |
siglake-storage |
SIGLAKE_SNAPSHOT_AGG_CACHE_CAP |
siglake-storage |
SIGLAKE_SNAPSHOT_EXPIRE_INTERVAL_SECS |
siglake-cli |
SIGLAKE_SNAPSHOT_RETAIN_LAST |
siglake-cli, siglake-storage |
SIGLAKE_TABLE_GROUP_COUNT_CARDINALITY |
siglake-storage |
SIGLAKE_TENANT_NAMESPACE |
siglake-cli, siglake-core, siglake-query-server |
SIGLAKE_TEST_JOBS_POSTGRES_URI |
siglake-query-server, siglake-storage |
SIGLAKE_TEST_S3_ACCESS_KEY |
siglake-compactor, siglake-storage |
SIGLAKE_TEST_S3_ENDPOINT |
siglake-compactor, siglake-storage |
SIGLAKE_TEST_S3_SECRET_KEY |
siglake-compactor, siglake-storage |
SIGLAKE_TEST_SRV_NAME |
siglake-query-server |
SIGLAKE_TIME_GROUP_TOTAL_CAP |
siglake-storage |
SIGLAKE_TIME_GROUP_VALUE_CAP |
siglake-storage |
SIGLAKE_TOKEN |
siglake-cli |
SIGLAKE_TRUST_SCOPE_HEADER |
siglake-cli, siglake-operator |
SIGLAKE_TYPED_GROUP_COUNT_CARDINALITY |
siglake-cli, siglake-storage |
SIGLAKE_V1_INTEGRITY_ROWS |
siglake-index |
SIGLAKE_V1_INTEGRITY_RUNS |
siglake-index |
SIGLAKE_V1_INTEGRITY_SAMPLE |
siglake-index |
SIGLAKE_WAL_ACTIVE_MIRROR_INTERVAL_SECS |
siglake-cli |
SIGLAKE_WAL_ADOPT_PARTIAL_AFTER_SECS |
siglake-wal |
SIGLAKE_WAL_IDENTITY_REFRESH_SECS |
siglake-cli, siglake-ingest, siglake-query-server |
SIGLAKE_WAL_LOCAL_SWEEP_SECS |
siglake-cli, siglake-compactor |
SIGLAKE_WAL_LOCAL_SWEEP_SETTLE_SECS |
siglake-cli, siglake-compactor |
SIGLAKE_WAL_MIRROR_PREFIX |
siglake-cli, siglake-operator |
SIGLAKE_WAL_MIRROR_SWEEP_SECS |
siglake-cli |
SIGLAKE_WAL_MIRROR_URL |
siglake-cli |
SIGLAKE_WAL_SEALED_PUBLISH_SECS |
siglake-cli |
SIGLAKE_WAREHOUSE_URL |
siglake-cli, siglake-operator, siglake-query-server, siglake-storage |
SIGLAKE_WINDOWED_GROUP_AGG |
siglake-storage |
OTEL_EXPORTER_OTLP_ENDPOINT |
siglake-cli, siglake-core, siglake-operator, siglake-query-server |
OTEL_EXPORTER_OTLP_HEADERS |
siglake-core |
OTEL_LOGS_EXPORTER |
siglake-core |
OTEL_RESOURCE_ATTRIBUTES |
siglake-core |
OTEL_SERVICE_NAME |
siglake-core |
OTEL_SERVICE_NAMESPACE |
siglake-core |
OTEL_TRACES_EXPORTER |
siglake-core |