You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Ankit Chaudhary <my...@gmail.com> on 2018/03/20 13:45:21 UTC

Flink remote debug not working

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

Re: Flink remote debug not working

Posted by Ankit Chaudhary <my...@gmail.com>.
Thanks a lot Fabian :). I found the information on the configuration page
this morning :)))

https://ci.apache.org/projects/flink/flink-docs-release-1.4/ops/config.html

Cheers, Ankit

On Thu, Mar 22, 2018 at 9:56 AM, Fabian Hueske <fh...@gmail.com> 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 <my...@gmail.com>:
>
>> 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,addre
>> ss=<xxxx>".
>>
>> I am using: env.java.opts: "-agentlib:jdwp=transport=dt_s
>> ocket,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
>>
>>
>>
>
>

Re: Flink remote debug not working

Posted by Fabian Hueske <fh...@gmail.com>.
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 <my...@gmail.com>:

> 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
>
>
>