Open
Description
Currently the producer cannot send a null value message, which is used as a tombstone for a specific key on a compacted topic.
In addition, the consumer cannot differ empty values from null values, because all these values are presented as empty std::string
s.
To solve this issue, we might need to add the following method to MessageBuilder
:
MessageBuilder& setNullValue();
The method above should set the following field in MessageMetadata
:
message MessageMetadata {
// ...
// Indicate if the message payload value is set
optional bool null_value = 25 [default = false]
Then we can add a method to Message
to indicate if the message has null value
bool isNullValue() const;