andrewinci / insulator Goto Github PK
View Code? Open in Web Editor NEWA client UI to inspect Kafka topics, consume, produce and much more
Home Page: https://andrewinci.github.io/Insulator/
License: GNU General Public License v3.0
A client UI to inspect Kafka topics, consume, produce and much more
Home Page: https://andrewinci.github.io/Insulator/
License: GNU General Public License v3.0
Steps:
Open the app
Select a cluster
From menu -> change cluster
Click the button, add new cluster
Previous cluster configs are shown
When publishing to a topic, the json will be serialized using the latest schema for the topic, even if that schema doesn't include all the fields in the json to publish. Additional fields are dropped quietly.
This might only be a problem if the topic schema evolution is fully compatible. I guess with other evolution, you only want to publish with the latest schema?
There's a few things that could be done to improve:
Describe the bug
Cannot launch fresh insulator install as auto-update fails to download dependencies from JCenter.
To Reproduce
Steps to reproduce the behavior:
.deb
packageExpected behavior
Auto-update runs and downloads dependencies
Desktop (please complete the following information):
Additional context
I assume this is related to the JCenter/Bintray sunsetting.
Also need to extend the search to datetime
Allow user to delete a topic
Need a refresh button for:
Is your feature request related to a problem? Please describe.
As a user with a 4k laptop display I struggle to read the UI as it does not seem to take into account the high DPI nature of the screen, unlike the rest of my desktop
Describe the solution you'd like
It would be great if Insulator could support high DPI displays
Describe alternatives you've considered
None
Additional context
I'm using GNOME with Wayland on Ubuntu Linux
List consumer groups
Allow to set the partition offsets for a consumer group
Describe the bug
Bug at start in pre-release v0.6.0
org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
at classpath//org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:587)
at classpath//org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:516)
at classpath//org.apache.kafka.clients.admin.Admin.create(Admin.java:133)
at classpath//org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:39)
at classpath//insulator.kafka.AdminApiKt.adminApi(AdminApi.kt:109)
at classpath//insulator.di.modules.ClusterModule.providesAdminApi(ClusterModule.kt:22)
at classpath//insulator.di.modules.ClusterModule_ProvidesAdminApiFactory.providesAdminApi(ClusterModule_ProvidesAdminApiFactory.java:42)
at classpath//insulator.di.modules.ClusterModule_ProvidesAdminApiFactory.get(ClusterModule_ProvidesAdminApiFactory.java:33)
at classpath//insulator.di.modules.ClusterModule_ProvidesAdminApiFactory.get(ClusterModule_ProvidesAdminApiFactory.java:11)
at classpath//dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at classpath//insulator.viewmodel.main.topic.ListTopicViewModel_Factory.get(ListTopicViewModel_Factory.java:47)
at classpath//insulator.viewmodel.main.topic.ListTopicViewModel_Factory.get(ListTopicViewModel_Factory.java:13)
at classpath//dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at classpath//insulator.views.main.topic.ListTopicView_Factory.get(ListTopicView_Factory.java:27)
at classpath//insulator.views.main.topic.ListTopicView_Factory.get(ListTopicView_Factory.java:9)
at classpath//dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at classpath//insulator.di.DaggerClusterComponent.listTopicView(DaggerClusterComponent.java:175)
at classpath//insulator.viewmodel.main.MainViewModel.<init>(MainViewModel.kt:24)
at classpath//insulator.viewmodel.main.MainViewModel_Factory.newInstance(MainViewModel_Factory.java:41)
at classpath//insulator.viewmodel.main.MainViewModel_Factory.get(MainViewModel_Factory.java:32)
at classpath//insulator.viewmodel.main.MainViewModel_Factory.get(MainViewModel_Factory.java:10)
at classpath//dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at classpath//insulator.views.main.MainView_Factory.get(MainView_Factory.java:45)
at classpath//insulator.views.main.MainView_Factory.get(MainView_Factory.java:13)
at classpath//dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at classpath//insulator.di.DaggerClusterComponent.mainView(DaggerClusterComponent.java:170)
at classpath//insulator.views.configurations.ListClusterView.openMainView(ListClusterView.kt:99)
at classpath//insulator.views.configurations.ListClusterView.access$openMainView(ListClusterView.kt:36)
at classpath//insulator.views.configurations.ListClusterView$clusterList$1$2.invoke(ListClusterView.kt:78)
at classpath//insulator.views.configurations.ListClusterView$clusterList$1$2.invoke(ListClusterView.kt:36)
at classpath//insulator.ui.component.ListViewKt$action$runOpOnSelected$1.invoke(ListView.kt:9)
at classpath//insulator.ui.component.ListViewKt$action$runOpOnSelected$1.invoke(ListView.kt)
at classpath//insulator.ui.component.ListViewKt$action$1.invoke(ListView.kt:11)
at classpath//insulator.ui.component.ListViewKt$action$1.invoke(ListView.kt)
at classpath//tornadofx.NodesKt$onDoubleClick$1.handle(Nodes.kt:415)
at classpath//tornadofx.NodesKt$onDoubleClick$1.handle(Nodes.kt)
at classpath//com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at classpath//com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at classpath//com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at classpath//com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at classpath//com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at classpath//com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at classpath//javafx.event.Event.fireEvent(Event.java:198)
at classpath//javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3563)
at classpath//javafx.scene.Scene$MouseHandler.process(Scene.java:3865)
at classpath//javafx.scene.Scene.processMouseEvent(Scene.java:1851)
at classpath//javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2584)
at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:409)
at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:299)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447)
at classpath//com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412)
at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446)
at classpath//com.sun.glass.ui.View.handleMouseEvent(View.java:556)
at classpath//com.sun.glass.ui.View.notifyMouse(View.java:942)
at classpath//com.sun.glass.ui.mac.MacView.notifyMouse(MacView.java:127)
Caused by: java.lang.NoClassDefFoundError: io/confluent/telemetry/api/events/NoOpEventEmitter
at classpath//org.apache.kafka.common.metrics.Metrics.<init>(Metrics.java:83)
at classpath//org.apache.kafka.common.metrics.Metrics.<init>(Metrics.java:139)
at classpath//org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:553)
... 61 more
Caused by: java.lang.ClassNotFoundException: io.confluent.telemetry.api.events.NoOpEventEmitter
at java.base/java.net.URLClassLoader.findClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 64 more
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
When double clicking on an record with null key (and an Avro value) I'm gettting a pop-up window with a NullPointerException stack trace.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
See the message with the null key
Screenshots
For some reason I am unable to attach a screenshot so, I'll include a detailed description
Pop-up window name: viewModel.keyProperty.value must not be null
Pop-up window message: Error in classpath/insulator.views.main.topic.RecordView$root$1.invoke(RecordView.kt:22)
Pop-up window content:
java.lang.NullPointerException: viewModel.keyProperty.value must not be null at classpath//insulator.views.main.topic.RecordView$root$1.invoke(RecordView.kt:22) at classpath//insulator.views.main.topic.RecordView$root$1.invoke(RecordView.kt:12) at classpath//tornadofx.LayoutsKt.vbox(Layouts.kt:433) at classpath//tornadofx.LayoutsKt.vbox$default(Layouts.kt:144) at classpath//insulator.views.main.topic.RecordView.<init>(RecordView.kt:17) at classpath//insulator.viewmodel.main.topic.TopicViewModel$showRecordInfoView$1.invoke(TopicViewModel.kt:77) at classpath//insulator.viewmodel.main.topic.TopicViewModel$showRecordInfoView$1.invoke(TopicViewModel.kt:25) at classpath//insulator.ui.WindowsManager.openWindow(WindowsManager.kt:21) at classpath//insulator.viewmodel.main.topic.TopicViewModel.showRecordInfoView(TopicViewModel.kt:77) at classpath//insulator.views.main.topic.TopicView$recordsTable$1$3.invoke(TopicView.kt:142) at classpath//insulator.views.main.topic.TopicView$recordsTable$1$3.invoke(TopicView.kt:30) at classpath//tornadofx.NodesKt$onDoubleClick$1.handle(Nodes.kt:415) at classpath//tornadofx.NodesKt$onDoubleClick$1.handle(Nodes.kt) at classpath//com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at classpath//com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at classpath//com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at classpath//com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at classpath//com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at classpath//com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at classpath//com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at classpath//com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at classpath//javafx.event.Event.fireEvent(Event.java:198) at classpath//javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3563) at classpath//javafx.scene.Scene$MouseHandler.process(Scene.java:3865) at classpath//javafx.scene.Scene.processMouseEvent(Scene.java:1851) at classpath//javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2584) at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:409) at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:299) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:447) at classpath//com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:412) at classpath//com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:446) at classpath//com.sun.glass.ui.View.handleMouseEvent(View.java:556) at classpath//com.sun.glass.ui.View.notifyMouse(View.java:942) at classpath//com.sun.glass.ui.mac.MacView.notifyMouse(MacView.java:127)
Desktop (please complete the following information):
Allow users to produce to a topic validating against the avro schema (if the schema registry is configured)
Allow user to delete subjects from schema registry
{
"type": [
"null",
{
"type": "bytes",
"logicalType": "decimal",
"precision": 5,
"scale": 2
}
],
"default": null
}
Hello!
I hope you are doing well!
We are a security research team. Our tool automatically detected a vulnerability in this repository. We want to disclose it responsibly. GitHub has a feature called Private vulnerability reporting, which enables security research to privately disclose a vulnerability. Unfortunately, it is not enabled for this repository.
Can you enable it, so that we can report it?
Thanks in advance!
PS: you can read about how to enable private vulnerability reporting here: https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.