Skip to content
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

Problem with mget() on version 6.1.5.RELEASE #1891

Closed
rami51 opened this issue Oct 25, 2021 · 2 comments
Closed

Problem with mget() on version 6.1.5.RELEASE #1891

rami51 opened this issue Oct 25, 2021 · 2 comments

Comments

@rami51
Copy link

rami51 commented Oct 25, 2021

Hi, I was trying to run an mget() on a program, stressing it with over 6000 requests per minute and after an hour, my program just stopped working and the last log that I have is:

{'level':'DEBUG', 'message': '[channel=0x83706877, /127.0.0.1:55280 -> localhost/127.0.0.1:6379] writing command SubscriptionCommand [type=MGET, output=KeyValueListOutput [output=[], error='null'], commandType=io.lettuce.core.protocol.Command]', 'loggerName': 'io.lettuce.core.protocol.CommandEncoder:101', 'timestamp': '2021-10-25 11:57:58,521', 'thread': 'lettuce-nioEventLoop-4-1'}

As you can see, I was locally running a docker container with my redis instance and connected to it by lettuce.

Originally posted by @rami51 in #1837 (comment)

@mp911de
Copy link
Collaborator

mp911de commented Oct 26, 2021

Without a reproducer, it is next to impossible to find out what has happened.

@mp911de mp911de added status: waiting-for-feedback We need additional information before we can continue status: waiting-for-triage labels Oct 26, 2021
@rami51
Copy link
Author

rami51 commented Oct 27, 2021

Hi, we could solve the problem by using Guava.

val ids : List<String>  // 200 elements some times
val partition = Lists.partition(ids, 20) // com.google.common.collect.Lists

val topics = partition.map { idsSublist ->
    redisConnection.mget(*idsSublist.map { forKey(it) }.toTypedArray()).toList().filter { it.hasValue() }.map { deserialize(it.value)  }
}

return ids.flatten()

Our ids list used to have 200 elements, and after an hour, it begins to making problems. We achieve to solve the problem by using this Guava alternative. So, I think, you can close the issue. Thank you @mp911de !

@rami51 rami51 closed this as completed Oct 27, 2021
@tishun tishun removed status: waiting-for-feedback We need additional information before we can continue status: waiting-for-triage labels Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants