Time to Live for messages

The docs state that you can pass a TTL when publishing a message: Zeebe API (gRPC) | Camunda Platform 8 Docs

The documentation is quite minimal on what behaviour is to be expected. I assume this means that if the message can’t be correlated straight away, the period is started and if any message subscriptions are created in the meantime, the message, if it correlates, will be sent to the correlated process instance. What happens once the TTL expires? Does Camunda simply drop the message and/or is there something that gets put into the event stream that would indicate that that happened?

1 Like

Hello @tiesebarrell ,

when a message is „dropped“, there is an event also forwarded to the exporter.

Currently, Operate does not show the correlation state of messages, but it is possible from the data available.

This can for example be seen if you are using zeebe test that utilises eze, publish a message with ttl and wait until ttl hits in.

I hope this helps


Hi @tiesebarrell,

you can see a discussion on GitHub about this issue here: Get information about expired message correlations · Issue #11410 · camunda/zeebe · GitHub

I’ve started a pull request to the documentation about this topic, but I could not finish it for the 8.2 release: Add section about message expiration by ingorichtsmeier · Pull Request #1764 · camunda/camunda-platform-docs · GitHub

Cheers, Ingo

1 Like

Thanks for the explanation. And thank you, @Ingo_Richtsmeier for adding the documentation, because that was exactly the information I was missing when I read about it.

1 Like