Optional fields in proto IDL requests #3989
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changed?
Added
google.protobuf.Int64Value
wrappers for some fields in proto IDLs.Why?
Those fields can have different behavior if not set.
inclusive_end_message_id
for DLQ operations. If not set, operate on all messages in the queue. Check herelast_retrieved_message_id
forGetDomainReplicationMessagesRequest
. If not set, infer last message id from ack level. Check herelast_processed_message_id
forGetDomainReplicationMessagesRequest
. If not set, do not update ack level Check hereHaving these wrappers allows having "not set" semantics.
An alternative solution would be to check for zero value. However message_id=0 can be valid in Cadence, as messages start counting from 0. The usage for such edge case is rather unlikely but still possible.
Additionally,
previous_started_event_id
fields can be not set Check hereHow did you test it?
Potential risks