Skip to content

Conversation

@doisyg
Copy link

@doisyg doisyg commented Dec 23, 2024

Draft to discuss ways of solving #1886

Naive solution which throws away the first message that is not transient local when the buffer is full, as long as the number of messages at the beginning of the buffer accounts for less than 10% of the total number of messages in the buffer.

That will not solve completely the /tf_static use case if other transient local messages are recorded and periodically published: at some point there will be more than 10% of transient local messages in the buffer, and the first ones (i.e /tf_static) will be removed.

Interested in debating and suggestions on how to solve this properly :

  • Different buffers for each transient local topic ? But then how to control their max size ?
  • A buffer dedicated to /tf_static? But then loss of generality.
  • Something else ?

poc
Signed-off-by: Guillaume Doisy <[email protected]>
@doisyg
Copy link
Author

doisyg commented Dec 23, 2024

(PR non functional for Rolling, I was originally targeting Iron, will fix)

@MichaelOrlov
Copy link
Contributor

MichaelOrlov commented Jan 10, 2025

@doisyg The transient local messages usually appears somewhere at the beginning of the recording like /tf_static.
It seems make sense to consider adding an option for repeating some number of the transient local messages for each new recording bag rather than throwing away some percentage of the messages.
I have formulated a design proposal in another task #1159 (comment). Please take it into consideration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants