-
Notifications
You must be signed in to change notification settings - Fork 80
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
Extensible Kafka KeyOrValueSpecs #4346
Comments
Agreed. It's rather cumbersome the way it is now. During recent refactorings, the switch statements were removed, and the implementations were made cleaner. That said, it's really an internal interface still, while it doesn't need to be. As part of the work in #4375, we'll be a lot closer to achieving this reality. |
I think the change in #4248 might be close enough in terms of code. The protobuf spec was added without changing post-refactor. However, the io.deephaven.kafka.KafkaTools.Consume.KeyOrValueSpec is undocumented and the SchemaProviderProvider interface is private (and undocumented) which likely makes it hard to understand how one is meant to implement a KeyOrValueSpec that extends the SchemaProviderProvider. |
This introduces a new public interface, ObjectProcessor, that provides a means for end-users to create custom KeyOrValueSpec for use with Kafka ingestion. The interface isn't specific to kafka though, and should be extensible to other domains in the future. The existing KeyOrValue specs are left unchanged; but arguably, there may be value in porting our existing implementations over to it in the future. Fixes deephaven#4346
…#4648) This introduces a new public interface, ObjectProcessor, that provides a means for end-users to create custom KeyOrValueSpec for use with Kafka ingestion. The interface isn't specific to kafka though, and should be extensible to other domains in the future. The existing KeyOrValue specs are left unchanged; but arguably, there may be value in porting our existing implementations over to it in the future. Fixes #4346
As a data administrator/developer, I want to be able to substitute my own key or value specifications instead of ones that Deephaven has built so that I can customize my ingestion for new formats or as a developer experiment with alternative processors for existing formats.
The current architecture has switch statements that are not conducive to extending the ingester framework at runtime.
The text was updated successfully, but these errors were encountered: