Debugging Kyuubi

You can use the Java Debug Wire Protocol to debug Kyuubi with your favorite IDE tool, e.g. IntelliJ IDEA.

Debugging Server

We can configure the JDWP agent in KYUUBI_JAVA_OPTS for debugging.

For example,

KYUUBI_JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 \
bin/kyuubi start

In the IDE, you set the corresponding parameters(host&port) in debug configurations, for example,

Debugging Engine

We can configure the Kyuubi properties to enable debugging engine.

Flink Engine

kyuubi.engine.flink.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

Trino Engine

kyuubi.engine.trino.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

Hive Engine

kyuubi.engine.hive.java.options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

Debugging Apps

Spark Engine

  • Spark Driver
spark.driver.extraJavaOptions   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
  • Spark Executor
spark.executor.extraJavaOptions   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

Flink Engine

  • Flink Processes
env.java.opts   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
  • Flink JobManager
env.java.opts.jobmanager   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
  • Flink TaskManager
env.java.opts.taskmanager   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
  • Flink HistoryServer
env.java.opts.historyserver   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
  • Flink Client
env.java.opts.client   -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005