For mapping bolts, we generally use FlatMapOperation which wraps the mapping function in an Externalizer. We don't currently do this for functions that go directly into the spout, however.
This change wraps both the optionMap function and the registerAllMetrics function in Externalizers before giving them to the spout.
This allows, for example, using Source#collect with Storm (i.e., pushing a partial function into the spout).
For mapping bolts, we generally use
FlatMapOperation
which wraps the mapping function in anExternalizer
. We don't currently do this for functions that go directly into the spout, however.This change wraps both the
optionMap
function and theregisterAllMetrics
function inExternalizer
s before giving them to the spout.This allows, for example, using
Source#collect
with Storm (i.e., pushing a partial function into the spout).