Skip to content

Migrate build to Maven, add Redis cluster-ID delimiter (v1.6) - #12

Merged
wezell merged 2 commits into
trunkfrom
maven-migration-cluster-id-delimiter
May 30, 2026
Merged

wezell merged 2 commits into
trunkfrom
maven-migration-cluster-id-delimiter

Conversation

@wezell

@wezell wezell commented May 30, 2026

Copy link
Copy Markdown
Member

Summary

  • Redis key collision fix: Adds a : delimiter after the cluster-ID prefix when building Redis session keys, so clusters whose IDs share leading characters (e.g. prod vs prod2) can no longer collide. The delimiter is appended once during init, with a guard against double-appending.
  • Build system migration: Converts the project from Gradle to Maven (pom.xml), removing the Gradle wrapper and build files. Produces the same artifacts (main, -sources, -javadoc jars).
  • CI: Updates publish-jar.yml to build/deploy via mvn deploy, using actions/setup-java to wire the existing ARTIFACTORY_USER/ARTIFACTORY_PASSWORD secrets into Maven settings.xml. Adds a Codex PR review workflow (requires an OPENAI_API_KEY repo secret).
  • Version: Bumps 1.5 → 1.6. Docs/.gitignore updated for Maven.

⚠️ Deployment note

The Redis key format changes for multi-cluster deployments that set DOT_DOTCMS_CLUSTER_ID (prefix+id → prefix:id). Existing sessions written under the old format won't be found after deploy; coordinate during rollout. Single-cluster deployments (empty prefix) are unaffected.

🤖 Generated with Claude Code

- Add ":" delimiter after the cluster-ID prefix on Redis keys so clusters
  with shared leading IDs (e.g. "prod" vs "prod2") cannot collide
- Convert build from Gradle to Maven (pom.xml); remove Gradle wrapper/files
- Update publish-jar workflow to build/deploy via `mvn deploy` using the
  same ARTIFACTORY_USER/ARTIFACTORY_PASSWORD secrets
- Add Codex PR review workflow
- Update .gitignore and README for Maven; bump version 1.5 -> 1.6

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Explain that DOT_DOTCMS_CLUSTER_ID keys now use a ":sessions:" delimiter to
prevent cross-cluster collisions, and that upgrading invalidates pre-existing
Redis sessions (one-time re-login; old keys expire via TTL, no migration needed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Codex Autonomous Review:

  • Overall: patch is correct
  • New findings this run: 0
  • Prior unresolved Codex findings still relevant: 0
  • Active findings total: 0

The incremental change only updates documentation in README to describe the already-reviewed session key format change and its upgrade impact. I did not find any new code or workflow changes in this commit that would introduce an additional bug.

Tip: comment with "/codex address comments" to attempt automated fixes for unresolved review threads.

@wezell
wezell merged commit 434a69c into trunk May 30, 2026
1 check passed
@wezell
wezell deleted the maven-migration-cluster-id-delimiter branch May 30, 2026 02:57
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