getsentry/rust_arroyo

Make Partition/Message structures reference a 'static Topic

Open

#11 aperta il 20 mag 2022

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Rust (0 fork)auto 404
good first issue

Metriche repository

Star
 (2 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Topics are created at the startup of the application and live for its entire duration. We can make this a requirement for the time being. That means that partitions and messages do not need to own an instance of a Topic as they do here https://github.com/getsentry/rust_arroyo/blob/main/src/types/mod.rs#L35.

The current implementation means that every time we create a partition we make a copy of the topic. If we make the lifetime of Topic 'static, we should be able to make Partition reference a Topic instead.

A fancier version would be to still make Partition reference a Topic, but giving it a specific lifetime so that an application can instantiate Topics dynamically, but still tie the lifetime of all partitions to the lifetime of the Topic.

Guida contributor