isEncodingDeterministic
Whether encode is deterministic, that is, whether encoding the same payload twice always produces the same bytes.
When replaying an invocation, the SDK re-executes the handler code and, by default, checks that the payloads it produces (e.g. state values, call parameters, handler output) are equal to the payloads recorded in the journal by the previous execution. If they differ, the invocation fails with a journal mismatch error, as this usually signals non-deterministic handler code.
This check compares encoded payloads. If the encoding is not deterministic, e.g. when encrypting with a random IV/nonce as AES-GCM requires, the same payload encodes to different bytes on every execution, and the check would fail on every replay. Return false in that case, and the SDK will skip the comparison of payloads when replaying. Every other journal check (e.g. the sequence of operations, the call targets, the state keys) stays enabled.
Return
true if encoding the same payload always produces the same bytes.