[ 
https://issues.apache.org/jira/browse/SAMZA-1277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jake Maes updated SAMZA-1277:
-----------------------------
    Description: 
The current design forces users to do stuff like this (I can provide more than 
a few examples already)

{noFormat}
List<MessageStream<GenericRecord>> xTrackingMonitoringEvents = new 
ArrayList<>();
// ... populate the list
 MessageStream<GenericRecord>  initialInputStream =
        xTrackingMonitoringEvents.remove(xTrackingMonitoringEvents.size() - 1);
    Collection<MessageStream<? extends GenericRecord>> otherStreams =
        (Collection<MessageStream<? extends GenericRecord>>) (Object) 
xTrackingMonitoringEvents;

    initialInputStream
        .merge(otherStreams)
// .do other stuff

{noFormat}

^ eww. Removing one item from the array so it can be used as the initial 
message stream seems to cause pain.

Lets see if we can come up with a cleaner way to do merge()

  was:
The current design forces users to do stuff like this (I can provide more than 
a few examples already)

{noFormat}
List<MessageStream<GenericRecord>> xTrackingMonitoringEvents = new 
ArrayList<>();
// ... populate the list
 MessageStream<GenericRecord>  initialInputStream =
        xTrackingMonitoringEvents.remove(xTrackingMonitoringEvents.size() - 1);
    Collection<MessageStream<? extends GenericRecord>> otherStreams =
        (Collection<MessageStream<? extends GenericRecord>>) (Object) 
xTrackingMonitoringEvents;
    initialInputStream
        .merge(otherStreams)

{noFormat}

^ eww. Lets see if we can come up with a cleaner way to do merge()


> merge() operator should not require chaining. 
> ----------------------------------------------
>
>                 Key: SAMZA-1277
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1277
>             Project: Samza
>          Issue Type: Bug
>            Reporter: Jake Maes
>             Fix For: 0.14.0
>
>
> The current design forces users to do stuff like this (I can provide more 
> than a few examples already)
> {noFormat}
> List<MessageStream<GenericRecord>> xTrackingMonitoringEvents = new 
> ArrayList<>();
> // ... populate the list
>  MessageStream<GenericRecord>  initialInputStream =
>         xTrackingMonitoringEvents.remove(xTrackingMonitoringEvents.size() - 
> 1);
>     Collection<MessageStream<? extends GenericRecord>> otherStreams =
>         (Collection<MessageStream<? extends GenericRecord>>) (Object) 
> xTrackingMonitoringEvents;
>     initialInputStream
>         .merge(otherStreams)
> // .do other stuff
> {noFormat}
> ^ eww. Removing one item from the array so it can be used as the initial 
> message stream seems to cause pain.
> Lets see if we can come up with a cleaner way to do merge()



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to