Description
Background:
For out-of-process functions, the host code gets the trigger data from the listener/processor module & then we convert the event data object to RPC invocation request instance which we will send to the out-of-process worker via GRPC. In the current implementation, we are skipping the empty entries in the ToRpcStringArray method which gets called internally inside ToRpcInvocationRequest method.
This behavior causes confusion when dealing with batched event processing where the event body of one of the entries in the batch is null
. The above screenshot is taken from an example where we are processing event hub messages(batched) where one of the message has null body, but the message still has valid meta properties. The oop worker will not be able to associate the meta properties of the message payload entries (message body) with the meta properties array. See this issue for a complete example.
Ask:
We need to introduce a new app setting, which when set to True, will skip the code which do the null check and discard codepath. Default value of this setting will be "False", so no existing apps are impacted.