Skip to content

DOC-7293 Add a Jedis set member expiration example to the sets page [PARKED] - #4526

Open
andy-stark-redis wants to merge 1 commit into
feature-oss-8.12from
DOC-7293-set-member-expiration-examples
Open

andy-stark-redis wants to merge 1 commit into
feature-oss-8.12from
DOC-7293-set-member-expiration-examples

Conversation

@andy-stark-redis

@andy-stark-redis andy-stark-redis commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Adds a member_expiration step to the sets_tutorial Jedis example (SADDEX with SAddExParams, SADD, STTL) and wraps the matching redis-cli block in the Member expiration section of sets.md in a clients-example shortcode (lang_filter="Java-Sync").

Warning

Do not merge yet. This PR documents client APIs that are on the clients' default branches but in no stable release. Base is feature-oss-8.12 (the 8.12 release branch), not main.

Run-verified on redis:8.12-rc2 (the server reports redis_version:8.11.241, the rc2 version string; upstream tests gate at 8.11.240). The whole SetsExample ran against Jedis master c701a365 with its assertions; the new step printed 1, 1, [900, 900, -1].

Park manifest

Ticket: DOC-7293
Parked at: 2026-11-10
Trigger to pick up: jedis#4828 merge commit e7c37d3d3d5e is an ancestor of a non-prerelease Jedis tag (gh api repos/redis/jedis/compare/e7c37d3d3d5e...<tag>, expecting behind_by: 0), and Redis 8.12 is GA.
Labels: parked, do not merge yet

Pinned sources (state observed at park time, 2026-11-10)

Source State SHA Notes
jedis#4828 merged 2026-11-06, base master head 01c6bebd5e58, merge e7c37d3d3d5e not in v8.0.2 or v8.1.0-beta2 (beta2 was tagged 2026-10-26)
jedis master — c701a365ab46 the example was compiled against this
StackExchange.Redis#3340 merged into its 8.12 branch merge 9597c4be85f8 [Experimental] under SER011; integration PR #3343 open
lettuce#3991 merged 2026-11-09 merge c8c11f7e454b no tag
predis#1749 merged merge 1685693b83ef not in v3.7.1

Re-fetch: gh api repos/redis/jedis/pulls/4828 --jq '{state, merged, merge: .merge_commit_sha}'.

Observed shape the page assumes

Confidence: MEDIUM for semantics (set members get a per-member TTL, STTL returns -1 for no expiry); LOW for identifiers, which are unreleased.
Identifiers the step uses, all on Jedis master (SetCommands.java, params/SAddExParams.java):

  • SAddExParams.sAddExParams().ex(long), inherited ex from BaseSetExParams
  • long saddex(String key, SAddExParams params, String... members)
  • long sadd(String, String...)
  • List<Long> sttl(String key, String... members)
    Expected values: 1, 1, [900, 900, -1].

Re-check checklist

On unpark, then

Run /unpark with this PR's number. /unpark Steps 4–5 own the closing sequence; /finalize is deferred until then.

Adds a `member_expiration` step to the `sets_tutorial` Jedis example
(SADDEX with SAddExParams, SADD, STTL) and wraps the matching redis-cli block
in the Member expiration section of sets.md in a clients-example shortcode,
restricted to Java-Sync with lang_filter.

Parked: the Jedis set member expiration API (#4828) is merged on master but not
in any release (latest is v8.1.0-beta2, tagged before the merge). The example
compiled against jedis master c701a365 built locally. It has NOT been run: no
Redis 8.12 server was available (Docker not running; local redis-server is
7.2.7), so the `// >>>` values are taken from the server-authored redis-cli
block on the same page, not from a run.

On unpark: re-run against the released Jedis and a real 8.12 server; the
harness's pinned Jedis (run.sh sets_tutorial:jedis) will not compile this step
until it is bumped.

Learned:
- Other clients are deliberately omitted via lang_filter, because a step
  missing from a client renders the whole file for it. Add each client to the
  allowlist only when its set member expiration support has shipped.
- The existing step `srem` prints res18 after assigning res19; left alone.
- examples/ is gitignored build output, so only local_examples/ changes.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@andy-stark-redis andy-stark-redis added do not merge yet parked PR speculatively added based on pre-release info. Check validity when release goes ahead. labels Nov 10, 2026
@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

DOC-7293

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

🧠 Redis Memory

Found 5 related items from repository history (5 new this commit):

Memory updated at 7f5ec33

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

Labels

clients Client library docs 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.

2 participants