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

feat: Introduce activationThreshold/minMetricValue for Redis Scalers #3415

Merged
merged 3 commits into from
Aug 3, 2022

Conversation

JorTurFer
Copy link
Member

@JorTurFer JorTurFer commented Jul 21, 2022

Signed-off-by: Jorge Turrado jorge_turrado@hotmail.es

This PR migrates all redis e2e test from ts to golang and adds the activation threshold to redis-list (on every flavour). I'm waiting till getting more info about redis-streams

Checklist

  • Commits are signed with Developer Certificate of Origin (DCO - learn more)
  • Tests have been added
  • A PR is opened to update the documentation on (repo) (if applicable)

Related to #2800
Related to kedacore/keda-docs#832
Fixes #3250
Fixes #3251
Fixes #3252

@JorTurFer JorTurFer force-pushed the activation-threshold-redis branch 3 times, most recently from 4d28076 to b91c89e Compare July 23, 2022 14:31
Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
@JorTurFer JorTurFer force-pushed the activation-threshold-redis branch from 5c209f4 to d6542f2 Compare July 23, 2022 19:58
@JorTurFer
Copy link
Member Author

hey @abhirockzz,
We are introducing a new feature in KEDA to support more flexibility with the scaler activation. I have doubts about redis-streams (in all flavors, standalone, cluster, sentinel) because (based on my ignorance) I think that XPENDING command returns the amount of pending element for the consumer-group, but it requires having at least 1 active consumer, otherwise it returns 0 all the time. Am I right?
I have tried several things for being able to scale from zero but if the stream doesn't have consumers, seems that KEDA can't recover the pending messages. Does this mean that redis-stream doesn't support scale to zero? it's not a problem at all, but we if that's the case we have to document it properly (maybe it's super obvious and I ignore it due to my expertise gap on redis)

@JorTurFer
Copy link
Member Author

JorTurFer commented Jul 23, 2022

/run-e2e redis*
Update: You can check the progress here

@JorTurFer
Copy link
Member Author

JorTurFer commented Jul 26, 2022

/run-e2e redis*
Update: You can check the progress here

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
@JorTurFer
Copy link
Member Author

JorTurFer commented Jul 27, 2022

/run-e2e redis*
Update: You can check the progress here

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
@JorTurFer
Copy link
Member Author

JorTurFer commented Jul 27, 2022

/run-e2e redis*
Update: You can check the progress here

@JorTurFer JorTurFer mentioned this pull request Aug 3, 2022
48 tasks
@JorTurFer JorTurFer marked this pull request as ready for review August 3, 2022 10:54
@JorTurFer JorTurFer requested a review from a team as a code owner August 3, 2022 10:54
@JorTurFer JorTurFer changed the title WIP - feat: Introduce activationThreshold/minMetricValue for Redis Scalers feat: Introduce activationThreshold/minMetricValue for Redis Scalers Aug 3, 2022
@JorTurFer JorTurFer merged commit 9b3dc2a into kedacore:main Aug 3, 2022
@JorTurFer JorTurFer deleted the activation-threshold-redis branch August 3, 2022 12:48
@danriedl
Copy link

I have doubts about redis-streams (in all flavors, standalone, cluster, sentinel) because (based on my ignorance) I think that XPENDING command returns the amount of pending element for the consumer-group, but it requires having at least 1 active consumer, otherwise it returns 0 all the time. Am I right?

Hi @JorTurFer ,
I've been trying to wrap my head around this for half an hour, but I'm glad I found your comment. Is there any way to scale back up from a Redis Stream Consumer that has been downscaled to zero and thus no longer generates PEL entries?

@JorTurFer
Copy link
Member Author

Hey @danriedl
Sorry but I think it's not possible due to how it works but I'm not an expert, I say this based on my experience which could be wrong

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants