Skip to content

DEV-1424: Fix jena-tdb2 compilation against libthrift 0.25.0 - #9

Merged
razvan-danit-tq merged 1 commit into
base-jena-6.2.0from
DEV-1424-tdb2-transport
Oct 6, 2026
Merged

razvan-danit-tq merged 1 commit into
base-jena-6.2.0from
DEV-1424-tdb2-transport

Conversation

@razvan-danit-tq

Copy link
Copy Markdown

Follow-up to #8, still 6.2.0-tq-3: no version bump, since jena-tdb2 and everything after it are not on Nexus yet.

libthrift 0.25.0 adds the abstract method TTransport.resetMessageSizeAndConsumedBytes(long). TReadAppendFileTransport, the TDB2 node table's file transport and the fork's only TTransport subclass, did not implement it, so jena-tdb2 does not compile against 0.25.0. This implements it as a no-op, like the other message-size methods already in that class.

How #8 missed it: its verification build ran without clean, and jena-tdb2 reported "Nothing to compile - all classes are up to date", so its tests ran on classes compiled against 0.24.0. The clean deploy failed at jena-tdb2, after the parent through jena-tdb1 had been published; those modules are unaffected by this change.

Runtime: in libthrift 0.25.0 the method is only called by the framed and file transports, never by the protocols, so TDB2 classes compiled against 0.24.0 — including stock Jena and our tq-2 — keep working with 0.25.0.

Validation (all from clean)

  • jena-tdb2: 865 tests, 0 failures (7 skipped).
  • Every module from jena-tdb2 through jena-bom, including all Fuseki modules: clean test-compile succeeds (Fuseki UI's yarn build skipped).

After merge: resume the deploy with -rf :jena-tdb2, then tag jena-6.2.0-tq-3 on this merge commit.

Not set to auto-merge: base-jena-6.2.0 is unprotected, so auto-merge would merge immediately.

🤖 Generated with Claude Code

libthrift 0.25.0 adds the abstract method
TTransport.resetMessageSizeAndConsumedBytes(long). TReadAppendFileTransport,
the TDB2 node table's file transport, did not implement it, so jena-tdb2 no
longer compiled against 0.25.0. Implement it as a no-op, like the other
message-size methods in this class.

The method is only called by libthrift's framed and file transports, not by
the protocols, so TDB2 classes compiled against 0.24.0 keep working at runtime
with 0.25.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@razvan-danit-tq
razvan-danit-tq requested a review from cygri October 6, 2026 07:28
@razvan-danit-tq
razvan-danit-tq merged commit 7080791 into base-jena-6.2.0 Oct 6, 2026
2 checks 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