kafka-webview icon indicating copy to clipboard operation
kafka-webview copied to clipboard

WIP - Add de-serialization autoconfiguration

Open quentingodeau opened this issue 5 years ago • 3 comments

Hi, here the idea was to automatize the registration of de-serializer at startup, hope that it does go again the idea of the product.

quentingodeau avatar Apr 08 '19 11:04 quentingodeau

This is a really interesting idea! I wonder if we should just add your new interface into kafka-webview-plugin? It would be cool if we could have it work for both Deserializers and RecordFilters.

I'm not sure if we can easily support multiple message formats for one jar because if you were to edit one the message formats and upload a new jar, it would likely overwrite the others.

Crim avatar Apr 09 '19 06:04 Crim

Nice you like the idea, no problem I will make the change to move everything in the plugin part, and for RecordFilter I will look. Yes you are right about the update part can I change the DB (the default boolean to a enumerate)? I was thinking to suppress the configuration part on custom message formats when they are from autoconf, what do think?

quentingodeau avatar Apr 10 '19 18:04 quentingodeau

Hi I have finished the deserializer part and added tests (I will squash the two previous commit). There is more changes than I was expecting at the beginning...
I still have two problems:

  1. If the jar that provides deserializers is changed and the kafka-webview application restarted, then if some deserializerd have been deleted they will remain in the DB without the possibility to be removed. I have two possibilities:
  • one is to add a check at startup to find deserializers that have been removed and replace in existing view there usage by a ByteArray deserializer. The con of this method will be startup time and code complexity.
  • The second is to allow deletion of auto-configured deserializers.
  1. The second problem is that I have changed the database so it breaks compatibility with previous version. I was wandering where and how I can provide update scripts?

Finally, in the first commit, I've fixed the issue #160 but I can move this part outside and create a new PR just for this part.

Can we validate the changes that I have made so far before I work on RecordFilter?

quentingodeau avatar Apr 14 '19 20:04 quentingodeau