moquette-io / moquette

Java MQTT lightweight broker
http://moquette-io.github.io/moquette/
Apache License 2.0
2.27k stars 814 forks source link

Deprecate persistent_store setting #706

Closed andsel closed 1 year ago

andsel commented 1 year ago

Release notes

Deprecate persistent_store to separate the enablement of persistence with persistence_enabled and the path data_path.

What does this PR do?

Introduce data_path setting to refer the location where to save data files for subscription and queues stores; by default data folder under $MOQUETTE_HOME. Introduces also, persistence_enabled boolean setting to explicitly enable persistent or in memory storage.

Why is it important/What is the impact to the user?

The existing persistent_store setting pointed to a single H2 file. If the setting is not valued, implicitly mean to store in-memory. With the introduction of segmented queues storage type, there is the need to define a directory where to store segmented pages, so a folder. Its default value is data folder under Moquette installation folder. Given that the data_path has always a value there is the requirement for a flag to explicitly enable/disable the persistence.