Repository: flink
Updated Branches:
  refs/heads/master 937963e33 -> c9db63b93


http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleRightUnwrappingJoiner.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleRightUnwrappingJoiner.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleRightUnwrappingJoiner.java
index 004a0ae..c9b9c27 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleRightUnwrappingJoiner.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleRightUnwrappingJoiner.java
@@ -18,10 +18,12 @@
 
 package org.apache.flink.api.java.operators.translation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.FlatJoinFunction;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.util.Collector;
 
+@Internal
 public final class TupleRightUnwrappingJoiner<I1, I2, OUT, K>
                extends WrappingFunction<FlatJoinFunction<I1, I2, OUT>>
                implements FlatJoinFunction<I1, Tuple2<K, I2>, OUT> {

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingIterator.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingIterator.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingIterator.java
index aea6987..5dbe266 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingIterator.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingIterator.java
@@ -20,6 +20,7 @@ package org.apache.flink.api.java.operators.translation;
 
 import java.util.Iterator;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.util.TraversableOnceException;
 
@@ -27,6 +28,7 @@ import org.apache.flink.util.TraversableOnceException;
  * An iterator that reads 2-tuples (key value pairs) and returns only the 
values (second field).
  * The iterator also tracks the keys, as the pairs flow though it.
  */
+@Internal
 public class TupleUnwrappingIterator<T, K> implements Iterator<T>, 
Iterable<T>, java.io.Serializable {
 
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingJoiner.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingJoiner.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingJoiner.java
index 15cc137..e0ee3b3 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingJoiner.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleUnwrappingJoiner.java
@@ -18,10 +18,12 @@
 
 package org.apache.flink.api.java.operators.translation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.FlatJoinFunction;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.util.Collector;
 
+@Internal
 public final class TupleUnwrappingJoiner<I1, I2, OUT, K>
                extends WrappingFunction<FlatJoinFunction<I1, I2, OUT>>
                implements FlatJoinFunction<Tuple2<K, I1>, Tuple2<K, I2>, OUT> {

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleWrappingCollector.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleWrappingCollector.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleWrappingCollector.java
index 8f0b4fa..4581bf2 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleWrappingCollector.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TupleWrappingCollector.java
@@ -18,12 +18,14 @@
 
 package org.apache.flink.api.java.operators.translation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.tuple.Tuple2;
 import org.apache.flink.util.Collector;
 
 /**
  * Needed to wrap tuples to {@code Tuple2<key, value>} pairs for combine 
method of group reduce with key selector function
  */
+@Internal
 public class TupleWrappingCollector<IN, K> implements Collector<IN>, 
java.io.Serializable {
        
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TwoKeyExtractingMapper.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TwoKeyExtractingMapper.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TwoKeyExtractingMapper.java
index a98c899..7d5e39b 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TwoKeyExtractingMapper.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/TwoKeyExtractingMapper.java
@@ -18,11 +18,13 @@
 
 package org.apache.flink.api.java.operators.translation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.functions.FunctionAnnotation.ForwardedFields;
 import org.apache.flink.api.java.functions.KeySelector;
 import org.apache.flink.api.common.functions.RichMapFunction;
 import org.apache.flink.api.java.tuple.Tuple3;
 
+@Internal
 @ForwardedFields("*->2")
 public final class TwoKeyExtractingMapper<T, K1, K2> extends 
RichMapFunction<T, Tuple3<K1, K2, T>> {
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/WrappingFunction.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/WrappingFunction.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/WrappingFunction.java
index 5a2ab4c..9851c42 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/WrappingFunction.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/operators/translation/WrappingFunction.java
@@ -18,13 +18,14 @@
 
 package org.apache.flink.api.java.operators.translation;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.AbstractRichFunction;
 import org.apache.flink.api.common.functions.Function;
 import org.apache.flink.api.common.functions.RuntimeContext;
 import org.apache.flink.api.common.functions.util.FunctionUtils;
 import org.apache.flink.configuration.Configuration;
 
-
+@Internal
 public abstract class WrappingFunction<T extends Function> extends 
AbstractRichFunction {
        
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/BernoulliSampler.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/BernoulliSampler.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/BernoulliSampler.java
index 8c7c901..cff5f1c 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/BernoulliSampler.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/BernoulliSampler.java
@@ -18,6 +18,7 @@
 package org.apache.flink.api.java.sampling;
 
 import com.google.common.base.Preconditions;
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.util.XORShiftRandom;
 
 import java.util.Iterator;
@@ -31,6 +32,7 @@ import java.util.Random;
  * @param <T> The type of sample.
  * @see <a 
href="http://erikerlandson.github.io/blog/2014/09/11/faster-random-samples-with-gap-sampling/";>Gap
 Sampling</a>
  */
+@Internal
 public class BernoulliSampler<T> extends RandomSampler<T> {
 
        private final double fraction;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/DistributedRandomSampler.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/DistributedRandomSampler.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/DistributedRandomSampler.java
index e5a719f..c6ed14b 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/DistributedRandomSampler.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/DistributedRandomSampler.java
@@ -17,6 +17,8 @@
  */
 package org.apache.flink.api.java.sampling;
 
+import org.apache.flink.annotation.Internal;
+
 import java.util.Iterator;
 import java.util.PriorityQueue;
 
@@ -30,6 +32,7 @@ import java.util.PriorityQueue;
  *
  * @param <T> The input data type.
  */
+@Internal
 public abstract class DistributedRandomSampler<T> extends RandomSampler<T> {
 
        protected final int numSamples;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/IntermediateSampleData.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/IntermediateSampleData.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/IntermediateSampleData.java
index 1d70f19..7fee021 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/IntermediateSampleData.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/IntermediateSampleData.java
@@ -17,12 +17,15 @@
  */
 package org.apache.flink.api.java.sampling;
 
+import org.apache.flink.annotation.Internal;
+
 /**
  * The data structure which is transferred between partitions and the 
coordinator for distributed
  * random sampling.
  *
  * @param <T> The type of sample data.
  */
+@Internal
 public class IntermediateSampleData<T> implements 
Comparable<IntermediateSampleData<T>> {
        private double weight;
        private T element;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/PoissonSampler.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/PoissonSampler.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/PoissonSampler.java
index dd9a650..ae8ea57 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/PoissonSampler.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/PoissonSampler.java
@@ -19,6 +19,7 @@ package org.apache.flink.api.java.sampling;
 
 import com.google.common.base.Preconditions;
 import org.apache.commons.math3.distribution.PoissonDistribution;
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.util.XORShiftRandom;
 
 import java.util.Iterator;
@@ -32,6 +33,7 @@ import java.util.Random;
  * @see <a 
href="https://en.wikipedia.org/wiki/Poisson_distribution";>https://en.wikipedia.org/wiki/Poisson_distribution</a>
  * @see <a 
href="http://erikerlandson.github.io/blog/2014/09/11/faster-random-samples-with-gap-sampling/";>Gap
 Sampling</a>
  */
+@Internal
 public class PoissonSampler<T> extends RandomSampler<T> {
        
        private PoissonDistribution poissonDistribution;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/RandomSampler.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/RandomSampler.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/RandomSampler.java
index 7d74897..7046b01 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/RandomSampler.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/RandomSampler.java
@@ -17,6 +17,8 @@
  */
 package org.apache.flink.api.java.sampling;
 
+import org.apache.flink.annotation.Internal;
+
 import java.util.Iterator;
 
 /**
@@ -25,6 +27,7 @@ import java.util.Iterator;
  *
  * @param <T> The type of sampler data.
  */
+@Internal
 public abstract class RandomSampler<T> {
 
        protected final static double EPSILON = 1e-5;
@@ -56,6 +59,7 @@ public abstract class RandomSampler<T> {
  *
  * @param <T> The type of iterator data.
  */
+@Internal
 abstract class SampledIterator<T> implements Iterator<T> {
        @Override
        public void remove() {

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithReplacement.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithReplacement.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithReplacement.java
index 634f60d..8a57279 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithReplacement.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithReplacement.java
@@ -18,6 +18,7 @@
 package org.apache.flink.api.java.sampling;
 
 import com.google.common.base.Preconditions;
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.util.XORShiftRandom;
 
 import java.util.Iterator;
@@ -36,6 +37,7 @@ import java.util.Random;
  *
  * @param <T> The type of sample.
  */
+@Internal
 public class ReservoirSamplerWithReplacement<T> extends 
DistributedRandomSampler<T> {
 
        private final Random random;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithoutReplacement.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithoutReplacement.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithoutReplacement.java
index 139859b..59161ab 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithoutReplacement.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sampling/ReservoirSamplerWithoutReplacement.java
@@ -18,6 +18,7 @@
 package org.apache.flink.api.java.sampling;
 
 import com.google.common.base.Preconditions;
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.util.XORShiftRandom;
 
 import java.util.Iterator;
@@ -39,6 +40,7 @@ import java.util.Random;
  *
  * @param <T> The type of the sampler.
  */
+@Internal
 public class ReservoirSamplerWithoutReplacement<T> extends 
DistributedRandomSampler<T> {
        
        private final Random random;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeAnalyzerException.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeAnalyzerException.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeAnalyzerException.java
index e42ae67..4dce071 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeAnalyzerException.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeAnalyzerException.java
@@ -17,9 +17,12 @@
  */
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * Exception that is thrown if code analysis could not run properly.
  */
+@PublicEvolving
 public class CodeAnalyzerException extends RuntimeException {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeErrorException.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeErrorException.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeErrorException.java
index 9afe5d8..776fdb5 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeErrorException.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/CodeErrorException.java
@@ -17,9 +17,12 @@
  */
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * Exception that is thrown if code errors could be found during analysis.
  */
+@PublicEvolving
 public class CodeErrorException extends RuntimeException {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java
index 4c0d020..a555950 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMAnalyzer.java
@@ -18,6 +18,7 @@
 
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.Internal;
 import org.objectweb.asm.tree.AbstractInsnNode;
 import org.objectweb.asm.tree.InsnList;
 import org.objectweb.asm.tree.JumpInsnNode;
@@ -33,6 +34,7 @@ import java.lang.reflect.Field;
  * one iterable input e.g. GroupReduce.
  * (see also UdfAnalyzer's field "iteratorTrueAssumptionApplied")
  */
+@Internal
 public class ModifiedASMAnalyzer extends Analyzer {
 
        private NestedMethodAnalyzer interpreter;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java
index 497a15c..f135869 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/ModifiedASMFrame.java
@@ -18,6 +18,7 @@
 
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.Internal;
 import org.objectweb.asm.tree.AbstractInsnNode;
 import org.objectweb.asm.tree.analysis.AnalyzerException;
 import org.objectweb.asm.tree.analysis.Frame;
@@ -31,6 +32,7 @@ import java.util.Arrays;
  * Modified version of ASMs Frame. It allows to perform different merge
  * priorities and passes frame information to the Interpreter.
  */
+@Internal
 public class ModifiedASMFrame extends Frame {
 
        public boolean mergePriority;
@@ -81,4 +83,4 @@ public class ModifiedASMFrame extends Frame {
                        throw new RuntimeException(e);
                }
        }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java
index 687e249..302df4e 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/NestedMethodAnalyzer.java
@@ -29,6 +29,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.java.sca.TaggedValue.Tag;
 import org.objectweb.asm.Type;
 import org.objectweb.asm.tree.AbstractInsnNode;
@@ -48,6 +49,7 @@ import org.objectweb.asm.tree.analysis.BasicValue;
  * information to values. The NestedMethodAnalyzer follows interesting values
  * and analyzes nested methods (control/method flow) if necessary.
  */
+@Internal
 public class NestedMethodAnalyzer extends BasicInterpreter {
 
        // reference to current UDF analysis context

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java
index c54ecf3..43450f7 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/TaggedValue.java
@@ -18,6 +18,7 @@
 
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.Internal;
 import org.objectweb.asm.Type;
 import org.objectweb.asm.tree.analysis.BasicValue;
 
@@ -30,6 +31,7 @@ import java.util.Map.Entry;
  * Extension of ASM's BasicValue that allows to assign "tags"
  * to values and add additional information depending on the tag to the Value.
  */
+@Internal
 public class TaggedValue extends BasicValue {
 
        public static enum Tag {

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java
index 93cba33..1f5bee1 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzer.java
@@ -18,6 +18,7 @@
 
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.functions.CoGroupFunction;
 import org.apache.flink.api.common.functions.CrossFunction;
 import org.apache.flink.api.common.functions.FilterFunction;
@@ -61,6 +62,7 @@ import static 
org.apache.flink.api.java.sca.UdfAnalyzerUtils.removeUngroupedInpu
  * or bytecode instructions that haven't been considered the analyzer
  * will fallback to the ASM library (which removes TaggedValues).
  */
+@Internal
 public class UdfAnalyzer {
        // necessary to prevent endless loops and stack overflows
        private static final int MAX_NESTING = 20;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java
index 6f07c33..ca00d54 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/sca/UdfAnalyzerUtils.java
@@ -18,6 +18,7 @@
 
 package org.apache.flink.api.java.sca;
 
+import org.apache.flink.annotation.Internal;
 import org.apache.flink.api.common.typeinfo.BasicTypeInfo;
 import org.apache.flink.api.common.typeinfo.TypeInformation;
 import org.apache.flink.api.common.typeutils.CompositeType;
@@ -46,6 +47,7 @@ import java.util.Set;
 /**
  * Utility class to work with {@link UdfAnalyzer}
  */
+@Internal
 public final class UdfAnalyzerUtils {
 
        public static TaggedValue 
convertTypeInfoToTaggedValue(TaggedValue.Input input, TypeInformation<?> 
typeInfo,

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/utils/Option.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/utils/Option.java 
b/flink-java/src/main/java/org/apache/flink/api/java/utils/Option.java
index 5b3cfc7..aaf714f 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/utils/Option.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/utils/Option.java
@@ -18,6 +18,8 @@
 
 package org.apache.flink.api.java.utils;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
@@ -27,6 +29,7 @@ import java.util.Set;
 /**
  * Internal representation of a parameter passed to a user defined function.
  */
+@PublicEvolving
 public class Option {
 
        private String longName;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/utils/OptionType.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/utils/OptionType.java 
b/flink-java/src/main/java/org/apache/flink/api/java/utils/OptionType.java
index 744da21..8361668 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/utils/OptionType.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/utils/OptionType.java
@@ -19,11 +19,14 @@
 
 package org.apache.flink.api.java.utils;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 /**
  * Types the parameters of managed with {@link RequiredParameters} can take.
  *
  * Name maps directly to the corresponding Java type.
  */
+@PublicEvolving
 public enum OptionType {
        INTEGER,
        LONG,

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParameters.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParameters.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParameters.java
index 5cdac4c..889921b 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParameters.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParameters.java
@@ -18,6 +18,8 @@
 
 package org.apache.flink.api.java.utils;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.LinkedList;
@@ -27,6 +29,7 @@ import java.util.Objects;
 /**
  * Facility to manage required parameters in user defined functions.
  */
+@PublicEvolving
 public class RequiredParameters {
 
        private static final String HELP_TEXT_PARAM_DELIMITER = "\t";

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParametersException.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParametersException.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParametersException.java
index 941bf25..0537fb7 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParametersException.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/utils/RequiredParametersException.java
@@ -17,12 +17,15 @@
  */
 package org.apache.flink.api.java.utils;
 
+import org.apache.flink.annotation.PublicEvolving;
+
 import java.util.LinkedList;
 import java.util.List;
 
 /**
  * Exception which is thrown if validation of {@link RequiredParameters} fails.
  */
+@PublicEvolving
 public class RequiredParametersException extends Exception {
 
        private List<String> missingArguments;

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/java/org/apache/flink/api/scala/operators/ScalaCsvOutputFormat.java
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/java/org/apache/flink/api/scala/operators/ScalaCsvOutputFormat.java
 
b/flink-scala/src/main/java/org/apache/flink/api/scala/operators/ScalaCsvOutputFormat.java
index afcdc4a..abc3ffc 100644
--- 
a/flink-scala/src/main/java/org/apache/flink/api/scala/operators/ScalaCsvOutputFormat.java
+++ 
b/flink-scala/src/main/java/org/apache/flink/api/scala/operators/ScalaCsvOutputFormat.java
@@ -19,6 +19,7 @@
 
 package org.apache.flink.api.scala.operators;
 
+import org.apache.flink.annotation.PublicEvolving;
 import org.apache.flink.api.common.ExecutionConfig;
 import org.apache.flink.api.common.InvalidProgramException;
 import org.apache.flink.api.common.io.FileOutputFormat;
@@ -43,6 +44,7 @@ import scala.Product;
  * Record delimiter separate records from each other ('\n' is common). Field
  * delimiters separate fields within a record.
  */
+@PublicEvolving
 public class ScalaCsvOutputFormat<T extends Product> extends 
FileOutputFormat<T> implements InputTypeConfigurable {
        private static final long serialVersionUID = 1L;
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala
index 2c6d3cd..53bffff 100644
--- a/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala
+++ b/flink-scala/src/main/scala/org/apache/flink/api/scala/ClosureCleaner.scala
@@ -19,6 +19,7 @@ package org.apache.flink.api.scala
 
 import java.io._
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.InvalidProgramException
 import org.apache.flink.util.InstantiationUtil
 import org.slf4j.LoggerFactory
@@ -30,6 +31,7 @@ import org.objectweb.asm.{ClassReader, ClassVisitor, 
MethodVisitor, Type}
 import org.objectweb.asm.Opcodes._
 
 /* This code is originally from the Apache Spark project. */
+@Internal
 object ClosureCleaner {
   val LOG = LoggerFactory.getLogger(this.getClass)
 
@@ -226,6 +228,7 @@ object ClosureCleaner {
   }
 }
 
+@Internal
 private[flink]
 class ReturnStatementFinder extends ClassVisitor(ASM5) {
   override def visitMethod(access: Int, name: String, desc: String,
@@ -244,6 +247,7 @@ class ReturnStatementFinder extends ClassVisitor(ASM5) {
   }
 }
 
+@Internal
 private[flink]
 class FieldAccessFinder(output: Map[Class[_], Set[String]]) extends 
ClassVisitor(ASM5) {
   override def visitMethod(access: Int, name: String, desc: String,
@@ -271,6 +275,7 @@ class FieldAccessFinder(output: Map[Class[_], Set[String]]) 
extends ClassVisitor
   }
 }
 
+@Internal
 private[flink] class InnerClosureFinder(output: Set[Class[_]]) extends 
ClassVisitor(ASM5) {
   var myName: String = null
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/CrossDataSet.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/CrossDataSet.scala 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/CrossDataSet.scala
index d2704aa..325aa27 100644
--- a/flink-scala/src/main/scala/org/apache/flink/api/scala/CrossDataSet.scala
+++ b/flink-scala/src/main/scala/org/apache/flink/api/scala/CrossDataSet.scala
@@ -17,7 +17,7 @@
  */
 package org.apache.flink.api.scala
 
-import org.apache.flink.annotation.Public
+import org.apache.flink.annotation.{Internal, Public}
 import org.apache.flink.api.common.functions.{CrossFunction, RichCrossFunction}
 import org.apache.flink.api.common.operators.base.CrossOperatorBase.CrossHint
 import org.apache.flink.api.common.typeinfo.TypeInformation
@@ -94,6 +94,7 @@ class CrossDataSet[L, R](
   }
 }
 
+@Internal
 private[flink] object CrossDataSet {
 
   /**

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/Counter.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/Counter.scala 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/Counter.scala
index 06287be..2ddfbb8 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/Counter.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/Counter.scala
@@ -17,6 +17,9 @@
  */
 package org.apache.flink.api.scala.codegen
 
+import org.apache.flink.annotation.Internal
+
+@Internal
 private[flink] class Counter {
   private var value: Int = 0
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/MacroContextHolder.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/MacroContextHolder.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/MacroContextHolder.scala
index 01a1087..9949999 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/MacroContextHolder.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/MacroContextHolder.scala
@@ -18,10 +18,14 @@
 
 package org.apache.flink.api.scala.codegen
 
+import org.apache.flink.annotation.Internal
+
 import scala.reflect.macros.Context
 
+@Internal
 private[flink] class MacroContextHolder[C <: Context](val c: C)
 
+@Internal
 private[flink] object MacroContextHolder {
   def newMacroHelper[C <: Context](c: C) = new MacroContextHolder[c.type](c)
       with TypeDescriptors[c.type]

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TreeGen.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TreeGen.scala 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TreeGen.scala
index af6b7f4..f22d73c 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TreeGen.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TreeGen.scala
@@ -17,10 +17,13 @@
  */
 package org.apache.flink.api.scala.codegen
 
+import org.apache.flink.annotation.Internal
+
 import scala.language.implicitConversions
 
 import scala.reflect.macros.Context
 
+@Internal
 private[flink] trait TreeGen[C <: Context] { this: MacroContextHolder[C] with 
TypeDescriptors[C] =>
   import c.universe._
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeAnalyzer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeAnalyzer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeAnalyzer.scala
index 4d0d353..080e26d 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeAnalyzer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeAnalyzer.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.codegen
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.types.{BooleanValue, ByteValue, CharValue, 
DoubleValue, FloatValue, IntValue, LongValue, ShortValue, StringValue}
 
 import scala.collection._
@@ -24,6 +25,7 @@ import scala.collection.generic.CanBuildFrom
 import scala.reflect.macros.Context
 import scala.util.DynamicVariable
 
+@Internal
 private[flink] trait TypeAnalyzer[C <: Context] { this: MacroContextHolder[C]
   with TypeDescriptors[C] =>
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeDescriptors.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeDescriptors.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeDescriptors.scala
index aea39bf..4efa546 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeDescriptors.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeDescriptors.scala
@@ -17,11 +17,14 @@
  */
 package org.apache.flink.api.scala.codegen
 
+import org.apache.flink.annotation.Internal
+
 import scala.language.postfixOps
 import scala.reflect.macros.Context
 
 // These are only used internally while analyzing Scala types in TypeAnalyzer 
and TypeInformationGen
 
+@Internal
 private[flink] trait TypeDescriptors[C <: Context] { this: 
MacroContextHolder[C] =>
   import c.universe._
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeInformationGen.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeInformationGen.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeInformationGen.scala
index e30cb6d..69de9c6 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeInformationGen.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/codegen/TypeInformationGen.scala
@@ -19,6 +19,7 @@ package org.apache.flink.api.scala.codegen
 
 import java.lang.reflect.{Field, Modifier}
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.ExecutionConfig
 import org.apache.flink.api.common.typeinfo._
 import org.apache.flink.api.common.typeutils._
@@ -32,6 +33,7 @@ import scala.collection.mutable
 import scala.language.postfixOps
 import scala.reflect.macros.Context
 
+@Internal
 private[flink] trait TypeInformationGen[C <: Context] {
   this: MacroContextHolder[C]
   with TypeDescriptors[C]

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/joinDataSet.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/joinDataSet.scala 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/joinDataSet.scala
index ec5f366..8243505 100644
--- a/flink-scala/src/main/scala/org/apache/flink/api/scala/joinDataSet.scala
+++ b/flink-scala/src/main/scala/org/apache/flink/api/scala/joinDataSet.scala
@@ -214,6 +214,7 @@ class JoinDataSet[L, R](
   }
 }
 
+@Internal
 private[flink] abstract class UnfinishedJoinOperationBase[L, R, O <: 
JoinFunctionAssigner[L, R]](
     leftSet: DataSet[L],
     rightSet: DataSet[R],

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassComparator.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassComparator.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassComparator.scala
index 2e3d07a..1f1480e 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassComparator.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassComparator.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.{TypeComparator, TypeSerializer}
 import org.apache.flink.api.java.typeutils.runtime.TupleComparatorBase
 import org.apache.flink.core.memory.MemorySegment
@@ -26,6 +27,7 @@ import org.apache.flink.types.{KeyFieldOutOfBoundsException, 
NullKeyFieldExcepti
  * Comparator for Case Classes. Access is different from
  * our Java Tuples so we have to treat them differently.
  */
+@Internal
 class CaseClassComparator[T <: Product](
     keys: Array[Int],
     scalaComparators: Array[TypeComparator[_]],

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassSerializer.scala
index 3824f9a..625ee80 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/CaseClassSerializer.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase
 import org.apache.flink.core.memory.{DataOutputView, DataInputView}
@@ -25,6 +26,7 @@ import org.apache.flink.core.memory.{DataOutputView, 
DataInputView}
  * Serializer for Case Classes. Creation and access is different from
  * our Java Tuples so we have to treat them differently.
  */
+@Internal
 abstract class CaseClassSerializer[T <: Product](
     clazz: Class[T],
     scalaFieldSerializers: Array[TypeSerializer[_]])

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EitherSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EitherSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EitherSerializer.scala
index 2efc207..6871159 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EitherSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EitherSerializer.scala
@@ -17,12 +17,14 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.core.memory.{DataOutputView, DataInputView}
 
 /**
  * Serializer for [[Either]].
  */
+@Internal
 class EitherSerializer[A, B, T <: Either[A, B]](
     val leftSerializer: TypeSerializer[A],
     val rightSerializer: TypeSerializer[B])

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueComparator.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueComparator.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueComparator.scala
index 4aa0a73..b24a9e3 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueComparator.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueComparator.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeComparator
 import org.apache.flink.api.common.typeutils.base.IntComparator
 import org.apache.flink.core.memory.{DataOutputView, DataInputView, 
MemorySegment}
@@ -24,6 +25,7 @@ import org.apache.flink.core.memory.{DataOutputView, 
DataInputView, MemorySegmen
 /**
  * Comparator for [[Enumeration]] values.
  */
+@Internal
 @SerialVersionUID(1000L)
 class EnumValueComparator[E <: Enumeration](ascComp: Boolean) extends 
TypeComparator[E#Value] {
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueSerializer.scala
index 7c3bc95..67c1445 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/EnumValueSerializer.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.api.common.typeutils.base.IntSerializer
 import org.apache.flink.core.memory.{DataInputView, DataOutputView}
@@ -24,6 +25,7 @@ import org.apache.flink.core.memory.{DataInputView, 
DataOutputView}
 /**
  * Serializer for [[Enumeration]] values.
  */
+@Internal
 class EnumValueSerializer[E <: Enumeration](val enum: E) extends 
TypeSerializer[E#Value] {
 
   type T = E#Value

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/NothingSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/NothingSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/NothingSerializer.scala
index 8c34fa7..fa5279e 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/NothingSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/NothingSerializer.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.core.memory.{DataOutputView, DataInputView}
 
@@ -25,6 +26,7 @@ import org.apache.flink.core.memory.{DataOutputView, 
DataInputView}
  * happens for OptionTypeInfo when None is used, or for Either when one of the 
type parameters
  * is Nothing.
  */
+@Internal
 class NothingSerializer extends TypeSerializer[Any] {
 
   override def duplicate: NothingSerializer = this

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/OptionSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/OptionSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/OptionSerializer.scala
index af2091b..07fba86 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/OptionSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/OptionSerializer.scala
@@ -17,12 +17,14 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.core.memory.{DataOutputView, DataInputView}
 
 /**
  * Serializer for [[Option]].
  */
+@Internal
 class OptionSerializer[A](val elemSerializer: TypeSerializer[A])
   extends TypeSerializer[Option[A]] {
 

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TraversableSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TraversableSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TraversableSerializer.scala
index d242863..7d14dc1 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TraversableSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TraversableSerializer.scala
@@ -19,6 +19,7 @@ package org.apache.flink.api.scala.typeutils
 
 import java.io.ObjectInputStream
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.core.memory.{DataOutputView, DataInputView}
 
@@ -27,6 +28,7 @@ import scala.collection.generic.CanBuildFrom
 /**
  * Serializer for Scala Collections.
  */
+@Internal
 abstract class TraversableSerializer[T <: TraversableOnce[E], E](
     var elementSerializer: TypeSerializer[E])
   extends TypeSerializer[T] with Cloneable {

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TrySerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TrySerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TrySerializer.scala
index 99aae21..a5ec03a 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TrySerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TrySerializer.scala
@@ -17,6 +17,7 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.ExecutionConfig
 import org.apache.flink.api.common.typeutils.TypeSerializer
 import org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer
@@ -27,6 +28,7 @@ import scala.util.{Success, Try, Failure}
 /**
  * Serializer for [[scala.util.Try]].
  */
+@Internal
 class TrySerializer[A](
     private val elemSerializer: TypeSerializer[A],
     private val executionConfig: ExecutionConfig)

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TypeUtils.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TypeUtils.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TypeUtils.scala
index d1b689f..4f778cc 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TypeUtils.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/TypeUtils.scala
@@ -17,10 +17,13 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
+
 import scala.reflect.macros.Context
 import org.apache.flink.api.scala.codegen.MacroContextHolder
 import org.apache.flink.api.common.typeinfo.TypeInformation
 
+@Internal
 private[flink] object TypeUtils {
 
   def createTypeInfo[T: c.WeakTypeTag](c: Context): c.Expr[TypeInformation[T]] 
= {

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/UnitSerializer.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/UnitSerializer.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/UnitSerializer.scala
index bb526ba..d80bc9b 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/UnitSerializer.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/typeutils/UnitSerializer.scala
@@ -17,9 +17,11 @@
  */
 package org.apache.flink.api.scala.typeutils
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.typeutils.base.TypeSerializerSingleton
 import org.apache.flink.core.memory.{DataInputView, DataOutputView}
 
+@Internal
 class UnitSerializer extends TypeSerializerSingleton[Unit] {
 
   def isImmutableType(): Boolean = true

http://git-wip-us.apache.org/repos/asf/flink/blob/e5f33b6d/flink-scala/src/main/scala/org/apache/flink/api/scala/unfinishedKeyPairOperation.scala
----------------------------------------------------------------------
diff --git 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/unfinishedKeyPairOperation.scala
 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/unfinishedKeyPairOperation.scala
index ddb45a4..4620075 100644
--- 
a/flink-scala/src/main/scala/org/apache/flink/api/scala/unfinishedKeyPairOperation.scala
+++ 
b/flink-scala/src/main/scala/org/apache/flink/api/scala/unfinishedKeyPairOperation.scala
@@ -18,6 +18,7 @@
 
 package org.apache.flink.api.scala
 
+import org.apache.flink.annotation.Internal
 import org.apache.flink.api.common.InvalidProgramException
 import org.apache.flink.api.common.operators.Keys
 
@@ -41,6 +42,7 @@ import org.apache.flink.api.common.typeinfo.TypeInformation
  * @tparam R Type of the right input [[DataSet]].
  * @tparam O The type of the resulting Operation.
  */
+@Internal
 private[flink] abstract class UnfinishedKeyPairOperation[L, R, O](
     private[flink] val leftInput: DataSet[L],
     private[flink] val rightInput: DataSet[R]) {
@@ -90,6 +92,7 @@ private[flink] abstract class UnfinishedKeyPairOperation[L, 
R, O](
   }
 }
 
+@Internal
 private[flink] class HalfUnfinishedKeyPairOperation[L, R, O](
     unfinished: UnfinishedKeyPairOperation[L, R, O], leftKey: Keys[L]) {
 

Reply via email to