-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Prefix for 'goSDK' checkpoint strategy for Azure Event Hub scalter #3022
Comments
There are two options here, we can do either or both:
Thoughts @kedacore/keda-core-contributors? |
I would go with the value injection approach as it leaves room for customization. |
That is a good option, but doing both might be good as well given every Dapr end-user would otherwise have to do this customization which is less trivial from a UX standpoint. |
A suggestion:
->
-> |
If we go that route, I wouldn't use |
How about |
Fine by me. Thoughts @zroubalik & @JorTurFer? I'd add a |
I agree with @tomkerkhove adding a |
Are you willing to still contribute this @brainslush? |
I'll try. Haven't done coding in Go before but when I read the code I got the impression that this shouldn't be difficult. |
Hi, As i checked the dapr behavior with container apps and the eventhub scaler, a view month ago, it worked well with the goSdk. But the eventhub component was rewritten: which is good, we are waiting for some changes too :-) So, I'm with @tomkerkhove. from the end-user perspective dapr is more concrete and readable. For example, if you create a container app you don't want to configure things like a template path. This is an implementation detail. I would focus on some concrete checkpoint strategy implementations and not a generic solution that lifts the complexity into the scaler configuration. Most of the eventhub processor implementations like in c#, Azure Functions, java, javascript, or python switched over to the metadata checkpoint strategy. So the gosdk variant is currently a very specific one. just my opinion. I think If there is a need for a very generic solution, it could be added later. So i guess the dapr one is more important. @brainslush, i started last year with the checkpoint strategy variant. If you need help or want that i jump in, feel free to ask! |
I'm currently a bit busy but I still intend to do it. |
Created #3141 for Dapr checkpointing |
FYI: I've created a PR on Dapr to bring that topic forward: dapr/components-contrib#1940 |
Does that mean we will only support the new Dapr version or not? (just to verify) |
For older versions, the goSdk Checkpoint Strategy works like before. But since January 2022, this strategy doesn't work anymore for pubsub because of the naming chance. But still for bindings. With the small dapr change, for new dapr versions, a new checkpoint strategy "dapr" is needed. For older versions, the goSdk checkpoint strategy works well. |
Oh boy, this will be fun for support cases - Thanks for following up and let's make sure we have good docs on this :) |
I think this is already done. We can reopen it if not |
Related: #3141 |
Proposal
I suggest to add the possibility to define a prefix for the 'goSDK' checkpoint strategy in the trigger specification of the Azure Event Hub scaler.
e.g.
The search path for the checkpoint file would look like:
https://myaccount.blob.core.windows.net/name_of_container/someDir/dapr-dapreventhubname-daprconsumergroup-0
Use-Case
Allows usage of Keda together with DAPR and Azure Event Hub.
Dapr creates files on the blob storage which are named
{blobContainer}/dapr-{topic}-{consumerGroup}-{partitionId}
.Keda on the other hand looks for
{blobContainer}/{partiotionId}
.Anything else?
Even though I don't know go yet I would try myself on a PR.
The text was updated successfully, but these errors were encountered: