Skip to content

[Streams] Update data retention to include frozen tiers for DSL streams - #7577

Open
mdbirnstiehl wants to merge 6 commits into
elastic:mainfrom
mdbirnstiehl:streams-dsl-frozen-phase
Open

[Streams] Update data retention to include frozen tiers for DSL streams#7577
mdbirnstiehl wants to merge 6 commits into
elastic:mainfrom
mdbirnstiehl:streams-dsl-frozen-phase

Conversation

@mdbirnstiehl

@mdbirnstiehl mdbirnstiehl commented Jul 26, 2026

Copy link
Copy Markdown
Member

Summary

This PR closes #7283 and #7201 and adds the ability to set frozen and delete phases in streams using DSL data retention.

Some thought still needs to go into how to organize this data using applies_to tagging

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Claude Code and Sonnet 4.6

@github-actions

Copy link
Copy Markdown
Contributor

✅ Elastic Docs Style Checker (Vale)

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale.

@github-actions

github-actions Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

@mdbirnstiehl
mdbirnstiehl marked this pull request as ready for review July 26, 2026 17:22
@mdbirnstiehl
mdbirnstiehl requested a review from a team as a code owner July 26, 2026 17:22
@github-actions github-actions Bot mentioned this pull request Jul 27, 2026
@theletterf theletterf closed this Jul 27, 2026
@theletterf theletterf reopened this Jul 27, 2026
@elastic elastic deleted a comment from github-actions Bot Jul 27, 2026
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Elastic Docs AI PR menu

Check the box to run an AI review for this pull request.

Powered by GitHub Agentic Workflows and docs-actions. For more information, reach out to the docs team.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs review summary

Focus areas

  • Style and clarity: Vale reported no findings; manual read found no additional high-confidence issues. Wording changes (e.g., "choose" → "select", "predefined") align with the Elastic word-choice guide.
  • Jargon: No unexplained Elastic-internal jargon introduced. "DSL" is expanded on first use, and {{ilm-init}}/{{search-snaps}} use existing substitutions.
  • Frontmatter and applies_to: Frontmatter unchanged and valid. New inline {applies_to} and block {applies_to} tags follow the repo's established syntax and version format.
  • Content type fit: How-to structure preserved; new steps are consistent with existing procedure style.
  • Parent issue satisfaction: Partially satisfied. #7201 (frozen phase in the Data lifecycle timeline, tier-split ingestion/storage) is covered by this PR. #7283 (Enterprise license requirement and gating modal for the frozen phase) is only partially covered — the snapshot-repository requirement is documented, but the Enterprise license requirement and the "hidden when no repository and no privilege" behavior are not mentioned. See inline comment.

Notes

  • The PR body itself flags that applies_to tagging for this content still needs more thought — the reviewer should confirm the stack: ga 9.5+ values with the feature owner before merge.

Generated by Docs review agent for #7577 · sonnet50 45.6 AIC · ⌖ 3.85 AIC · ⊞ 15.6K

: The index is no longer updated and is queried rarely. Optimized for long-term retention at the lowest possible cost. Set the minimum age for data to move into this phase and configure a snapshot repository. The frozen phase requires a snapshot repository.
: The index is no longer updated and is queried rarely. Optimized for long-term retention at the lowest possible cost. Set the minimum age for data to move into this phase and configure a snapshot repository.

{applies_to}`stack: ga 9.5+` For streams using a DSL, you need to set a default snapshot repository before adding a frozen phase. If no default repository is set, you'll be prompted to set one. After setting it, select {icon}`refresh` to resume.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The linked issue #7283 also calls for documenting the Enterprise license requirement for the frozen phase (badge shown when missing, gating modal prompting an upgrade). This paragraph only covers the snapshot-repository requirement. Consider adding a sentence noting that adding a Frozen phase requires an Enterprise license, and that the option is hidden if there is no default repository and the user lacks privileges to create one.

@florent-leborgne florent-leborgne left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't comment on all instances on this page but it looks to me that this page is no longer correct or lacks indications for anyone not on the latest version. Likely misses a few applies_to or name alternatives (that we can do without applies_to to keep simple like in my 1st suggestion)

Comment thread solutions/observability/streams/configure-retention.md Outdated
Comment thread solutions/observability/streams/configure-retention.md Outdated
Comment thread solutions/observability/streams/configure-retention.md Outdated

@damian-polewski damian-polewski left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @mdbirnstiehl for working on this, it looks great!
I added a couple of comments with the things I noticed. Let me know what do you think!

# Configure data retention with Streams [streams-configure-retention]

Managing data retention across multiple indexes typically requires configuring {{ilm}} ({{ilm-init}}), data stream lifecycle, index templates, and index settings, each in a different place. Streams replaces this with a single UI so you can control storage and meet regulatory or compliance requirements.
Managing data retention across multiple indexes typically requires configuring {{ilm}} ({{ilm-init}}), data stream lifecycle (DSL), index templates, and index settings, each in a different place. Streams replaces this with a single UI so you can control storage and meet regulatory or compliance requirements.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to keep it consistent and use lifecycle here instead of retention?

Suggested change
Managing data retention across multiple indexes typically requires configuring {{ilm}} ({{ilm-init}}), data stream lifecycle (DSL), index templates, and index settings, each in a different place. Streams replaces this with a single UI so you can control storage and meet regulatory or compliance requirements.
Managing data lifecycle across multiple indexes typically requires configuring {{ilm}} ({{ilm-init}}), data stream lifecycle (DSL), index templates, and index settings, each in a different place. Streams replaces this with a single UI so you can control storage and meet regulatory or compliance requirements.

Also one question to @EdLewisEL we are still using DSL here but I remember we talked about referring to data stream lifecycle as DLM. Should we update the documentation to include that change?

Comment thread solutions/observability/streams/configure-retention.md Outdated
Before setting a retention policy, review the following panels to understand your data's footprint:

- **Storage size**: Total data volume and document count for the stream.
- **Storage size**: Total data volume and document count for the stream, including data across all tiers.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@EdLewisEL I remember some discussion during development that ES wanted to stop using tiers and move to phases, because tiers can be ambiguous. Was that true?

Suggested change
- **Storage size**: Total data volume and document count for the stream, including data across all tiers.
- **Storage size**: Total data volume and document count for the stream, including data across all phases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Configure a frozen phase from the Streams data retention page

4 participants