Flink remote debug not working

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink remote debug not working

Ankit Chaudhary
Hey Guys,

From flink 1.4.+ onwards , I some how not able to use JVM args for remote debug, i.e., "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<xxxx>".

I am using: env.java.opts: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<xxxx>" in flink-conf.yaml. When I try to restart the cluster, the task managers are not started back again. 

In the out log of the task managers, I can see following error: 

ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]

Now, when I try to find the process where the port is already used, I find that the PID belongs to the job manager process. Is this intended behavior or I am missing something?

Regards, Ankit 

 
Reply | Threaded
Open this post in threaded view
|

Re: Flink remote debug not working

Fabian Hueske-2
Hi Ankit,

The env.java.opts parameter is used for all JVMs started by Flink, i.e., JM and TM.
Since the JM process is started before the TM, the port is already in use when you start the TM.

You can use

env.java.opts.taskmanager

to pass parameters only for TM JVMs.

Best, Fabian


2018-03-20 14:45 GMT+01:00 Ankit Chaudhary <[hidden email]>:
Hey Guys,

From flink 1.4.+ onwards , I some how not able to use JVM args for remote debug, i.e., "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<xxxx>".

I am using: env.java.opts: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<xxxx>" in flink-conf.yaml. When I try to restart the cluster, the task managers are not started back again. 

In the out log of the task managers, I can see following error: 

ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]

Now, when I try to find the process where the port is already used, I find that the PID belongs to the job manager process. Is this intended behavior or I am missing something?

Regards, Ankit 

 

Reply | Threaded
Open this post in threaded view
|

Re: Flink remote debug not working

Ankit Chaudhary
Thanks a lot Fabian :). I found the information on the configuration page this morning :)))


Cheers, Ankit

On Thu, Mar 22, 2018 at 9:56 AM, Fabian Hueske <[hidden email]> wrote:
Hi Ankit,

The env.java.opts parameter is used for all JVMs started by Flink, i.e., JM and TM.
Since the JM process is started before the TM, the port is already in use when you start the TM.

You can use

env.java.opts.taskmanager

to pass parameters only for TM JVMs.

Best, Fabian


2018-03-20 14:45 GMT+01:00 Ankit Chaudhary <[hidden email]>:
Hey Guys,

From flink 1.4.+ onwards , I some how not able to use JVM args for remote debug, i.e., "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<xxxx>".

I am using: env.java.opts: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<xxxx>" in flink-conf.yaml. When I try to restart the cluster, the task managers are not started back again. 

In the out log of the task managers, I can see following error: 

ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]

Now, when I try to find the process where the port is already used, I find that the PID belongs to the job manager process. Is this intended behavior or I am missing something?

Regards, Ankit