Github user arunmahadevan commented on a diff in the pull request: https://github.com/apache/storm/pull/2233#discussion_r130434218 --- Diff: storm-client/src/jvm/org/apache/storm/streams/PairStream.java --- @@ -380,6 +383,25 @@ return partitionBy(KEY).updateStateByKeyPartition(stateUpdater); } + /** + * group the values of this stream with the values having the same key from the other stream. + * <p> + * Note: The parallelism of this stream is carried forward to the joined stream. + * </p> + * + * @param otherStream the other stream + * @param valueJoiner the {@link PairValueJoiner} + * @param <R> the type of the values resulting from the grouping + * @param <V1> the type of the values in the other stream + * @return the new stream + */ + public <R, V1> PairStream<K, R> coGroupByKey(PairStream<K, V1> otherStream, + PairValueJoiner<Collection<V>, Collection<V1>> valueJoiner) { --- End diff -- In the case of Co-group it does not make much sense to expose the PairValueJoiner in the public API. If needed this can be an implementation detail. So the API could be something like, ```java public <V1> PairStream<K, Pair<Iterable<V>, Iterable<V1>>> coGroupByKey(PairStream<K, V1> otherStream) ```
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---