Skip to content

reactiveRedisTemplate.opsForHash hanging #3129

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
whojes-toss opened this issue Mar 31, 2025 · 1 comment
Closed

reactiveRedisTemplate.opsForHash hanging #3129

whojes-toss opened this issue Mar 31, 2025 · 1 comment
Labels
for: external-project For an external project and not something we can fix

Comments

@whojes-toss
Copy link

first of all, i'm not good at english so if something is vague or confusing, let me explain more.

Hi, my production code is stucked for some reason, so I'm investigating. It is really rare situation, and i cannot find reproduce, sorry about that.

so I captured heap dump files and found that one of RedisSubscription instance is in NO_DEMAND state, doing nothing. (the command was hvals.)

here is my code:

reactiveRedisTemplate.opsForHash<String, Long>().values(key).collectList().awaitSingle()

what i found:

  1. redisSubscription.command.output was empty but the element array size was 79 so i assumed that the hash had 79 elements at that time, and lettuce got them all.
    Image

  2. redisSubscription.data had 23 entries left.
    Image

  3. subscriber.delegate had 56 entries
    Image

And in my local, subscrition.request(n) is called sequentially with values of 32, 24, 24.


Here are my assumption of the root cause

  1. io.lettuce.core.RedisPublicher$RedisSubscription has some concurrent issues, so RedisSubscription received last request(24) signal but somewhere blocked.
  2. flux did not send the last request(24) signal to RedisSubscription.

do you guys ever have similar issues? it would be great if any clues i can refer to.
thank you in advance!

  • spring-data-redis: 3.1.2.RELEASE
  • Lettuce version(s): 6.2.7.RELEASE
  • Redis version: 6.0 cluster
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Mar 31, 2025
@mp911de mp911de added for: external-project For an external project and not something we can fix and removed status: waiting-for-triage An issue we've not yet triaged labels Apr 7, 2025
@mp911de
Copy link
Member

mp911de commented Apr 7, 2025

RedisSubscription is part of the Lettuce driver. Please file your ticket at https://github.com/redis/lettuce with the details you provided here.

@mp911de mp911de closed this as not planned Won't fix, can't repro, duplicate, stale Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
for: external-project For an external project and not something we can fix
Projects
None yet
Development

No branches or pull requests

3 participants