You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Peter Vary (Jira)" <ji...@apache.org> on 2022/10/13 12:02:00 UTC

[jira] [Created] (FLINK-29629) FlameGraph is empty for Legacy Source Threads

Peter Vary created FLINK-29629:
----------------------------------

             Summary: FlameGraph is empty for Legacy Source Threads
                 Key: FLINK-29629
                 URL: https://issues.apache.org/jira/browse/FLINK-29629
             Project: Flink
          Issue Type: Bug
          Components: Runtime / Web Frontend
            Reporter: Peter Vary


Thread dump gets the stack trace for the {{Custom Source}} thread, but this thread is always in {{TIMED_WAITING}}:
{code}
"Source: Custom Source -> A random source (1/2)#0" ...
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.16/Native Method)
	- parking to wait for  <0x00000000ea775750> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos()
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await()
	at org.apache.flink.streaming.runtime.tasks.mailbox.TaskMailboxImpl.take()
	at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.processMailsWhenDefaultActionUnavailable(MailboxProcessor.java:335)
	at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.processMail(MailboxProcessor.java:324)
	at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:201)
[..]
{code}

The actual code is run in the {{Legacy Source Thread}}:
{code}
"Legacy Source Thread - Source: Custom Source -> A random source (1/2)#0" ...
   java.lang.Thread.State: RUNNABLE
{code}

This causes the WebUI FlameGraph to be empty of any useful data.

This is an example code to reproduce:
{code}
DataStream<RowData> inputStream = env.addSource(new RandomRecordSource(recordSize));
inputStream = inputStream.map(new CounterMapper());
FlinkSink.forRowData(inputStream).tableLoader(loader).append();
{code}





--
This message was sent by Atlassian Jira
(v8.20.10#820010)