Repository: incubator-apex-malhar Updated Branches: refs/heads/devel-3 9ba99b0ca -> 49b85560c
Add @since tags and update change log for release 3.3.0 Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/commit/49b85560 Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/tree/49b85560 Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/diff/49b85560 Branch: refs/heads/devel-3 Commit: 49b85560ca80209b1041f700c397ac2211693a9f Parents: 9ba99b0 Author: Thomas Weise <[email protected]> Authored: Thu Jan 7 23:57:03 2016 -0800 Committer: Thomas Weise <[email protected]> Committed: Sun Jan 17 18:04:33 2016 -0800 ---------------------------------------------------------------------- CHANGELOG.md | 50 ++++++++++++++++++++ .../contrib/kafka/POJOKafkaOutputOperator.java | 2 + .../datatorrent/demos/wordcount/WordReader.java | 2 + .../kafka/AbstractKafkaInputOperator.java | 2 + .../malhar/kafka/AbstractKafkaPartitioner.java | 2 + .../apex/malhar/kafka/KafkaConsumerWrapper.java | 2 + .../apache/apex/malhar/kafka/KafkaMetrics.java | 2 + .../kafka/KafkaSinglePortInputOperator.java | 2 + .../apex/malhar/kafka/OneToManyPartitioner.java | 2 + .../apex/malhar/kafka/OneToOnePartitioner.java | 2 + .../apex/malhar/kafka/PartitionStrategy.java | 3 ++ .../com/datatorrent/lib/appdata/QueueUtils.java | 3 ++ .../com/datatorrent/lib/appdata/StoreUtils.java | 3 ++ .../dimensions/CustomTimeBucketRegistry.java | 3 ++ .../dimensions/DimensionsConversionContext.java | 2 + .../lib/dimensions/DimensionsDescriptor.java | 2 + .../dimensions/aggregator/AggregateEvent.java | 3 ++ .../lib/io/WebSocketServerInputOperator.java | 3 ++ .../com/datatorrent/lib/util/FieldInfo.java | 3 ++ .../lib/util/FieldValueGenerator.java | 3 ++ .../com/datatorrent/lib/util/TableInfo.java | 3 ++ .../lib/util/comparator/SliceComparator.java | 2 + .../datatorrent/lib/util/time/WindowUtils.java | 2 + 23 files changed, 103 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/CHANGELOG.md ---------------------------------------------------------------------- diff --git a/CHANGELOG.md b/CHANGELOG.md index a43227f..d4698c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,56 @@ Apex Malhar Changelog ======================================================================================================================== +Version 3.3.0-incubating - 2016-01-10 +------------------------------------------------------------------------------------------------------------------------ + +### Sub-task +* [APEXMALHAR-1877] - Move org.apache.hadoop.io.file.tfile from contrib to library in Malhar +* [APEXMALHAR-1901] - Test- DTFileTest creates test folder under lib directory +* [APEXMALHAR-1902] - Rename IdempotentStorage Manager +* [APEXMALHAR-1910] - Fix existing checkstyle violations in BlockReader and FileSplitter +* [APEXMALHAR-1912] - Fix existing check style violations in FileOutput, JMSInput, FTPInput, JDBC classes +* [APEXMALHAR-1916] - Add FileAccess API and its DTFileImplementation +* [APEXMALHAR-1931] - Augment FileAccess API +* [APEXMALHAR-1941] - Add a default Slice comparator to Malhar/util +* [APEXMALHAR-1943] - Add Aggregator to Malhar and make it top level interface +* [APEXMALHAR-1944] - Add DimensionsConversionContext to Malhar and make it top class +* [APEXMALHAR-1945] - Upgrade the version of japicmp to 0.6.2 + +### Bug +* [APEXMALHAR-1880] - Incorrect documentation for maxLength property on AbstractFileOutputOperator +* [APEXMALHAR-1887] - shutdown field in WebSocketInputOperator should be volatile +* [APEXMALHAR-1894] - Add an Input Port With An isConnected Method +* [APEXMALHAR-1922] - FileStreamContext - Set filterStream variable to transient +* [APEXMALHAR-1925] - The kafka offset manager may not store the offset of processed data in all scenarios +* [APEXMALHAR-1928] - Update checkpointed offsettrack in operator thread instead of consumer thread +* [APEXMALHAR-1929] - japicmp plugin fails for malhar samples +* [APEXMALHAR-1934] - When offset is unavailable kafka operator stops reading data +* [APEXMALHAR-1949] - JDBC Input Operator unnecessarily waits two times when the result is empty +* [APEXMALHAR-1960] - Test failure KafkaInputOperatorTest.testRecoveryAndIdempotency + +### Improvement +* [APEXMALHAR-1895] - Refactor Snapshot Server +* [APEXMALHAR-1896] - Add Utility Functions For Working With Schema Tags +* [APEXMALHAR-1906] - Snapshot Server support tags +* [APEXMALHAR-1908] - Add Deserialization Function That Deserializes keys with multiple values +* [APEXMALHAR-1913] - FileSplitter - Need access to modifiedTime of ScannedFileInfo class +* [APEXMALHAR-1918] - FileSplitter - Need stopScanning method in Scanner +* [APEXMALHAR-1940] - Create Operator Utility Class Which Converts Time To Windows +* [APEXMALHAR-1958] - Provide access to doneTuple field in AbstractReconciler for derived classes + +### New Feature +* [APEXMALHAR-1812] - Support Anti Join +* [APEXMALHAR-1813] - Support Semi Join +* [APEXMALHAR-1904] - New Kafka input operator using 0.9.0 consumer APIs + +### Task +* [APEXMALHAR-1859] - Integrate checkstyle with Malhar +* [APEXMALHAR-1892] - Fix missing javadoc +* [APEXMALHAR-1905] - Test the old kafka input operator is compatible with 0.9.0 broker +* [APEXMALHAR-1950] - Identify and mark Operators and Components as @Evolving +* [APEXMALHAR-1956] - Concrete generic Implementation of Kafka Output Operator with auto metrics and batch processing +* [APEXMALHAR-1964] - Checkstyle - Reduce the severity of line length check Version 3.2.0-incubating - 2015-11-13 ------------------------------------------------------------------------------------------------------------------------ http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java ---------------------------------------------------------------------- diff --git a/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java index 5c1f695..52c253c 100644 --- a/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java +++ b/contrib/src/main/java/com/datatorrent/contrib/kafka/POJOKafkaOutputOperator.java @@ -53,6 +53,8 @@ import kafka.producer.ProducerConfig; * @category Messaging * @tags Output operator * + * + * @since 3.3.0 */ public class POJOKafkaOutputOperator extends AbstractKafkaOutputOperator<Object,Object> { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java ---------------------------------------------------------------------- diff --git a/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java b/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java index 09b8d7b..56d9294 100644 --- a/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java +++ b/demos/wordcount/src/main/java/com/datatorrent/demos/wordcount/WordReader.java @@ -27,6 +27,8 @@ import com.datatorrent.common.util.BaseOperator; /** * Extracts words from input line + * + * @since 3.3.0 */ public class WordReader extends BaseOperator { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java index c021c1c..512f058 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaInputOperator.java @@ -63,6 +63,8 @@ import com.datatorrent.api.StatsListener; * <li>Multi-topic support, one operator can subscribe multiple topics</li> * <li>Throughput control support, you can throttle number of tuple for each streaming window</li> * </ol> + * + * @since 3.3.0 */ public abstract class AbstractKafkaInputOperator implements InputOperator, Operator.ActivationListener<Context.OperatorContext>, Operator.CheckpointListener, Partitioner<AbstractKafkaInputOperator>, StatsListener, OffsetCommitCallback { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java index 57c6998..53bbd2a 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/AbstractKafkaPartitioner.java @@ -53,6 +53,8 @@ import com.datatorrent.api.StatsListener; * the consumer subscribes and expose those to subclass which implements the assign method * * The partitioner is always stateless. + * + * @since 3.3.0 */ public abstract class AbstractKafkaPartitioner implements Partitioner<AbstractKafkaInputOperator>, StatsListener { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java index 0903570..cac2ad2 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaConsumerWrapper.java @@ -60,6 +60,8 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; * * It also use the consumers to commit the application processed offsets along with the application name * + * + * @since 3.3.0 */ public class KafkaConsumerWrapper implements Closeable { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java index fdb1252..12a375d 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaMetrics.java @@ -30,6 +30,8 @@ import com.datatorrent.api.AutoMetric; /** * Metrics class + * + * @since 3.3.0 */ public class KafkaMetrics implements Serializable { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java index e563c42..809c680 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/KafkaSinglePortInputOperator.java @@ -26,6 +26,8 @@ import com.datatorrent.api.DefaultOutputPort; * This is just an example of single port operator emits only byte array messages * The key and cluster information are ignored * This class emit the value to the single output port + * + * @since 3.3.0 */ public class KafkaSinglePortInputOperator extends AbstractKafkaInputOperator { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java index 736727e..bcd3073 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToManyPartitioner.java @@ -29,6 +29,8 @@ import org.apache.kafka.common.PartitionInfo; /** * A one-to-many partitioner implementation that creates fix number of operator partitions and assign one or more * Kafka partitions to each. It use round robin to assign partitions + * + * @since 3.3.0 */ public class OneToManyPartitioner extends AbstractKafkaPartitioner { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java index 0cf7d44..b787932 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/OneToOnePartitioner.java @@ -30,6 +30,8 @@ import com.google.common.collect.Sets; /** * An one-to-one partitioner implementation that always returns same amount of operator partitions as * Kafka partitions for the topics that operator subscribe + * + * @since 3.3.0 */ public class OneToOnePartitioner extends AbstractKafkaPartitioner { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java ---------------------------------------------------------------------- diff --git a/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java b/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java index cb21f3d..aaa35ec 100644 --- a/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java +++ b/kafka/src/main/java/org/apache/apex/malhar/kafka/PartitionStrategy.java @@ -18,6 +18,9 @@ */ package org.apache.apex.malhar.kafka; +/** + * @since 3.3.0 + */ public enum PartitionStrategy { /** http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java b/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java index 1291428..4213aae 100644 --- a/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java +++ b/library/src/main/java/com/datatorrent/lib/appdata/QueueUtils.java @@ -18,6 +18,9 @@ */ package com.datatorrent.lib.appdata; +/** + * @since 3.3.0 + */ public class QueueUtils { /** http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java b/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java index b8fe454..e6712d1 100644 --- a/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java +++ b/library/src/main/java/com/datatorrent/lib/appdata/StoreUtils.java @@ -29,6 +29,9 @@ import com.datatorrent.api.DefaultInputPort; import com.datatorrent.api.DefaultOutputPort; import com.datatorrent.api.Sink; +/** + * @since 3.3.0 + */ public class StoreUtils { /** http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java b/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java index fc11647..0e76509 100644 --- a/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java +++ b/library/src/main/java/com/datatorrent/lib/dimensions/CustomTimeBucketRegistry.java @@ -31,6 +31,9 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2IntMap; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +/** + * @since 3.3.0 + */ public class CustomTimeBucketRegistry implements Serializable { private static final long serialVersionUID = 201509221536L; http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java index 9247320..dd598ff 100644 --- a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java +++ b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsConversionContext.java @@ -26,6 +26,8 @@ import com.datatorrent.lib.appdata.schemas.FieldsDescriptor; /** * This is a context object used to convert {@link InputEvent}s into aggregates * in {@link IncrementalAggregator}s. + * + * @since 3.3.0 */ public class DimensionsConversionContext implements Serializable { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java index e593112..a1b6f96 100644 --- a/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java +++ b/library/src/main/java/com/datatorrent/lib/dimensions/DimensionsDescriptor.java @@ -72,6 +72,8 @@ import com.datatorrent.lib.appdata.schemas.Type; * dimensionsDescriptorID is used for storage in order to prevent key conflicts. * </p> * + * + * @since 3.3.0 */ public class DimensionsDescriptor implements Serializable, Comparable<DimensionsDescriptor> { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java b/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java index b1c68f5..e8f2f3e 100644 --- a/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java +++ b/library/src/main/java/com/datatorrent/lib/dimensions/aggregator/AggregateEvent.java @@ -20,6 +20,9 @@ package com.datatorrent.lib.dimensions.aggregator; import it.unimi.dsi.fastutil.Hash; +/** + * @since 3.3.0 + */ public interface AggregateEvent { int getAggregatorIndex(); http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java b/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java index 1961dcf..bf1b40e 100644 --- a/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java +++ b/library/src/main/java/com/datatorrent/lib/io/WebSocketServerInputOperator.java @@ -31,6 +31,9 @@ import org.eclipse.jetty.websocket.WebSocket; import org.eclipse.jetty.websocket.WebSocketServlet; @org.apache.hadoop.classification.InterfaceStability.Evolving +/** + * @since 3.3.0 + */ public abstract class WebSocketServerInputOperator implements InputOperator { public static final String DEFAULT_EXTENSION = "/in"; http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java b/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java index da51688..e07bd04 100644 --- a/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java +++ b/library/src/main/java/com/datatorrent/lib/util/FieldInfo.java @@ -21,6 +21,9 @@ package com.datatorrent.lib.util; import javax.validation.constraints.NotNull; @SuppressWarnings("rawtypes") +/** + * @since 3.3.0 + */ public class FieldInfo { // Columns name set by user. http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java b/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java index a739a61..5c1a241 100644 --- a/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java +++ b/library/src/main/java/com/datatorrent/lib/util/FieldValueGenerator.java @@ -25,6 +25,9 @@ import java.util.Map; import com.datatorrent.lib.util.PojoUtils.Getter; import com.datatorrent.lib.util.PojoUtils.Setter; +/** + * @since 3.3.0 + */ public class FieldValueGenerator<T extends FieldInfo> { public static interface FieldValueHandler<T extends FieldInfo> http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/util/TableInfo.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/util/TableInfo.java b/library/src/main/java/com/datatorrent/lib/util/TableInfo.java index 4dc11b2..e59de59 100644 --- a/library/src/main/java/com/datatorrent/lib/util/TableInfo.java +++ b/library/src/main/java/com/datatorrent/lib/util/TableInfo.java @@ -22,6 +22,9 @@ import java.util.List; import javax.validation.constraints.NotNull; +/** + * @since 3.3.0 + */ public class TableInfo< T extends FieldInfo > { //the row or id expression http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java b/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java index 4a284fe..3fd1c10 100644 --- a/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java +++ b/library/src/main/java/com/datatorrent/lib/util/comparator/SliceComparator.java @@ -26,6 +26,8 @@ import com.datatorrent.netlet.util.Slice; /** * Default key comparator that performs lexicographical comparison of the byte arrays. + * + * @since 3.3.0 */ public class SliceComparator implements Comparator<Slice> { http://git-wip-us.apache.org/repos/asf/incubator-apex-malhar/blob/49b85560/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java ---------------------------------------------------------------------- diff --git a/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java b/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java index 16a4dfa..6d412b5 100644 --- a/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java +++ b/library/src/main/java/com/datatorrent/lib/util/time/WindowUtils.java @@ -31,6 +31,8 @@ import com.datatorrent.api.Context.OperatorContext; /** * This a is class which holds utility functions that can be used by operators to perform common * tasks. + * + * @since 3.3.0 */ public class WindowUtils {
