Skip to content

Conversation

@nicholaspcr
Copy link
Contributor

Summary

This PR contains the backport of the changes approved in https://github.com/TheThingsIndustries/lorawan-stack/pull/4793

@halimi I noticed that the implementation in this repository already had the separation between a paginated request and a get all items request. Which leads me to believe that the changes that were present here were to not propagated to the enterprise repository.

This PR only seeks to make the code consistent.
Additionally the used of the LockedWatch was dropped in favor of only using Watch.

Avoid using Watch() for non-paginated List() calls in the webhook
registry. Watch() holds a Redis connection for the entire transaction
duration, which contributes to connection spikes during high traffic.

When pagination is not required (the common case for handleUp), we now
use ReadOnlyClient() directly, matching the pattern used in other
registries (packages/redis, pubsub/redis).
@nicholaspcr nicholaspcr requested a review from halimi January 13, 2026 12:16
@nicholaspcr nicholaspcr self-assigned this Jan 13, 2026
@nicholaspcr nicholaspcr requested a review from a team as a code owner January 13, 2026 12:16
@nicholaspcr nicholaspcr requested a review from vlasebian January 13, 2026 12:16
@github-actions github-actions bot added c/application server This is related to the Application Server compat/db This could affect Database compatibility labels Jan 13, 2026
@nicholaspcr nicholaspcr merged commit 4858087 into v3.35 Jan 13, 2026
12 of 13 checks passed
@nicholaspcr nicholaspcr deleted the feat/as-redis-list-watch-update branch January 13, 2026 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c/application server This is related to the Application Server compat/db This could affect Database compatibility

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants