Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/5397#discussion_r165294395 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/taskexecutor/TaskExecutor.java --- @@ -305,6 +311,84 @@ public void postStop() throws Exception { // RPC methods // ====================================================================== + @Override + public CompletableFuture<StackTraceSampleResponse> requestStackTraceSample( + final ExecutionAttemptID executionAttemptId, + final int sampleId, + final int numSamples, + final Time delayBetweenSamples, + final int maxStackTraceDepth, + final Time timeout) { + return requestStackTraceSample( + executionAttemptId, + sampleId, + numSamples, + delayBetweenSamples, + maxStackTraceDepth, + new ArrayList<>(numSamples), + new CompletableFuture<>()); + } + + private CompletableFuture<StackTraceSampleResponse> requestStackTraceSample( + final ExecutionAttemptID executionAttemptId, + final int sampleId, + final int numSamples, + final Time delayBetweenSamples, + final int maxStackTraceDepth, + final List<StackTraceElement[]> currentTraces, + final CompletableFuture<StackTraceSampleResponse> resultFuture) { + + if (numSamples > 0) { + getRpcService().getScheduledExecutor().schedule(() -> runAsync(() -> { --- End diff -- This should be replaceable with `this.scheduleRunAsync(() -> ...)`
---