Skip to content

Adding hotkeys commands support.#3924

Merged
petyaslavova merged 9 commits intomasterfrom
ps_add_hotkeys_command
Feb 7, 2026
Merged

Adding hotkeys commands support.#3924
petyaslavova merged 9 commits intomasterfrom
ps_add_hotkeys_command

Conversation

@petyaslavova
Copy link
Collaborator

Description of change

Please provide a description of the change here.

Pull Request check-list

Please make sure to review and check all of these items:

  • Do tests and lints pass with this change?
  • Do the CI tests pass with this change (enable it first in your forked repo and wait for the github action build to finish)?
  • Is the new or changed code fully tested?
  • Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
  • Is there an example added to the examples folder (if applicable)?

NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds client-side support for Redis HOTKEYS commands (START/STOP/RESET/GET), including response parsing, cluster routing behavior, and test coverage across sync/async and standalone/cluster modes.

Changes:

  • Added hotkeys_start/stop/reset/get APIs and HotkeysMetricsTypes enum to core command set.
  • Added response callback to parse HOTKEYS GET into a Python dict.
  • Added cluster routing logic for HOTKEYS* commands plus extensive sync/async tests (standalone + cluster).

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 28 comments.

Show a summary per file
File Description
redis/commands/core.py Implements HOTKEYS command wrappers and metric enum.
redis/_parsers/helpers.py Adds response callback for HOTKEYS GET parsing.
redis/cluster.py Updates slot determination logic to allow HOTKEYS commands in cluster mode.
tests/test_commands.py Adds standalone (sync) HOTKEYS tests.
tests/test_asyncio/test_commands.py Adds standalone (async) HOTKEYS tests.
tests/test_cluster.py Adds cluster (sync) HOTKEYS tests using target_nodes.
tests/test_asyncio/test_cluster.py Adds cluster (async) HOTKEYS tests using target_nodes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@petyaslavova petyaslavova added the feature New feature label Feb 2, 2026
@jit-ci

This comment has been minimized.

@petyaslavova petyaslavova force-pushed the ps_add_hotkeys_command branch from 6400e72 to a152432 Compare February 5, 2026 15:47
@jit-ci

This comment has been minimized.

@petyaslavova
Copy link
Collaborator Author

augment review

@augmentcode
Copy link

augmentcode bot commented Feb 5, 2026

🤖 Augment PR Summary

Summary: This PR adds client support for Redis 8.5+ HOTKEYS commands and adjusts CI to test against a custom Redis build tag.

Changes:

  • Introduced HotkeysMetricsTypes enum and added hotkeys_start/stop/reset/get methods under management commands.
  • Registered a response callback for HOTKEYS GET to parse its key/value reply structure.
  • Explicitly marks HOTKEYS commands as unsupported for cluster clients (sync and asyncio) by raising NotImplementedError.
  • Added comprehensive sync and asyncio tests covering HOTKEYS start options, stop/reset behavior, and GET response fields (decoded and raw).
  • Updated the composite GitHub Action to map custom Redis image tags to a numeric Redis version for determining the major version.
  • Adjusted the integration workflow matrix/environment to use the custom Redis tag and its mapped version.

Technical Notes: The new HOTKEYS API is guarded by a server-version skip (8.5.240+) in tests, and HOTKEYS GET is treated as an array-wrapped response for aggregation-style replies.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

@jit-ci

This comment has been minimized.

@jit-ci

This comment has been minimized.

@jit-ci

This comment has been minimized.

@jit-ci

This comment has been minimized.

@jit-ci

This comment has been minimized.

@petyaslavova
Copy link
Collaborator Author

@sera ignore type:run-shell-injection

@jit-ci

This comment has been minimized.

@jit-ci

This comment has been minimized.

@jit-ci

This comment has been minimized.

@petyaslavova
Copy link
Collaborator Author

@sera ignore type:run-shell-injection

@jit-ci
Copy link

jit-ci bot commented Feb 7, 2026

🛡️ Jit Security Scan Results

CRITICAL HIGH MEDIUM

🚨 Summary

• Potential shell injection vulnerability in GitHub Actions workflow

• High severity issue affecting CI/CD pipeline security

• Immediate remediation required to prevent code execution risks

▶️ Advanced Options

Help section with supported ignore actions and syntax.

Need to ignore a finding? Use commands like:

@sera ignore <finding_id> reason:accepted (reason is optional)

@sera ignore all reason:other - this is a test PR (reason is optional)

@sera ignore type:run-shell-injection


Security scan by Jit

@petyaslavova petyaslavova merged commit 9ac9ee6 into master Feb 7, 2026
74 of 75 checks passed
@petyaslavova petyaslavova deleted the ps_add_hotkeys_command branch February 7, 2026 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants