[ 
https://issues.apache.org/jira/browse/FLINK-8073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404828#comment-16404828
 ] 

ASF GitHub Bot commented on FLINK-8073:
---------------------------------------

Github user zentol commented on the issue:

    https://github.com/apache/flink/pull/5718
  
    This change appears to be focus mostly around Travis which i dislike a bit. 
    I'd rather add a custom `Timeout` that prints the thread-dump so we still 
get nice behavior when running things locally/in the IDE.
    
    ```
        @Rule
        public final Timeout timeout = new MyTimeOut(10, TimeUnit.MILLISECONDS);
    
        public static class MyTimeOut extends Timeout {
    
                public MyTimeOut(long timeout, TimeUnit timeUnit) {
                        super(timeout, timeUnit);
                }
    
                @Override
                public Statement apply(Statement base, Description description) 
{
                        Statement fail = super.apply(base, description);
                        return new Statement() {
                                @Override
                                public void evaluate() throws Throwable {
                                        
System.out.println(crunchifyGenerateThreadDump());
                                        fail.evaluate();
                                }
                        };
                }
        }
    
        public static String crunchifyGenerateThreadDump() {
                final StringBuilder dump = new StringBuilder();
                final ThreadMXBean threadMXBean = 
ManagementFactory.getThreadMXBean();
                final ThreadInfo[] threadInfos = 
threadMXBean.getThreadInfo(threadMXBean.getAllThreadIds(), 100);
                for (ThreadInfo threadInfo : threadInfos) {
                        dump.append('"');
                        dump.append(threadInfo.getThreadName());
                        dump.append("\" ");
                        final Thread.State state = threadInfo.getThreadState();
                        dump.append("\n   java.lang.Thread.State: ");
                        dump.append(state);
                        final StackTraceElement[] stackTraceElements = 
threadInfo.getStackTrace();
                        for (final StackTraceElement stackTraceElement : 
stackTraceElements) {
                                dump.append("\n        at ");
                                dump.append(stackTraceElement);
                        }
                        dump.append("\n\n");
                }
                return dump.toString();
        }
    ```


> Test instability 
> FlinkKafkaProducer011ITCase.testScaleDownBeforeFirstCheckpoint()
> ---------------------------------------------------------------------------------
>
>                 Key: FLINK-8073
>                 URL: https://issues.apache.org/jira/browse/FLINK-8073
>             Project: Flink
>          Issue Type: Bug
>          Components: Kafka Connector, Tests
>    Affects Versions: 1.4.0, 1.5.0
>            Reporter: Kostas Kloudas
>            Priority: Blocker
>              Labels: test-stability
>             Fix For: 1.5.0
>
>
> Travis log: https://travis-ci.org/kl0u/flink/jobs/301985988



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to