You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by th...@apache.org on 2017/07/21 23:37:04 UTC
[apex-malhar] branch master updated: APEXMALHAR-2488
APEXMALHAR-2503 Deprecated inner join operator and ignored tests Removed
inner join example
This is an automated email from the ASF dual-hosted git repository.
thw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apex-malhar.git
The following commit(s) were added to refs/heads/master by this push:
new b443b1a APEXMALHAR-2488 APEXMALHAR-2503 Deprecated inner join operator and ignored tests Removed inner join example
b443b1a is described below
commit b443b1ac31f9275c682ea74508db00f2c168ff50
Author: bhupeshchawda <bh...@apache.org>
AuthorDate: Sun May 28 20:19:56 2017 -0700
APEXMALHAR-2488 APEXMALHAR-2503 Deprecated inner join operator and ignored tests
Removed inner join example
---
examples/innerjoin/README.md | 6 -
examples/innerjoin/pom.xml | 70 -----
examples/innerjoin/src/assemble/appPackage.xml | 63 -----
.../examples/innerjoin/InnerJoinApplication.java | 60 -----
.../apex/examples/innerjoin/POJOGenerator.java | 286 ---------------------
.../src/main/resources/META-INF/properties.xml | 56 ----
.../innerjoin/InnerJoinApplicationTest.java | 40 ---
.../innerjoin/src/test/resources/log4j.properties | 43 ----
examples/pom.xml | 1 -
.../malhar/lib/join/POJOInnerJoinOperator.java | 6 +
.../lib/join/POJOPartitionJoinOperatorTest.java | 2 +
11 files changed, 8 insertions(+), 625 deletions(-)
diff --git a/examples/innerjoin/README.md b/examples/innerjoin/README.md
deleted file mode 100644
index 7cc1d7d..0000000
--- a/examples/innerjoin/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Sample application to show how to use the POJOInnerJoinOperator to join two data streams.
-
-Operators in sample application are as follows:
-1) POJOGenerator which emits SalesEvent/ProductEvent POJO's
-2) POJOInnerJoinOperator which joins two POJO streams and emits POJO tuple.
-3) ConsoleOutputOperator which write joined POJO tuples to stdout.
diff --git a/examples/innerjoin/pom.xml b/examples/innerjoin/pom.xml
deleted file mode 100644
index c9438f4..0000000
--- a/examples/innerjoin/pom.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.apex</groupId>
- <artifactId>malhar-examples</artifactId>
- <version>3.8.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>malhar-examples-innerjoin</artifactId>
- <packaging>jar</packaging>
-
- <name>Apache Apex Malhar Inner Join Example</name>
- <description>Sample Application for Inner Join</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.apex</groupId>
- <artifactId>malhar-library</artifactId>
- <version>${project.version}</version>
- <!--
- If you know that your application does not need transitive dependencies pulled in by malhar-library,
- uncomment the following to reduce the size of your app package.
- -->
- <exclusions>
- <exclusion>
- <groupId>*</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.14.1</version>
- </dependency>
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>2.9.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.janino</groupId>
- <artifactId>commons-compiler</artifactId>
- <version>2.7.8</version>
- <type>jar</type>
- </dependency>
- </dependencies>
-</project>
diff --git a/examples/innerjoin/src/assemble/appPackage.xml b/examples/innerjoin/src/assemble/appPackage.xml
deleted file mode 100644
index a870807..0000000
--- a/examples/innerjoin/src/assemble/appPackage.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
- <id>appPackage</id>
- <formats>
- <format>jar</format>
- </formats>
- <includeBaseDirectory>false</includeBaseDirectory>
- <fileSets>
- <fileSet>
- <directory>${basedir}/target/</directory>
- <outputDirectory>/app</outputDirectory>
- <includes>
- <include>${project.artifactId}-${project.version}.jar</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/target/deps</directory>
- <outputDirectory>/lib</outputDirectory>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/site/conf</directory>
- <outputDirectory>/conf</outputDirectory>
- <includes>
- <include>*.xml</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources/META-INF</directory>
- <outputDirectory>/META-INF</outputDirectory>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources/app</directory>
- <outputDirectory>/app</outputDirectory>
- </fileSet>
- <fileSet>
- <directory>${basedir}/src/main/resources/resources</directory>
- <outputDirectory>/resources</outputDirectory>
- </fileSet>
- </fileSets>
-
-</assembly>
-
diff --git a/examples/innerjoin/src/main/java/org/apache/apex/examples/innerjoin/InnerJoinApplication.java b/examples/innerjoin/src/main/java/org/apache/apex/examples/innerjoin/InnerJoinApplication.java
deleted file mode 100644
index 809e115..0000000
--- a/examples/innerjoin/src/main/java/org/apache/apex/examples/innerjoin/InnerJoinApplication.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.apex.examples.innerjoin;
-
-import org.apache.apex.malhar.lib.join.POJOInnerJoinOperator;
-import org.apache.hadoop.conf.Configuration;
-
-import com.datatorrent.api.Context;
-import com.datatorrent.api.DAG;
-import com.datatorrent.api.StreamingApplication;
-import com.datatorrent.api.annotation.ApplicationAnnotation;
-import com.datatorrent.lib.io.ConsoleOutputOperator;
-
-@ApplicationAnnotation(name = "InnerJoinExample")
-/**
- * @since 3.7.0
- */
-public class InnerJoinApplication implements StreamingApplication
-{
- @Override
- public void populateDAG(DAG dag, Configuration conf)
- {
- // SalesEvent Generator
- POJOGenerator salesGenerator = dag.addOperator("Input1", new POJOGenerator());
- // ProductEvent Generator
- POJOGenerator productGenerator = dag.addOperator("Input2", new POJOGenerator());
- productGenerator.setSalesEvent(false);
-
- // Inner join Operator
- POJOInnerJoinOperator join = dag.addOperator("Join", new POJOInnerJoinOperator());
- ConsoleOutputOperator output = dag.addOperator("Output", new ConsoleOutputOperator());
-
- // Streams
- dag.addStream("SalesToJoin", salesGenerator.output, join.input1);
- dag.addStream("ProductToJoin", productGenerator.output, join.input2);
- dag.addStream("JoinToConsole", join.outputPort, output.input);
-
- // Setting tuple class properties to the ports of join operator
- dag.setInputPortAttribute(join.input1, Context.PortContext.TUPLE_CLASS, POJOGenerator.SalesEvent.class);
- dag.setInputPortAttribute(join.input2, Context.PortContext.TUPLE_CLASS, POJOGenerator.ProductEvent.class);
- dag.setOutputPortAttribute(join.outputPort,Context.PortContext.TUPLE_CLASS, POJOGenerator.SalesEvent.class);
- }
-}
diff --git a/examples/innerjoin/src/main/java/org/apache/apex/examples/innerjoin/POJOGenerator.java b/examples/innerjoin/src/main/java/org/apache/apex/examples/innerjoin/POJOGenerator.java
deleted file mode 100644
index 7a4344b..0000000
--- a/examples/innerjoin/src/main/java/org/apache/apex/examples/innerjoin/POJOGenerator.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.apex.examples.innerjoin;
-
-import java.util.Random;
-
-import javax.validation.constraints.Min;
-
-import com.datatorrent.api.Context;
-import com.datatorrent.api.DefaultOutputPort;
-import com.datatorrent.api.InputOperator;
-
-/**
- * Generates and emits the SalesEvent/ProductEvent based on isSalesEvent.
- *
- * @since 3.7.0
- */
-public class POJOGenerator implements InputOperator
-{
- @Min(1)
- private int maxProductId = 100000;
- @Min(1)
- private int maxCustomerId = 100000;
- @Min(1)
- private int maxProductCategories = 100;
- private double maxAmount = 100.0;
- private long tuplesCounter;
- private long time;
- private long timeIncrement;
- private boolean isSalesEvent = true;
- // Limit number of emitted tuples per window
- @Min(0)
- private long maxTuplesPerWindow = 100;
- private final Random random = new Random();
- public final transient DefaultOutputPort<Object> output = new DefaultOutputPort<>();
-
- @Override
- public void beginWindow(long windowId)
- {
- tuplesCounter = 0;
- }
-
- @Override
- public void endWindow()
- {
- time += timeIncrement;
- }
-
- @Override
- public void setup(Context.OperatorContext context)
- {
- time = System.currentTimeMillis();
- timeIncrement = context.getValue(Context.OperatorContext.APPLICATION_WINDOW_COUNT) *
- context.getValue(Context.DAGContext.STREAMING_WINDOW_SIZE_MILLIS);
- }
-
- @Override
- public void teardown()
- {
-
- }
-
- SalesEvent generateSalesEvent() throws Exception
- {
- SalesEvent salesEvent = new SalesEvent();
- salesEvent.productId = randomId(maxProductId);
- salesEvent.customerId = randomId(maxCustomerId);
- salesEvent.amount = randomAmount();
- salesEvent.timestamp = time;
- return salesEvent;
- }
-
- ProductEvent generateProductEvent() throws Exception
- {
- ProductEvent productEvent = new ProductEvent();
- productEvent.productId = randomId(maxProductId);
- productEvent.productCategory = randomId(maxProductCategories);
- productEvent.timestamp = time;
- return productEvent;
- }
-
- private int randomId(int max)
- {
- if (max < 1) {
- return 1;
- }
- return 1 + random.nextInt(max);
- }
-
- private double randomAmount()
- {
- return maxAmount * random.nextDouble();
- }
-
- @Override
- public void emitTuples()
- {
- while (tuplesCounter++ < maxTuplesPerWindow) {
- try {
- if (isSalesEvent) {
- SalesEvent event = generateSalesEvent();
- this.output.emit(event);
- } else {
- ProductEvent event = generateProductEvent();
- this.output.emit(event);
- }
-
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
- }
-
- public static class SalesEvent
- {
- public int customerId;
- public int productId;
- public int productCategory;
- public double amount;
- public long timestamp;
-
- public int getCustomerId()
- {
- return customerId;
- }
-
- public void setCustomerId(int customerId)
- {
- this.customerId = customerId;
- }
-
- public int getProductId()
- {
- return productId;
- }
-
- public void setProductId(int productId)
- {
- this.productId = productId;
- }
-
- public int getProductCategory()
- {
- return productCategory;
- }
-
- public void setProductCategory(int productCategory)
- {
- this.productCategory = productCategory;
- }
-
- public double getAmount()
- {
- return amount;
- }
-
- public void setAmount(double amount)
- {
- this.amount = amount;
- }
-
- public long getTimestamp()
- {
- return timestamp;
- }
-
- public void setTimestamp(long timestamp)
- {
- this.timestamp = timestamp;
- }
- }
-
- public static class ProductEvent
- {
- public int productId;
- public int productCategory;
- public long timestamp;
-
- public int getProductId()
- {
- return productId;
- }
-
- public void setProductId(int productId)
- {
- this.productId = productId;
- }
-
- public int getProductCategory()
- {
- return productCategory;
- }
-
- public void setProductCategory(int productCategory)
- {
- this.productCategory = productCategory;
- }
-
- public long getTimestamp()
- {
- return timestamp;
- }
-
- public void setTimestamp(long timestamp)
- {
- this.timestamp = timestamp;
- }
- }
-
- public int getMaxProductId()
- {
- return maxProductId;
- }
-
- public void setMaxProductId(int maxProductId)
- {
- this.maxProductId = maxProductId;
- }
-
- public int getMaxCustomerId()
- {
- return maxCustomerId;
- }
-
- public void setMaxCustomerId(int maxCustomerId)
- {
- this.maxCustomerId = maxCustomerId;
- }
-
- public int getMaxProductCategories()
- {
- return maxProductCategories;
- }
-
- public void setMaxProductCategories(int maxProductCategories)
- {
- this.maxProductCategories = maxProductCategories;
- }
-
- public double getMaxAmount()
- {
- return maxAmount;
- }
-
- public void setMaxAmount(double maxAmount)
- {
- this.maxAmount = maxAmount;
- }
-
- public boolean isSalesEvent()
- {
- return isSalesEvent;
- }
-
- public void setSalesEvent(boolean salesEvent)
- {
- isSalesEvent = salesEvent;
- }
-
- public long getMaxTuplesPerWindow()
- {
- return maxTuplesPerWindow;
- }
-
- public void setMaxTuplesPerWindow(long maxTuplesPerWindow)
- {
- this.maxTuplesPerWindow = maxTuplesPerWindow;
- }
-}
diff --git a/examples/innerjoin/src/main/resources/META-INF/properties.xml b/examples/innerjoin/src/main/resources/META-INF/properties.xml
deleted file mode 100644
index 879d010..0000000
--- a/examples/innerjoin/src/main/resources/META-INF/properties.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<configuration>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.attr.MEMORY_MB</name>
- <value>1024</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.prop.leftKeyExpression</name>
- <value>productId</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.prop.rightKeyExpression</name>
- <value>productId</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.prop.timeFieldsStr</name>
- <value>timestamp,timestamp</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.prop.expiryTime</name>
- <value>3600000</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.prop.includeFieldStr</name>
- <value>customerId,productId,amount;productCategory,timestamp</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.prop.noOfBuckets</name>
- <value>2</value>
- </property>
- <property>
- <name>dt.application.InnerJoinExample.operator.Join.attr.PARTITIONER</name>
- <value>com.datatorrent.common.partitioner.StatelessPartitioner:3</value>
- </property>
-</configuration>
-
diff --git a/examples/innerjoin/src/test/java/org/apache/apex/examples/innerjoin/InnerJoinApplicationTest.java b/examples/innerjoin/src/test/java/org/apache/apex/examples/innerjoin/InnerJoinApplicationTest.java
deleted file mode 100644
index 03152a4..0000000
--- a/examples/innerjoin/src/test/java/org/apache/apex/examples/innerjoin/InnerJoinApplicationTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.apex.examples.innerjoin;
-
-import org.junit.Test;
-import org.apache.hadoop.conf.Configuration;
-import com.datatorrent.api.LocalMode;
-
-public class InnerJoinApplicationTest
-{
- @Test
- public void testApplication() throws Exception
- {
- LocalMode lma = LocalMode.newInstance();
- Configuration conf = new Configuration(false);
- conf.addResource(this.getClass().getResourceAsStream("/META-INF/properties.xml"));
- lma.prepareDAG(new InnerJoinApplication(), conf);
- LocalMode.Controller lc = lma.getController();
- lc.runAsync();
- Thread.sleep(10 * 1000);
- lc.shutdown();
- }
-}
diff --git a/examples/innerjoin/src/test/resources/log4j.properties b/examples/innerjoin/src/test/resources/log4j.properties
deleted file mode 100644
index 41c733d..0000000
--- a/examples/innerjoin/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-log4j.rootLogger=DEBUG,CONSOLE
-
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
-log4j.appender.CONSOLE.threshold=${test.log.console.threshold}
-test.log.console.threshold=INFO
-
-log4j.appender.RFA=org.apache.log4j.RollingFileAppender
-log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
-log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c{2} %M - %m%n
-log4j.appender.RFA.File=/tmp/app.log
-
-# to enable, add SYSLOG to rootLogger
-log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
-log4j.appender.SYSLOG.syslogHost=127.0.0.1
-log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
-log4j.appender.SYSLOG.layout.conversionPattern=${dt.cid} %-5p [%t] %c{2} %x - %m%n
-log4j.appender.SYSLOG.Facility=LOCAL1
-
-#log4j.logger.org.apache.commons.beanutils=warn
-log4j.logger.com.datatorrent=debug
-log4j.logger.org.apache.apex=debug
-log4j.logger.org=info
diff --git a/examples/pom.xml b/examples/pom.xml
index 1eb405d..6c76381 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -193,7 +193,6 @@
<module>dynamic-partition</module>
<module>enricher</module>
<module>filter</module>
- <module>innerjoin</module>
<module>partition</module>
<module>recordReader</module>
<module>throttle</module>
diff --git a/library/src/main/java/org/apache/apex/malhar/lib/join/POJOInnerJoinOperator.java b/library/src/main/java/org/apache/apex/malhar/lib/join/POJOInnerJoinOperator.java
index a7eff1d..812271f 100644
--- a/library/src/main/java/org/apache/apex/malhar/lib/join/POJOInnerJoinOperator.java
+++ b/library/src/main/java/org/apache/apex/malhar/lib/join/POJOInnerJoinOperator.java
@@ -22,6 +22,8 @@ import java.lang.reflect.Array;
import java.util.HashMap;
import java.util.Map;
+import org.apache.apex.malhar.lib.window.impl.KeyedWindowedMergeOperatorImpl;
+import org.apache.apex.malhar.lib.window.impl.WindowedMergeOperatorImpl;
import org.apache.commons.lang3.ClassUtils;
import com.datatorrent.api.Context;
@@ -39,8 +41,12 @@ import com.datatorrent.lib.util.PojoUtils;
* @displayName POJO Inner Join Operator
* @tags join
*
+ * @deprecated This operator is deprecated and would be removed in the following major release. <br/>
+ * Please use {@link WindowedMergeOperatorImpl} or {@link KeyedWindowedMergeOperatorImpl} for join use cases.
+ *
* @since 3.5.0
*/
+@Deprecated
@org.apache.hadoop.classification.InterfaceStability.Evolving
public class POJOInnerJoinOperator extends AbstractManagedStateInnerJoinOperator<Object,Object> implements Operator.ActivationListener<Context>
{
diff --git a/library/src/test/java/org/apache/apex/malhar/lib/join/POJOPartitionJoinOperatorTest.java b/library/src/test/java/org/apache/apex/malhar/lib/join/POJOPartitionJoinOperatorTest.java
index 9b05fcb..9833093 100644
--- a/library/src/test/java/org/apache/apex/malhar/lib/join/POJOPartitionJoinOperatorTest.java
+++ b/library/src/test/java/org/apache/apex/malhar/lib/join/POJOPartitionJoinOperatorTest.java
@@ -24,6 +24,7 @@ import java.util.Random;
import java.util.concurrent.CountDownLatch;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
import org.apache.hadoop.conf.Configuration;
@@ -43,6 +44,7 @@ import com.datatorrent.common.partitioner.StatelessPartitioner;
import com.datatorrent.common.util.BaseOperator;
import com.datatorrent.lib.io.ConsoleOutputOperator;
+@Ignore
public class POJOPartitionJoinOperatorTest
{
public static final int NUM_OF_PARTITIONS = 4;
--
To stop receiving notification emails like this one, please contact
['"commits@apex.apache.org" <co...@apex.apache.org>'].