Skip to content

feat(jni): list the editions a session knows - #87

Merged
ChristopherWirt merged 1 commit into
developfrom
cwirt/jni-known-editions
Nov 4, 2026
Merged

ChristopherWirt merged 1 commit into
developfrom
cwirt/jni-known-editions

Conversation

@ChristopherWirt

Copy link
Copy Markdown
Collaborator

Why

  • Java callers have no way to ask whether a session knows an edition.
  • Eventstore's reader check works around it: it enables each edition on a spare session and matches the "Unknown Vortex edition" error text.
  • Every native error reaches Java as the same RuntimeException, so a reworded message breaks that check.

What

  • Session.knownEditions() returns an unmodifiable Set<String> with the name of every edition the session knows, such as core2026.08.3 and qc2026.11.0.
  • Each name is one enableEdition accepts.
  • It's backed by a new NativeSession.knownEditions(long) native method, which reads the session's edition registry.

Testing

  • New SessionTest:
    • the known editions include core2025.10.0, core2026.08.3 and qc2026.11.0, and not an unknown one;
    • every known edition can be enabled;
    • an unknown edition can't.
  • ./gradlew :vortex-jni:test: 141 passed, 1 skipped (an existing skip in JNIWriterTest).
  • cargo clippy -p vortex-jni --all-targets --all-features -- -D warnings: clean.
  • cargo +nightly-2026-09-10 fmt -p vortex-jni and spotlessCheck: clean.

🤖 Generated with Claude Code

Session.knownEditions() returns the name of every edition the session
knows, each one a name enableEdition accepts. Callers can check an
edition without enabling it on a spare session and matching the error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Christopher Wirt <cwirt@quantcast.com>
@ChristopherWirt
ChristopherWirt merged commit 2eff49f into develop Nov 4, 2026
1 check passed
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.

2 participants