From d0d66a6cf74111cdcb25898c7e717b58337a96e3 Mon Sep 17 00:00:00 2001 From: Stephan Ewen Date: Tue, 14 Oct 2014 21:08:28 +0200 Subject: [PATCH 1/2] Prevent RPC service from blocking on exceptions during task cleanup on canceling. --- .../runtime/io/network/ChannelManager.java | 6 ++--- .../runtime/taskmanager/TaskManager.java | 26 ++++++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/ChannelManager.java b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/ChannelManager.java index 59084e98e6e8c..41c997dd8460f 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/ChannelManager.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/ChannelManager.java @@ -206,9 +206,8 @@ public void unregister(ExecutionAttemptID executionId, Task task) { Channel channel = this.channels.remove(id); if (channel != null) { channel.destroy(); + this.receiverCache.remove(channel); } - - this.receiverCache.remove(channel); } // destroy and remove INPUT channels from registered channels and cache @@ -216,9 +215,8 @@ public void unregister(ExecutionAttemptID executionId, Task task) { Channel channel = this.channels.remove(id); if (channel != null) { channel.destroy(); + this.receiverCache.remove(channel); } - - this.receiverCache.remove(channel); } // clear and remove INPUT side buffer pools diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/TaskManager.java b/flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/TaskManager.java index 1498a1c5cdf84..8e29013e529b7 100644 --- a/flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/TaskManager.java +++ b/flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/TaskManager.java @@ -61,6 +61,7 @@ import org.apache.flink.runtime.ExecutionMode; import org.apache.flink.runtime.blob.BlobCache; import org.apache.flink.runtime.deployment.TaskDeploymentDescriptor; +import org.apache.flink.runtime.execution.CancelTaskException; import org.apache.flink.runtime.execution.ExecutionState; import org.apache.flink.runtime.execution.RuntimeEnvironment; import org.apache.flink.runtime.execution.librarycache.BlobLibraryCacheManager; @@ -572,7 +573,6 @@ public TaskOperationResult submitTask(TaskDeploymentDescriptor tdd) { Task task = null; boolean jarsRegistered = false; - boolean success = false; try { // Now register data with the library manager @@ -616,7 +616,7 @@ public TaskOperationResult submitTask(TaskDeploymentDescriptor tdd) { env.addCopyTasksForCacheFile(cpTasks); if (!task.startExecution()) { - return new TaskOperationResult(executionId, false, "Task was canceled or failed."); + throw new CancelTaskException(); } // final check that we can go (we do this after the registration, so the the "happen's before" @@ -624,16 +624,19 @@ public TaskOperationResult submitTask(TaskDeploymentDescriptor tdd) { if (shutdownStarted.get()) { throw new Exception("Task Manager is shut down."); } - - success = true; + return new TaskOperationResult(executionId, true); } catch (Throwable t) { - LOG.error("Could not instantiate task", t); - return new TaskOperationResult(executionId, false, ExceptionUtils.stringifyException(t)); - } - finally { - if (!success) { + String message; + if (t instanceof CancelTaskException) { + message = "Task was canceled"; + } else { + LOG.error("Could not instantiate task", t); + message = ExceptionUtils.stringifyException(t); + } + + try { this.runningTasks.remove(executionId); if (task != null) { @@ -643,6 +646,11 @@ public TaskOperationResult submitTask(TaskDeploymentDescriptor tdd) { libraryCacheManager.unregister(jobID); } } + catch (Throwable t2) { + LOG.error("Error during cleanup of task deployment", t2); + } + + return new TaskOperationResult(executionId, false, message); } } From ac0b5e7208965cdf5da4bfddac7b5dbc492d2be6 Mon Sep 17 00:00:00 2001 From: Stephan Ewen Date: Fri, 17 Oct 2014 16:46:45 +0200 Subject: [PATCH 2/2] [FLINK-1171] Move Scala API tests to flink-tests project --- flink-scala/pom.xml | 23 --- flink-tests/pom.xml | 170 +++++++++++++++++- .../scala/DeltaIterationSanityCheckTest.scala | 0 .../api/scala/ScalaAPICompletenessTest.scala | 0 .../SemanticPropertiesTranslationTest.scala | 0 .../scala/io/CollectionInputFormatTest.scala | 0 .../api/scala/io/CsvInputFormatTest.scala | 0 .../api/scala/operators/AggregateITCase.scala | 0 .../operators/AggregateOperatorTest.scala | 0 .../api/scala/operators/CoGroupITCase.scala | 0 .../scala/operators/CoGroupOperatorTest.scala | 0 .../api/scala/operators/CrossITCase.scala | 0 .../api/scala/operators/DistinctITCase.scala | 0 .../operators/DistinctOperatorTest.scala | 0 .../api/scala/operators/ExamplesITCase.scala | 0 .../api/scala/operators/FilterITCase.scala | 0 .../api/scala/operators/FirstNITCase.scala | 0 .../scala/operators/FirstNOperatorTest.scala | 0 .../api/scala/operators/FlatMapITCase.scala | 0 .../scala/operators/GroupReduceITCase.scala | 0 .../api/scala/operators/GroupingTest.scala | 0 .../api/scala/operators/JoinITCase.scala | 0 .../scala/operators/JoinOperatorTest.scala | 0 .../flink/api/scala/operators/MapITCase.scala | 0 .../api/scala/operators/PartitionITCase.scala | 0 .../api/scala/operators/ReduceITCase.scala | 0 .../api/scala/operators/SumMinMaxITCase.scala | 0 .../api/scala/operators/UnionITCase.scala | 0 .../AggregateTranslationTest.scala | 0 .../DeltaIterationTranslationTest.scala | 0 .../translation/DistinctTranslationTest.scala | 0 .../translation/ReduceTranslationTest.scala | 0 .../runtime/GenericPairComparatorTest.scala | 0 .../runtime/TupleComparatorILD2Test.scala | 0 .../runtime/TupleComparatorILD3Test.scala | 0 .../runtime/TupleComparatorILDC3Test.scala | 0 .../runtime/TupleComparatorILDX1Test.scala | 0 .../runtime/TupleComparatorILDXC2Test.scala | 0 .../runtime/TupleComparatorISD1Test.scala | 0 .../runtime/TupleComparatorISD2Test.scala | 0 .../runtime/TupleComparatorISD3Test.scala | 0 .../scala/runtime/TupleSerializerTest.scala | 0 .../runtime/TupleSerializerTestInstance.scala | 0 .../tuple/base/PairComparatorTestBase.scala | 0 .../tuple/base/TupleComparatorTestBase.scala | 0 .../scala/types/TypeInformationGenTest.scala | 0 .../api/scala/util/CollectionDataSets.scala | 0 47 files changed, 163 insertions(+), 30 deletions(-) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/DeltaIterationSanityCheckTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/ScalaAPICompletenessTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/functions/SemanticPropertiesTranslationTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/io/CollectionInputFormatTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/io/CsvInputFormatTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/AggregateITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/AggregateOperatorTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/CoGroupITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/CoGroupOperatorTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/CrossITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/DistinctITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/DistinctOperatorTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/ExamplesITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/FilterITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/FirstNITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/FirstNOperatorTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/FlatMapITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/GroupReduceITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/GroupingTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/JoinITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/JoinOperatorTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/MapITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/PartitionITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/ReduceITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/SumMinMaxITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/UnionITCase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/translation/AggregateTranslationTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/translation/DeltaIterationTranslationTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/translation/DistinctTranslationTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/operators/translation/ReduceTranslationTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/GenericPairComparatorTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD2Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD3Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDC3Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDX1Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDXC2Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD1Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD2Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD3Test.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTestInstance.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/PairComparatorTestBase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/TupleComparatorTestBase.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/types/TypeInformationGenTest.scala (100%) rename {flink-scala => flink-tests}/src/test/scala/org/apache/flink/api/scala/util/CollectionDataSets.scala (100%) diff --git a/flink-scala/pom.xml b/flink-scala/pom.xml index 827c7f0d590d3..4878cba630086 100644 --- a/flink-scala/pom.xml +++ b/flink-scala/pom.xml @@ -39,22 +39,6 @@ under the License. ${project.version} - - org.apache.flink - flink-core - ${project.version} - test-jar - test - - - - org.apache.flink - flink-java - ${project.version} - test-jar - test - - org.apache.flink flink-java @@ -99,13 +83,6 @@ under the License. provided - - org.scalatest - scalatest_2.10 - 2.2.0 - test - - org.apache.flink flink-test-utils diff --git a/flink-tests/pom.xml b/flink-tests/pom.xml index 16dccb6d611d9..ff2b6074aa745 100644 --- a/flink-tests/pom.xml +++ b/flink-tests/pom.xml @@ -36,54 +36,63 @@ under the License. jar + org.apache.flink flink-core ${project.version} + test + org.apache.flink flink-compiler ${project.version} + test + org.apache.flink flink-runtime ${project.version} + test + org.apache.flink flink-clients ${project.version} + test + org.apache.flink flink-java ${project.version} + test - - junit - junit - 4.11 - + org.apache.flink flink-scala ${project.version} test + org.apache.flink flink-test-utils ${project.version} test + org.apache.flink flink-java-examples ${project.version} test + org.apache.flink flink-scala-examples @@ -91,17 +100,162 @@ under the License. test - + + org.apache.flink + flink-core + ${project.version} + test-jar + test + + + + org.apache.flink + flink-java + ${project.version} + test-jar + test + + com.google.guava guava ${guava.version} - provided + test + + + + org.scalatest + scalatest_2.10 + 2.2.0 + test + + + + net.alchim31.maven + scala-maven-plugin + 3.1.4 + + + + scala-compile-first + process-resources + + compile + + + + + + scala-test-compile + process-test-resources + + testCompile + + + + + + -Xms128m + -Xmx512m + + + + + + + org.apache.maven.plugins + maven-eclipse-plugin + 2.8 + + true + + org.scala-ide.sdt.core.scalanature + org.eclipse.jdt.core.javanature + + + org.scala-ide.sdt.core.scalabuilder + + + org.scala-ide.sdt.launching.SCALA_CONTAINER + org.eclipse.jdt.launching.JRE_CONTAINER + + + org.scala-lang:scala-library + org.scala-lang:scala-compiler + + + **/*.scala + **/*.java + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 1.7 + + + + add-source + generate-sources + + add-source + + + + src/main/scala + + + + + + add-test-source + generate-test-sources + + add-test-source + + + + src/test/scala + + + + + + + + org.scalastyle + scalastyle-maven-plugin + 0.5.0 + + + + check + + + + + false + true + true + false + ${basedir}/src/main/scala + ${basedir}/src/test/scala + ${project.basedir}/../tools/maven/scalastyle-config.xml + ${project.basedir}/scalastyle-output.xml + UTF-8 + + + org.apache.maven.plugins maven-jar-plugin @@ -113,6 +267,7 @@ under the License. + org.apache.maven.plugins maven-surefire-plugin @@ -125,6 +280,7 @@ under the License. + maven-failsafe-plugin diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/DeltaIterationSanityCheckTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/DeltaIterationSanityCheckTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/DeltaIterationSanityCheckTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/DeltaIterationSanityCheckTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/ScalaAPICompletenessTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/ScalaAPICompletenessTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/ScalaAPICompletenessTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/ScalaAPICompletenessTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/functions/SemanticPropertiesTranslationTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/functions/SemanticPropertiesTranslationTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/functions/SemanticPropertiesTranslationTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/functions/SemanticPropertiesTranslationTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/io/CollectionInputFormatTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/io/CollectionInputFormatTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/io/CollectionInputFormatTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/io/CollectionInputFormatTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/io/CsvInputFormatTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/io/CsvInputFormatTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/io/CsvInputFormatTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/io/CsvInputFormatTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/AggregateITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/AggregateITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/AggregateITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/AggregateITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/AggregateOperatorTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/AggregateOperatorTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/AggregateOperatorTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/AggregateOperatorTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/CoGroupITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/CoGroupITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/CoGroupITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/CoGroupITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/CoGroupOperatorTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/CoGroupOperatorTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/CoGroupOperatorTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/CoGroupOperatorTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/CrossITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/CrossITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/CrossITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/CrossITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/DistinctITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/DistinctITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/DistinctITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/DistinctITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/DistinctOperatorTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/DistinctOperatorTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/DistinctOperatorTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/DistinctOperatorTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/ExamplesITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/ExamplesITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/ExamplesITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/ExamplesITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FilterITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FilterITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FilterITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FilterITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FirstNITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FirstNITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FirstNITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FirstNITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FirstNOperatorTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FirstNOperatorTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FirstNOperatorTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FirstNOperatorTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FlatMapITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FlatMapITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/FlatMapITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/FlatMapITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/GroupReduceITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/GroupReduceITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/GroupReduceITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/GroupReduceITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/GroupingTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/GroupingTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/GroupingTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/GroupingTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/JoinITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/JoinITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/JoinITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/JoinITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/JoinOperatorTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/JoinOperatorTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/JoinOperatorTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/JoinOperatorTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/MapITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/MapITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/MapITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/MapITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/PartitionITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/PartitionITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/PartitionITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/PartitionITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/ReduceITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/ReduceITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/ReduceITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/ReduceITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/SumMinMaxITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/SumMinMaxITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/SumMinMaxITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/SumMinMaxITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/UnionITCase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/UnionITCase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/UnionITCase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/UnionITCase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/AggregateTranslationTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/AggregateTranslationTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/AggregateTranslationTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/AggregateTranslationTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/DeltaIterationTranslationTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/DeltaIterationTranslationTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/DeltaIterationTranslationTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/DeltaIterationTranslationTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/DistinctTranslationTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/DistinctTranslationTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/DistinctTranslationTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/DistinctTranslationTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/ReduceTranslationTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/ReduceTranslationTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/operators/translation/ReduceTranslationTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/operators/translation/ReduceTranslationTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/GenericPairComparatorTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/GenericPairComparatorTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/GenericPairComparatorTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/GenericPairComparatorTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD2Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD2Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD2Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD2Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD3Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD3Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD3Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILD3Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDC3Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDC3Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDC3Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDC3Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDX1Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDX1Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDX1Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDX1Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDXC2Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDXC2Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDXC2Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorILDXC2Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD1Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD1Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD1Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD1Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD2Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD2Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD2Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD2Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD3Test.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD3Test.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD3Test.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleComparatorISD3Test.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTestInstance.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTestInstance.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTestInstance.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/TupleSerializerTestInstance.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/PairComparatorTestBase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/PairComparatorTestBase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/PairComparatorTestBase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/PairComparatorTestBase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/TupleComparatorTestBase.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/TupleComparatorTestBase.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/TupleComparatorTestBase.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/runtime/tuple/base/TupleComparatorTestBase.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/types/TypeInformationGenTest.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/types/TypeInformationGenTest.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/types/TypeInformationGenTest.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/types/TypeInformationGenTest.scala diff --git a/flink-scala/src/test/scala/org/apache/flink/api/scala/util/CollectionDataSets.scala b/flink-tests/src/test/scala/org/apache/flink/api/scala/util/CollectionDataSets.scala similarity index 100% rename from flink-scala/src/test/scala/org/apache/flink/api/scala/util/CollectionDataSets.scala rename to flink-tests/src/test/scala/org/apache/flink/api/scala/util/CollectionDataSets.scala