-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Configurable kafka topic names. #1840
Comments
fwiw the MCE/MAE jobs are configurable today with fyi for the future, we're actually planning on switching up our event model quite a bit. https://github.com/linkedin/datahub/blob/master/docs/roadmap.md#aspect-specific-mce--mae To clarify that one sentence further, we've found that the monolithic events aren't scaling. So right now we only have In order for this to scale well, we also need a convention for this, so jobs that want to listen to all events can easily construct a pattern to do so. cc @RealChrisL |
@jplaisted This feature as per roadmap will be available in medium term(3-6 months). Is there a way to prioritise this change? In my organisation also, we have started feeling heat as new topic naming policy is in works and as soon as it is implemented, we will be needing this fix. Thanks. |
@mars-lan for prioritization @shakti-garg-saxo @lysimon I'm curious as to how strict these (potential) naming policies are at your companies, and what the philosophy behind having a naming convention across the company on topic names is? Googling around it seems like it may be an underscore EDIT: Just to clarify, A) I'm curious and B) if it is as simple as switching |
@shakti-garg-saxo When you say prioritize, do you mean the "aspect-specific MXE" or "ability to rename current MXE topic name"? Also what you mean by "without impacting aspect-specific modelling feature"? |
I don't think it is too much work to make |
Thanks |
That may require a ittle more work on your end. I think we can easily open up Example PR (I have to submit this internally rather than a PR, I think): #1843
I think that is reasonable. We can punt on the "next generation" of MXEs for now, since they aren't fully open sourced (or even working internally, fully, yet).
I think we can encapsulate this a similar manner as to the old events, via the |
Our convention would be similar to the one mentioned by @shakti-garg-saxo .
The temporary solution has been to update the topics on my own and rebuild the docker container, which was indeed quite easy. |
@jplaisted Thanks for response. I had a quick look at the example PR. Couple of queries:
|
It is parity with what we have today (the topic is hardcoded to Historically, before we open source, there was Backwards incompatible changes are not allowed in kafka, and these changes were backwards incompatible with the previous version. So we had to migrate to new topics, at the time.
I could look into doing that instead, sure. |
Actually, I think that may not scale well. It may be better for you just to write your own implementation and factories? When we go to "v5", every aspect will have its own event. You probably don't want to explicitly list them all out, but instead have some java to build it, given the aspect? Edit: But I guess we can still punt on that. |
Requested by a few people in OS. See #1840. Companies need full customization over the topic name. This new class should be easily customizable by using a spring factory. TODO to finish the implmentation for v5. For right now v5 is LI only and unfinished. Getting this in for v4 so it is useful to other companies now. TODO AFTER OPEN SOURCE PUSH - make configurable via spring TODO AFTER SUBMIT - see where else we can use this (jobs, where else?)
My base change to the code is now in (sorry about that delay). I'll work next on wiring it up with spring. |
) New env vars: - METADATA_CHANGE_EVENT_NAME: The name of the metadata change event topic. - METADATA_AUDIT_EVENT_NAME: The name of the metadata audit event topic. - FAILED_METADATA_CHANGE_EVENT_NAME: The name of the failed metadata change event topic. This will need to be consistent throughout your ecosystem. CLOSES: #1840
This should now be configurable for our applications and Java based ingestion examples (we're still porting a few over from python). See latest commit description:
|
Documentation also updated in #1909 |
Is your feature request related to a problem? Please describe.
Due to company policies, all my kafka topics need to follow some conventions.
As kafka topics are non-configurable hardcoded string in datahub, this prevent me from using this ingestion without building it on my own.
Describe the solution you'd like
I would like to be able to configure those with springBootAutoconfigure, which would allow us to have them:
Describe alternatives you've considered
No alternative considered. Open to suggestion as I am not a spring boot specialist of course.
The text was updated successfully, but these errors were encountered: