Annotation Interface CombineFunction


@Retention(RUNTIME) @Target(METHOD) public @interface CombineFunction
A function annotated with @CombineFunction is one that will be used to combine two states into one in aggregation functions.

The function should take two arguments. And it should merge both arguments into the first one.

The second argument is guaranteed to be the output of AccumulatorStateSerializer.deserialize(Block, int, AccumulatorState). As a result, the implementation of deserialize method likely provides some application-specific guarantees to the second argument.