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 <bhup...@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" <commits@apex.apache.org>'].