pnowojski commented on a change in pull request #8858: [hotfix][tests] Change 
some StreamTask tests to create a test task in the task's thread
URL: https://github.com/apache/flink/pull/8858#discussion_r297156841
 
 

 ##########
 File path: 
flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/StreamTaskTest.java
 ##########
 @@ -1023,25 +1014,63 @@ protected AbstractStateBackend 
createInnerBackend(Configuration config) {
        // 
------------------------------------------------------------------------
        // 
------------------------------------------------------------------------
 
+       private enum Event {
+               TASK_IS_RUNNING,
+       }
+
        private static class EmptyStreamTask extends StreamTask<String, 
AbstractStreamOperator<String>> {
 
-               public EmptyStreamTask(Environment env) {
+               private boolean isRunningFoo;
+               private final LinkedBlockingQueue<Event> eventQueue;
+               private final OperatorChain<String, 
AbstractStreamOperator<String>> overrideOperatorChain;
+               private volatile boolean sourceFinished;
+
+               EmptyStreamTask(Environment env, LinkedBlockingQueue<Event> 
eventQueue, OperatorChain<String, AbstractStreamOperator<String>> 
operatorChain) {
                        super(env, null);
+                       this.eventQueue = eventQueue;
+                       this.overrideOperatorChain = operatorChain;
                }
 
                @Override
-               protected void init() throws Exception {}
+               protected void init() {
+                       if (overrideOperatorChain != null) {
+                               super.operatorChain = 
this.overrideOperatorChain;
+                               super.headOperator = 
super.operatorChain.getHeadOperator();
+                       }
+               }
 
                @Override
-               protected void performDefaultAction(ActionContext context) 
throws Exception {
-                       context.allActionsCompleted();
+               protected void performDefaultAction(ActionContext context) {
 
 Review comment:
   I'm not sure if overriding this method is a good way to perform the test 
checks. I think it might be better to rebase this on top of
   https://github.com/apache/flink/pull/8826
   and implement `sourceFinished` and `emitEvent(Event.TASK_IS_RUNNING);` as a 
special implementation of `StreamInputProcessor` used with the default 
implementation of `StreamTask#performDefaultAction`.
   
   Maybe to for this idea to work, you do not need the full extent of but maybe 
only the first two commits from https://github.com/apache/flink/pull/8826 ?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to