SplitStreamKeySelector was build for TupleX output type only
(FlinkTopologyBuilder never used primitive or POJO types). So splitting
a POJO type stream is currently not supported by the Storm layer. And
therefore, there is also no test for it.

It would not be too complicate to add this feature.

-Matthias


On 10/14/2015 09:07 PM, Stephan Ewen wrote:
> I am running into some issues with the Storm Compatibility layer when
> dealing with split streams.
> Specifically, the situation tested in
> "FlinkTopologyBuilderTest.testFieldsGroupingOnMultipleSpoutOutputStreams()"
> 
> The topology builder creates a SplitStreamKeySelector, which internally
> uses an array key selector. The type of the stream is, however, not
> "array", but "SplitStreamType".
> 
> With my changes to the KeyedStream and the state handling, there are now
> more checks for consistency, and this now throws an exception. From an
> initial look, it seems absolutely correct that this fails, because it
> attempts to build a program where a POJO stream is accessed as an array
> selector (generically via the java.util.Array class at runtime), which
> would fail.
> 
> Is this a bug in the Storm API and simply is untested at runtime (client
> time can only produce such a program in the first place because all types
> are raw and no generic checks can be performed), or is there something else
> going on implicitly behind the scenes?
> 
> Thanks for helping me out,
> Stephan
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to