Repository navigation
[#60] Exercise packaged and JPMS hashing consumers through Java 25 - #123
Merged
peter-lawrey-admin merged 7 commits intoSep 13, 2026
Merged
peter-lawrey-admin merged 7 commits into
peter-lawrey-admin merged 7 commits into
Conversation
This was referenced Aug 21, 2026
peter-lawrey
marked this pull request as ready for review
September 11, 2026 13:37
peter-lawrey-admin
approved these changes
Sep 13, 2026
peter-lawrey-admin
merged commit Sep 13, 2026
dd86acc
into
feature/60-explicit-jpms-module
10 of 13 checks passed
peter-lawrey
added a commit
that referenced
this pull request
Oct 4, 2026
Preserve Benjamin Marwell's original signed #107 commit as a parent, and consolidate Peter Lawrey's #122/#123 integration and the local review corrections against the existing comparison base. Remove redundant manifest settings: source-removal controls retain the final multi-release flag and all library class bytes. Derive the repeat-package harness JAR name from project coordinates so normal version bumps retain the paired overwrite regression. Keep the Java 8 classes, Java 9 descriptor, public API, pinned inputs and contributor fixtures. Original commits and exact mappings are retained in the operator receipt and archive-reviewed-r0003 branch. Co-authored-by: Peter Lawrey <peter.lawrey@chronicle.software>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Exercise packaged class-path and JPMS hashing consumers, preserving the #122 descriptor foundation and the existing direct
DirectBuffer.address()implementation. The evidence covers Java 8 class-path use and Java 11-25 named-module consumers; it does not establish Java 9/10 execution orjlinksupport.Head:
07551444fe628db618532666b4d6f19d0d60c39a. Contains currentdevelopatf06d8ecc3e8887a9d53546c1e69cdaa9b76dadb2. The declared parent remains #122, whose current head470fa6c7be0d1428656c6317a1b0f45ea066a5ccis an ancestor. Deliver that prerequisite separately first.Both
LongHashFunctionTestandLongTupleHashFunctionTestnow put distinct non-zero guards around the payload. After checking the whole-remaining-buffer overload, they clear position/limit to cover the full capacity and request only(1, len). They assert the hash and unchanged full cursor, then restore the payload window for the whole-buffer byte-order assertion. Direct-buffer-specific mutations that substituteposition()/remaining()for the supplied range fail both regression groups; the unmodified implementation passes.Retain named-module execution, direct/heap equivalence, native-order integer-array oracles, unchanged cursors, packaged-stub exclusion and required class-path/module exports. No hashing algorithm or seed semantics change.
Validation on 12 September 2026, zero retries:
clean verify: 14,901 library test cases, 12 skips, no failures/errors; all three packaged-JAR checks and the five ordinary consumer tests pass. The Java-11-targeted module consumer is correctly skipped.clean verify: 14,901 library test cases in each configured string mode, five/eight skips respectively, no failures/errors; all three packaged-JAR checks and both Invoker consumers pass.505caa4251142cfddf67118e52c53df55b1fe5c7399e1bb7a92a2c3cda3eb549passed a separate all-25-factory direct-range consumer on class paths using Java 8, 11, 17, 21 and 25, and the committed named-module consumer on Java 11, 17, 21 and 25. Java 25 controls omitting the required exports fail withIllegalAccessErrorin both modes. The receipt links the JAR to the tested source/diff and records each actual invocation; this is not reuse of an older publication's evidence.Readiness: the documented
-Pquality verifyattempt remains blocked resolvingnet.openhft:chronicle-quality-rules:1.27.0-SNAPSHOT; it is not a passed quality gate. The new-head Actions run 34697896588 passed both 14,901-case library test modes, packaged-JAR checks and both consumers, then failed SonarCloud withNot authorized or project not found. Sonar token permissions/project configuration remain unresolved; TeamCity checks for this head are queued. Successful TeamCity contexts would not resolve the separate Sonar gate.