… sharing the same Redis is using the DRL (#7558)
<!-- Provide a general summary of your changes in the Title above -->
## Description
This pull request fixes an issue where a gateway that uses
enable_redis_rolling_limiter, enable_sentinel_rate_limiter or
enable_fixed_window_rate_limiter shares redis with a gateway which is
sending DRL updates panics as soon as it receives a DRL update
## Related Issue
<!-- This project only accepts pull requests related to open issues. -->
<!-- If suggesting a new feature or change, please discuss it in an
issue first. -->
<!-- If fixing a bug, there should be an issue describing it with steps
to reproduce. -->
<!-- OSS: Please link to the issue here. Tyk: please create/link the
JIRA ticket. -->
## Motivation and Context
<!-- Why is this change required? What problem does it solve? -->
## How This Has Been Tested
<!-- Please describe in detail how you tested your changes -->
<!-- Include details of your testing environment, and the tests -->
<!-- you ran to see how your change affects other areas of the code,
etc. -->
<!-- This information is helpful for reviewers and QA. -->
## Screenshots (if appropriate)
## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] Refactoring or add test (improvements in base code or adds test
coverage to functionality)
## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply -->
<!-- If there are no documentation updates required, mark the item as
checked. -->
<!-- Raise up any additional concerns not covered by the checklist. -->
- [ ] I ensured that the documentation is up to date
- [ ] I explained why this PR updates go.mod in detail with reasoning
why it's required
- [ ] I would like a code coverage CI quality gate exception and have
explained why
<!---TykTechnologies/jira-linter starts here-->
### Ticket Details
<details>
<summary>
<a href="https://tyktech.atlassian.net/browse/TT-12827" title="TT-12827"
target="_blank">TT-12827</a>
</summary>
| | |
|---------|----|
| Status | In Code Review |
| Summary | A gateway using a redis rate limiter panics if any Gateway
sharing the same Redis is using the DRL |
Generated at: 2025-11-25 16:31:44
</details>
<!---TykTechnologies/jira-linter ends here-->
(cherry picked from commit 26926b2)
User description
TT-12827 A gateway using a redis rate limiter panics if any Gateway sharing the same Redis is using the DRL (#7558)
Description
This pull request fixes an issue where a gateway that uses
enable_redis_rolling_limiter, enable_sentinel_rate_limiter or
enable_fixed_window_rate_limiter shares redis with a gateway which is
sending DRL updates panics as soon as it receives a DRL update
Related Issue
Motivation and Context
How This Has Been Tested
Screenshots (if appropriate)
Types of changes
functionality to change)
coverage to functionality)
Checklist
why it's required
explained why
Ticket Details
TT-12827
Generated at: 2025-11-25 16:31:44
PR Type
Bug fix, Tests
Description
Skip DRL events when DRL disabled
Centralize DRL disable check in helper
Add tests for DRL skip behavior
Diagram Walkthrough
File Walkthrough
gateway_test.go
Tests for skipping DRL notifications under other limitersgateway/gateway_test.go
redis_signals.go
Guard DRL redis event handling with disable checkgateway/redis_signals.go
isDRLDisabled()gate for DRL notice handling.server.go
Centralize DRL disable logic and apply in startDRLgateway/server.go
isDRLDisabled()helper.startDRLwith helper.