Skip to content

Conversation

@atakavci
Copy link
Contributor

@atakavci atakavci commented Oct 9, 2025

Summary

Merges automatic failover improvements (drop 4) into the feature branch:

  1. Replace EchoStrategy with PingStrategy ([automatic failover] Replace EchoStrategy with PingStrategy #4313) - Improved health check strategy implementation
  2. Remove UnifiedJedis experimental constructor ([automatic failover] Remove UnifiedJedis experimental constructor accepting MultiDbConnectionProvider #4316) - Removed UnifiedJedis(MultiDbConnectionProvider) constructor as the recommended way to create MultiDbClient is using MultiDbClient.builder()

Changes

Health Check Strategy Update

  • Replaced EchoStrategy with PingStrategy for better health check implementation
  • Updated all related tests and documentation

API Cleanup

  • Removed experimental UnifiedJedis(MultiDbConnectionProvider) constructor
  • Users should use MultiDbClient.builder() instead
  • Updated all tests to use the builder pattern

Migration

Before:

UnifiedJedis jedis = new UnifiedJedis(multiDbConnectionProvider);

After

MultiDbClient client = MultiDbClient.builder()
    .multiDbConfig(config)
    .build();

atakavci and others added 2 commits October 9, 2025 09:23
* - replace EchoStrategy with PingStrategy

* - fix doc
…epting MultiDbConnectionProvider (#4316)

* Remove UnifiedJedis(MultiDbConnectionProvider) experimental constructor

The recommended way to create MultiDbClient is using MultiDbClient.builder().
Update all tests to use the builder pattern.

Fixes #4307

* revert unintentional change in MultiDbClientBuilder
@atakavci atakavci requested review from ggivo and uglide October 9, 2025 15:43
@atakavci atakavci self-assigned this Oct 9, 2025
commit 297279e
Author: Igor Malinovskiy <u.glide@gmail.com>
Date:   Thu Oct 9 13:06:10 2025 +0200

    Add v6 and v7 migration guides (#4315)

    * Add migration guide for v7

    * Move all migration guides to subfolder

    * Update readme:

    - Bump client version
    - Update list of supported Redis versions
    - Remove references to JedisPool
    - Remove reference to Google Group

    * Remove duplicated content in the migration guide

    * Update README.md

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

    * Add missing v5 to v6 migration guide

    * Fix broken link

    * Update outdated modules section in README

    ---------

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

commit 3645601
Author: Ivo Gaydazhiev <ivo.gaydazhiev@redis.com>
Date:   Thu Oct 9 13:53:02 2025 +0300

    Dedicated profile for running Scenario tests (#4312)

    * Dedicated profile for running Scenario tests

      to run only scenario tests
      mvn -Pscenario-tests clean verify

    * format

    * remove import after rebase conflict

    * fix RedisRestAPIIT scenario test

     - increase expected bdb's count to account for additional db added to test env
     - fix incorrect bdbid used for lag-aware availablity checks
        now using bdb of'"re-active-active"

    * fix LagAwareStrategySslIT scenario test

     - Now exception is propagated in case of ssl connection errors instead of returning UNHEALTHY
     - updated the test to current expectations
     - Enhanced test to ensure untrusted default certificate

    * java 8 compatibility

    * remove @tag("integration") from IntegrationTest* to avoid multiple runs of same test

    ---------

    Co-authored-by: Igor Malinovskiy <u.glide@gmail.com>

commit 07bf3b0
Author: Igor Malinovskiy <u.glide@gmail.com>
Date:   Thu Oct 9 12:00:36 2025 +0200

    [automatic failover] Update failover docs (#4314)

    Update failover docs

    - Add migration guide from 6.x to 7.0
    - Add instructions on optional deps
    - Clean up wording to refer to multiDbClient instead of connection provider

commit 158e726
Author: Igor Malinovskiy <u.glide@gmail.com>
Date:   Thu Oct 9 11:14:28 2025 +0200

    Remove deprecated constructors, classes and JedisSharding (#4311)

    * Remove JedisSharding

    * Remove deprecated constructors in UnifiedJedis

    * Clean up UnifiedJedisConstructorReflectionTest

    * Remove remaining ShardedCommandArguments

    * Remove deprecated PipelineBase

    * Remove deprecated TransactionBase

    * Remove unused attr in MultiDbTransaction

commit 5db1a39
Author: Igor Malinovskiy <u.glide@gmail.com>
Date:   Thu Oct 9 10:04:06 2025 +0200

    Remove spellcheck (#4309)

    Nowadays, AI reviewing tools like CoPilot catch spellcheck issues better than pyspelling without a burden of maintaining wordlist.txt
@github-actions
Copy link

github-actions bot commented Oct 9, 2025

Test Results

   279 files  ±0    279 suites  ±0   11m 21s ⏱️ -10s
10 063 tests ±0  9 607 ✅ +600  456 💤  - 600  0 ❌ ±0 
 2 701 runs  ±0  2 701 ✅ ±  0    0 💤 ±  0  0 ❌ ±0 

Results for commit c52a64d. ± Comparison against base commit 297279e.

This pull request removes 6 and adds 6 tests. Note that renamed tests count towards both.
redis.clients.jedis.mcf.EchoStrategyIntegrationTest ‑ testConnectionDropDuringHealthCheck
redis.clients.jedis.mcf.EchoStrategyIntegrationTest ‑ testEchoStrategyRecoversAfterDisconnect
redis.clients.jedis.mcf.EchoStrategyIntegrationTest ‑ testEchoStrategyWithConnectionTimeout
redis.clients.jedis.mcf.HealthCheckTest ‑ testDatabaseConfigWithEchoStrategy
redis.clients.jedis.mcf.HealthCheckTest ‑ testEchoStrategyCustomIntervalTimeout
redis.clients.jedis.mcf.HealthCheckTest ‑ testEchoStrategyDefaultSupplier
redis.clients.jedis.mcf.HealthCheckTest ‑ testDatabaseConfigWithPingStrategy
redis.clients.jedis.mcf.HealthCheckTest ‑ testPingStrategyCustomIntervalTimeout
redis.clients.jedis.mcf.HealthCheckTest ‑ testPingStrategyDefaultSupplier
redis.clients.jedis.mcf.PingStrategyIntegrationTest ‑ testConnectionDropDuringHealthCheck
redis.clients.jedis.mcf.PingStrategyIntegrationTest ‑ testPingStrategyRecoversAfterDisconnect
redis.clients.jedis.mcf.PingStrategyIntegrationTest ‑ testPingStrategyWithConnectionTimeout

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@ggivo ggivo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ggivo ggivo merged commit 840eb9e into master Oct 9, 2025
13 checks passed
@ggivo ggivo added this to the 7.0.0 milestone Oct 10, 2025
@ggivo ggivo added the breakingchange Pull request that has breaking changes. Must include the breaking behavior in release notes. label Oct 10, 2025
@ggivo ggivo deleted the feature/automatic-failover-4 branch October 10, 2025 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breakingchange Pull request that has breaking changes. Must include the breaking behavior in release notes. feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants