Skip to content

Harden distributed coordination for DataProvider 3.4.2 - #30

Merged
remdui merged 7 commits into
mainfrom
feat/coordination-hardening-3.4.2
Sep 2, 2026
Merged

Harden distributed coordination for DataProvider 3.4.2#30
remdui merged 7 commits into
mainfrom
feat/coordination-hardening-3.4.2

Conversation

@remdui

@remdui remdui commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

Prepares DataProvider 3.4.2 as the qualified coordination foundation for later FeatureFramework replica-group work without adding any application-specific clustering API.

Changes

  • align DataProvider with haunted-library-parent 1.5.0 and prepare release version/tag metadata for 3.4.2
  • remove Maven plugin/version declarations now inherited from HauntedPlatform while retaining DataProvider-specific coverage, duplicate-class, and Mockito/JDK 25 settings
  • make the inherited Mockito version a proper Surefire plugin dependency so the JDK 25 test agent is resolved before forked test JVMs start
  • add dedicated Redis/Testcontainers integration coverage for exact lease ownership, renewal, release, process-incarnation ownership, strict fencing-token monotonicity, forced claim takeover, stale writer/delete rejection, and reconnect-after-expiry behavior
  • document the generic distributed-coordination contract, including recommended <logical-node-id>/<process-id> owners and the difference between acquire and claim
  • update README/package examples to 3.4.2

Deliberately not included

  • no ClusterService, replica-group, leader-selection, or FeatureFramework-specific API
  • no new DataProvider configuration sections
  • no cluster-generation persistence
  • no redesign of the existing CoordinationDataAccess API

Validation

CI runs normal unit/integration/coverage, shared Maven-policy validation, ShellCheck, and bundled Paper/Velocity platform acceptance. The new RedisCoordinationFencingIT is exercised by the existing integration-tests profile with Docker/Testcontainers.

The first CI run exposed a real HauntedPlatform-1.5 alignment issue: DataProvider's Surefire -javaagent path referenced the inherited Mockito version before that artifact was guaranteed to be resolved in modules that do not directly depend on Mockito. The PR now declares Mockito as a Surefire plugin dependency, preserving the existing agent model without pinning an obsolete version.

Commit structure

  1. chore(build): align DataProvider 3.4.2 with HauntedPlatform 1.5
  2. test(coordination): qualify fenced lease semantics
  3. docs(coordination): document fenced lease semantics
  4. docs: add distributed coordination guide to index
  5. docs(release): prepare DataProvider 3.4.2 documentation
  6. chore(build): inherit shared Maven policy from HauntedPlatform
  7. fix(build): resolve Mockito agent through Surefire

@remdui
remdui merged commit 9c4b320 into main Sep 2, 2026
5 checks passed
@remdui
remdui deleted the feat/coordination-hardening-3.4.2 branch September 2, 2026 14:19
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.

1 participant