I would greatly appreciate your insights and suggestions about why I drive vert.x into exceptions:
I have started to run a simple setup with 3 dockerized subsystems (1 instance each):
- zookeeper:3.6.1
- kafka:2.12-2.5.0
- confluentinc/ksqldb-server:latest
I use Python producers and subscribers and kafka (and hence zookeeper) seems to work fine, i.e. respond as expected to published and subscribed topics.
I then tried some first steps towards stream processing (inspired by Tim Berglund's talk at Devoxx Poland 2018 (
https://www.youtube.com/watch?v=LM-aQQQes4Q&t=2024s).
But ksqlDB (I believe he version is 0.11.) and/or the CLI seems to freeze on me:
I start the CLI in another container:
docker run -it confluentinc/ksqldb-cli ksql http://<IP_OF_MY_SERVER_IN_THE_LAN>:8088 ksql> LIST TOPICS;
Kafka Topic | Partitions | Partition Replicas
-----------------------------------------------
json | 1 | 1
-----------------------------------------------
ksql> CREATE STREAM JSON_RAW (key_1 varchar, key_2 varchar) WITH (value_format='JSON', kafka_topic='json');
Message
----------------
Stream created
----------------
ksql> SET 'auto.offset.reset'='earliest';
Successfully changed local property 'auto.offset.reset' to 'earliest'. Use the UNSET command to revert your change.
ksql>LIST STREAMS;
Stream Name | Kafka Topic | Format
------------------------------------
JSON_RAW | json | JSON
------------------------------------
Everything looks good so far ... there is some tangible delay between committing the command and getting the feedback, but at least there is feedback.
ksql> SELECT * FROM JSON_RAW EMIT CHANGES;
Press CTRL-C to interrupt
Before I see any output related to data, I get exceptions and error dumps starting like this:
Sep 29, 2020 11:17:29 AM io.vertx.core.impl.BlockedThreadChecker
WARNING: Thread Thread[vert.x-eventloop-thread-1,5,main]=Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2835 ms, time limit is 2000 ms
Sep 29, 2020 11:17:41 AM io.vertx.core.impl.BlockedThreadChecker
WARNING: Thread Thread[vert.x-eventloop-thread-1,5,main]=Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 9408 ms, time limit is 2000 ms
io.vertx.core.VertxException: Thread blocked
at java...@11.0.5/sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.getRawType(ParameterizedTypeImpl.java:41)
at app//com.fasterxml.jackson.databind.type.TypeFactory._fromParamType(TypeFactory.java:1451)
[...]
The values of the topic/stream are then buried in the many lines of traceback ...