Skip to content

self.command_stack isn't set properly for ClusterPipeline #3703

Open
@mathewlee11

Description

@mathewlee11

Currently self.command_stack is always [] in ClusterPipeline even if there are commands I believe this bug is caused by the changes in #3611 which added in execution strategies (thanks! Excited to use transactions on clusters), so now the commands are actually stored in self._execution_strategy.command_queue instead. I don't think this is actually breaking anything, but I noticed because upgrading to redis-py 6 caused datadog tracing (and probably other tracing libraries) to not work properly since it uses self.command_stack to list the commands being run so everything was showing up blank.

I have a quick fix here https://github.com/mathewlee11/redis-py/pull/1/files but before I put up a PR I wanted to check if that's the right solution, it might make more sense to have the execution strategies manipulate pipeline.command_stack directly instead of maintaining a separate list?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions