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

Reply via email to