How to use VS code java debugger and Kafka Connect inside of Docker Compose

Albert Wong
1 min readApr 25, 2024

--

You need to bind *:5005 and KAFKA_DEBUG=y won't do this. I found out the hard way and found this https://www.mrjamiebowman.com/software-development/kafka/debugging-kafka-connect-connectors-smts-in-java/ to help me.


connect:
image: quay.io/debezium/connect:2.6
ports:
- 8083:8083
- 5005:5005
environment:
- BOOTSTRAP_SERVERS=kafka:9092
- GROUP_ID=1
- CONFIG_STORAGE_TOPIC=my_connect_configs
- OFFSET_STORAGE_TOPIC=my_connect_offsets
- STATUS_STORAGE_TOPIC=my_source_connect_statuses
- CONNECT_PLUGIN_PATH=/kafka/connect,/opt/connectors
- JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,address=*:5005,server=y,suspend=n"
# - KAFKA_DEBUG=y
# - DEBUG_SUSPEND_FLAG=y
depends_on:
kafka:
condition: service_healthy
volumes:
- ./kafka-connect-connectors-jar:/opt/connectors

The error you get if you don’t bind correctly (just :5005)

atwong@Albert-CelerData ~ % jdb -attach 5005
java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
at jdk.jdi/com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:136)
at jdk.jdi/com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:255)
at jdk.jdi/com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:119)
at jdk.jdi/com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:83)
at jdk.jdi/com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:546)
at jdk.jdi/com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:356)
at jdk.jdi/com.sun.tools.example.debug.tty.Env.init(Env.java:63)
at jdk.jdi/com.sun.tools.example.debug.tty.TTY.main(TTY.java:1091)

Fatal error:
Unable to attach to target VM.

My launch.json

{
"configurations": [
{
"type": "java",
"name": "Attach to Remote Program",
"request": "attach",
"hostName": "localhost",
"port": "5005"
}
]
}

--

--

Albert Wong

#eCommerce #Java #Database #k8s #Automation. Hobbies: #BoardGames #Comics #Skeet #VideoGames #Pinball #Magic #YelpElite #Travel #Candy