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