Skip to content

DOC-6827 Prepare Lettuce probabilistic data type docs#3610

Open
andy-stark-redis wants to merge 1 commit into
mainfrom
DOC-6827-prepare-lettuce-probabilistic-data-type-docs
Open

DOC-6827 Prepare Lettuce probabilistic data type docs#3610
andy-stark-redis wants to merge 1 commit into
mainfrom
DOC-6827-prepare-lettuce-probabilistic-data-type-docs

Conversation

@andy-stark-redis

@andy-stark-redis andy-stark-redis commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

DOC-6827 — Lettuce probabilistic data type docs

Adds Lettuce (Java) coverage for the probabilistic data types, in two parts.

Examples

Staged Lettuce async + reactive doctests (local_examples/<set>/lettuce-async|lettuce-reactive/) for:

Set Data-type page
bf_tutorial Bloom filter
cuckoo_tutorial Cuckoo filter
cms_tutorial Count-min sketch
topk_tutorial Top-K
tdigest_tutorial t-digest
hll_tutorial HyperLogLog
home_prob_dts combined rundown / landing

The per-type data-type pages embed clients-example without a lang_filter, so the new Java-Async / Java-Reactive tabs appear automatically once the example pipeline regenerates examples.json — no edits to those pages needed.

Rundown page

New content/develop/clients/lettuce/prob.md, adapted from the Jedis page, with lang_filter="Java-Async,Java-Reactive".

⚠️ Preemptive work — reads against unreleased API

Probabilistic command support is not in a released lettuce-core yet. Examples are written against the Lettuce feature PRs:

  • Merged to redis/lettuce main: BF (#3760), CF (#3774), Top-K (#3780)
  • Still open (fork Dgramada/lettuce): CMS (#3821), t-digest (#3823) — signatures may still change

A Codex review flagged every non-HLL call as an unknown method; that's expected against the pinned released jar, not a defect. When the features release: re-pin lettuce-core, re-run the doctest harness (the REMOVE-block asserts become real oracles then), and re-diff the CMS/t-digest signatures. CMS/t-digest are the higher-risk pair to re-verify.

🤖 Generated with Claude Code


Note

Medium Risk
Documentation-only, but examples depend on probabilistic APIs not yet in released lettuce-core (especially CMS and t-digest), so CI or readers on the current jar may fail until dependencies and signatures are updated.

Overview
Adds Lettuce client documentation for Redis probabilistic data types: a new content/develop/clients/lettuce/prob.md overview (mirroring other client prob pages) with embedded clients-example snippets filtered to Java-Async and Java-Reactive.

Introduces doctest-style Java examples under local_examples/ for Bloom filter, Cuckoo filter, Count-min sketch, Top-K, t-digest, HyperLogLog, plus a combined home_prob_dts set—each in async and reactive variants using STEP_START/STEP_END markers for doc extraction.

Examples call probabilistic commands on RedisAsyncCommands / RedisReactiveCommands (e.g. bfReserve, cmsInitByProb, tdigestCreate, topKReserve) so Java-Async / Java-Reactive tabs can appear on existing data-type pages after examples.json regeneration, without editing those pages in this PR.

Reviewed by Cursor Bugbot for commit 48553bc. Bugbot is set up for automated code reviews on this repo. Configure here.

Stage Lettuce async + reactive doctests for the bloom, cuckoo, CMS, top-k,
t-digest and HLL tutorial sets plus the combined home_prob_dts set, and add the
client-specific rundown page at content/develop/clients/lettuce/prob.md.

This is preemptive work: probabilistic command support is not in a released
lettuce-core yet, so the examples are written against the Lettuce feature PRs
(BF/CF/top-k merged to main; CMS and t-digest still open on the Dgramada fork,
so their signatures may still shift). A Codex review flagged every non-HLL call
as an unknown method - that is expected against the repo's pinned released jar,
not a defect. Multi-step sets (t-digest, home_prob_dts) are authored as
self-contained per-STEP blocks rather than one method chain threaded through the
STEP markers, because the clients-example shortcode extracts each step by line
range and a threaded chain renders as broken mid-chain fragments.

Learned: multi-step doctests must be self-contained per STEP block or the shortcode extracts broken mid-chain fragments
Constraint: each STEP_START/STEP_END block must stand alone (its own async chain, or per-statement reactive blocks), never span a single threaded method chain
Rejected: one async/reactive chain threaded through all STEP markers | shortcode extracts per-step line ranges, so a threaded chain yields uncompilable fragments
Recheck: when Lettuce CMS (redis/lettuce#3821) and t-digest (#3823) merge and release - re-pin lettuce-core, re-run the doctest harness so the REMOVE-block asserts become real oracles, and re-diff the CMS/t-digest signatures
Ticket: DOC-6827
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

DOC-6827

@github-actions

Copy link
Copy Markdown
Contributor

@andy-stark-redis andy-stark-redis self-assigned this Jul 10, 2026
@andy-stark-redis andy-stark-redis added the parked PR speculatively added based on pre-release info. Check validity when release goes ahead. label Jul 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge yet parked PR speculatively added based on pre-release info. Check validity when release goes ahead.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant