camunda / camunda

Process Orchestration Framework
https://camunda.com/platform/
3.36k stars 614 forks source link

Disable the message TTL by default #10937

Open saig0 opened 2 years ago

saig0 commented 2 years ago

Description

I can publish a message using Zeebe's Java or Go client. The message can have a time-to-live (TTL). It can be correlated within the given TTL. After the TTL is reached, the message expires and is removed.

Currently, the Java and the Go client use a different default value for the message TTL.

We should align the default value in all (official) clients to align the general behavior.

I recommend setting the default message TTL to zero (i.e. disable the message buffering).

If the TTL is set to a high value then it can impact the performance of the broker (see https://github.com/camunda/zeebe/issues/10643#issuecomment-1303710858). Instead of setting an arbitrary value for the TTL, let the user explicitly choose to use the buffering and think about a reasonable value.

menski commented 2 years ago

Notes:

@felix-mueller do you have input from Product perspective

korthout commented 1 year ago

@aleksander-dytko This topic is popping up again due to publishing messages using a Send Task without the help of a job worker:

I've suggested disabling it there by default, but your opinion on this would be valuable as well.

❌ 1 hour is too long to use as the default

I would suggest to disable the buffering (set message TTL to 0) by default

CC @saig0