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 an
`StreamInputProcessor` there.
----------------------------------------------------------------
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