Skip to content

feat(data_connector): Update redis dependency#1008

Open
nihohit wants to merge 1 commit intolightseekorg:mainfrom
nihohit:update
Open

feat(data_connector): Update redis dependency#1008
nihohit wants to merge 1 commit intolightseekorg:mainfrom
nihohit:update

Conversation

@nihohit
Copy link
Copy Markdown

@nihohit nihohit commented Apr 1, 2026

The old version is old and unsupported.

Summary by CodeRabbit

  • Chores
    • Bumped Redis connection pool dependency to 0.23.
    • Bumped Redis client dependency to 1.
    • Dependency version updates only; no public API or behavioral changes introduced.

@nihohit nihohit requested a review from key4ng as a code owner April 1, 2026 11:28
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@github-actions github-actions bot added the dependencies Dependency updates label Apr 1, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 1, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 153d0131-a530-4fb5-9e33-7e76d606cd39

📥 Commits

Reviewing files that changed from the base of the PR and between 53aab06 and b126fac.

📒 Files selected for processing (1)
  • crates/data_connector/Cargo.toml

📝 Walkthrough

Walkthrough

Updated Redis-related dependencies in crates/data_connector/Cargo.toml: deadpool-redis bumped from 0.18.0 to 0.23 and redis bumped from 0.27.6 to 1.0; the redis crate feature list remains `["tokio-comp", "json", "connection-manager"].

Changes

Cohort / File(s) Summary
Redis Dependency Updates
crates/data_connector/Cargo.toml
Bumped deadpool-redis 0.18.0 → 0.23 and redis 0.27.6 → 1.0; preserved feature flags (tokio-comp, json, connection-manager).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 I hopped through Cargo.toml tonight,
Bumped versions under soft moonlight.
Deadpool and Redis, shiny and new,
I left the features just as true.
A joyful hop — the build stays bright! 🌙✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: updating Redis dependencies in the data_connector crate.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Apr 1, 2026

Hi @nihohit, the DCO sign-off check has failed. All commits must include a Signed-off-by line.

To fix existing commits:

# Sign off the last N commits (replace N with the number of unsigned commits)
git rebase HEAD~N --signoff
git push --force-with-lease

To sign off future commits automatically:

  • Use git commit -s every time, or
  • VSCode: enable Git: Always Sign Off in Settings
  • PyCharm: enable Sign-off commit in the Commit tool window

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@crates/data_connector/Cargo.toml`:
- Around line 32-34: Whitespace bug in the redis dependency features list:
update the features array in the redis dependency declaration (the line starting
with redis = { version = "1", features = ["tokio-comp",
"json","connection-manager"] }) to put a space after the comma between "json"
and "connection-manager" so it reads "... \"json\", \"connection-manager\" ...";
this is just a formatting change in the Cargo.toml entry for redis.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 568a2518-fabf-4be6-88c6-91fc1792c334

📥 Commits

Reviewing files that changed from the base of the PR and between 709e1f6 and 53aab06.

📒 Files selected for processing (1)
  • crates/data_connector/Cargo.toml

Comment on lines +32 to +34
deadpool-redis = "0.23"
oracle = { version = "0.6.3", features = ["chrono"] }
redis = { version = "0.27.6", features = ["tokio-comp", "json", "connection-manager"] }
redis = { version = "1", features = ["tokio-comp", "json","connection-manager"] }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Find all Rust files using redis APIs in this crate to assess impact
echo "=== Files using redis in data_connector ==="
fd -e rs . crates/data_connector/src --exec rg -l 'redis|Redis' {}

echo ""
echo "=== Redis usage patterns ==="
rg -n 'redis::' crates/data_connector/src || echo "No direct redis:: usage found"

echo ""
echo "=== Connection manager usage ==="
rg -n -C2 'connection.manager|ConnectionManager' crates/data_connector/src || echo "No ConnectionManager usage found"

Repository: lightseekorg/smg

Length of output: 3433


🌐 Web query:

What are the breaking changes between redis-rs crate version 0.27 and version 1.0? Are the features tokio-comp, json, and connection-manager still valid in redis 1.0?

💡 Result:

The breaking changes between redis-rs 0.27 and 1.0, released December 5, 2025, are detailed in the official version1.md migration guide. Key changes include: - Safe iteration: Iterators now return RedisResult instead of silently ignoring deserialization errors. The safe_iterators feature is now default. - ToSingleRedisArg trait: New marker trait to distinguish single vs. multiple values at compile time; most built-in types implement it. - Default timeouts: Async connections have 1s connection and 500ms response timeouts by default; configure via AsyncConnectionConfig if needed. - FromRedisValue changes: Takes owned value instead of reference for zero-copy deserialization; new error types. - Better error messages: Improved phrasing and structure; may break code parsing specific error texts. - Deprecated features removed: Notably async-std support; use smol-comp instead. - Other minor: Handling Result types in iteration, confusing compiler errors fixed for returns. Most users can upgrade with minimal changes, primarily handling explicit errors in iterators and adding trait bounds for custom types. All three features—tokio-comp, json, and connection-manager—are still valid in 1.0. They are listed in the Cargo.toml features for 1.0.x versions: - tokio-comp: Enables aio with tokio/net for async support. - json: Enables serde_json for RedisJSON module support via JsonCommands. - connection-manager: Enables automatic reconnection with arc-swap, futures-channel, etc. Usage example: redis = { version = "1.0", features = ["tokio-comp", "json", "connection-manager"] }

Citations:


🏁 Script executed:

# Check deadpool-redis 0.23 Cargo.toml to see what redis versions it supports
python3 << 'EOF'
import json
import urllib.request

# Fetch crates.io API for deadpool-redis 0.23
url = "https://crates.io/api/v1/crates/deadpool-redis/0.23.0"
try:
    with urllib.request.urlopen(url, timeout=5) as response:
        data = json.loads(response.read().decode())
        version = data['versions'][0]
        print(f"deadpool-redis version: {version['num']}")
        print(f"Published: {version['created_at']}")
except Exception as e:
    print(f"Error fetching deadpool-redis info: {e}")

# Also try to fetch dependencies info
url = "https://crates.io/api/v1/crates/deadpool-redis/0.23.0/dependencies"
try:
    with urllib.request.urlopen(url, timeout=5) as response:
        data = json.loads(response.read().decode())
        if 'dependencies' in data:
            redis_deps = [d for d in data['dependencies'] if 'redis' in d['crate']['name'].lower()]
            if redis_deps:
                for dep in redis_deps:
                    print(f"\nRedis dependency: {dep['crate']['name']} {dep['req']}")
            else:
                print("\nNo redis dependency found via API")
except Exception as e:
    print(f"Error fetching dependencies: {e}")
EOF

Repository: lightseekorg/smg

Length of output: 380


🌐 Web query:

deadpool-redis 0.23 compatibility with redis 1.0 - what redis versions does deadpool-redis 0.23 support?

💡 Result:

deadpool-redis 0.23 is compatible with Redis server versions supported by the redis-rs crate version ^1.0.3 (the Rust client library it depends on). It is fully compatible with redis-rs 1.0. The Cargo.toml explicitly declares: redis = { version = "1.0.3", default-features = false, features = ["aio"] }, which uses the ^1.0.3 semver range (1.0.3 to <2.0.0). This upgrade from prior versions (e.g., 0.22 used redis ^0.x) addresses the compatibility request in GitHub issue #447 (opened Oct 2025 for redis-rs 1.0 support), with 0.23 released Feb 2026. No sources specify exact Redis server versions (e.g., 7.x, 8.x), as compatibility is determined by the underlying redis-rs 1.0 client, which supports all Redis protocol versions it implements.

Citations:


🏁 Script executed:

# Check redis.rs for patterns affected by redis 1.0 breaking changes
echo "=== Checking for iterator usage ==="
rg -n -A3 'iter|Iterator' crates/data_connector/src/redis.rs || echo "No iterator patterns found"

echo ""
echo "=== Checking for FromRedisValue implementations ==="
rg -n 'FromRedisValue|from_redis_value' crates/data_connector/src/redis.rs || echo "No FromRedisValue impls found"

echo ""
echo "=== Checking error handling patterns ==="
rg -n '\.context\(|\.map_err\(|Result<' crates/data_connector/src/redis.rs | head -20 || echo "Error handling patterns"

Repository: lightseekorg/smg

Length of output: 2399


🏁 Script executed:

cat -n crates/data_connector/Cargo.toml | sed -n '30,36p'

Repository: lightseekorg/smg

Length of output: 487


Fix spacing in redis features list.

On line 34, add a space after the comma: "json","connection-manager""json", "connection-manager".

The dependency versions are compatible: deadpool-redis 0.23 depends on redis ^1.0.3, and all three features remain valid in redis 1.0.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@crates/data_connector/Cargo.toml` around lines 32 - 34, Whitespace bug in the
redis dependency features list: update the features array in the redis
dependency declaration (the line starting with redis = { version = "1", features
= ["tokio-comp", "json","connection-manager"] }) to put a space after the comma
between "json" and "connection-manager" so it reads "... \"json\",
\"connection-manager\" ..."; this is just a formatting change in the Cargo.toml
entry for redis.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request attempts to update the deadpool-redis and redis dependencies in crates/data_connector/Cargo.toml. However, the specified versions for both crates (0.23 and 1, respectively) do not exist on crates.io, which will lead to build failures. Feedback has been provided to revert or correct these to valid stable versions.

deadpool = { version = "0.12", features = ["managed", "rt_tokio_1"] }
deadpool-postgres = "0.14.1"
deadpool-redis = "0.18.0"
deadpool-redis = "0.23"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

critical

The version 0.23 for deadpool-redis does not exist on crates.io. The current latest stable version is 0.19.0. Specifying a non-existent version will cause the build to fail.

Suggested change
deadpool-redis = "0.23"
deadpool-redis = "0.19.0"

deadpool-redis = "0.23"
oracle = { version = "0.6.3", features = ["chrono"] }
redis = { version = "0.27.6", features = ["tokio-comp", "json", "connection-manager"] }
redis = { version = "1", features = ["tokio-comp", "json","connection-manager"] }
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

critical

The version 1 for the redis crate does not exist. The current latest stable version is 0.27.6. The PR description's claim that the previous version is unsupported seems incorrect as 0.27.6 is the most recent stable release. Additionally, there is a missing space in the features list.

Suggested change
redis = { version = "1", features = ["tokio-comp", "json","connection-manager"] }
redis = { version = "0.27.6", features = ["tokio-comp", "json", "connection-manager"] }

@nihohit nihohit changed the title Update redis dependency feat(data_connector): Update redis dependency Apr 1, 2026
The old version is years old, and is missing a lot of bug fixes.

Signed-off-by: Shachar Langbeheim <nihohit@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant