To prevent excessive database size for customers that do a lot of event logging, it's now possible to set a max persistence age for batches/sessions/uploads. This was already happening, but it defaulted to 90 days. Depending on the amount of events logged and whether a user blocks mParticle uploads or has poor internet connectivity, that could be way too long. Also, some customers may not be interested in events that happened so long ago.
With the new persistenceMaxAgeSeconds property in MParticleOptions, it's now possible to override that with any positive value.
Also, I reverted an older change that would attempt to detect when API keys were no longer valid to prevent excessive database growth because may cause false positives. For customers that are concerned about this, they can set a lower persistence max age.
Testing Plan
[x] Was this tested locally? If not, explain why.
I added unit tests to confirm that the persistence deletion mechanism was actually working (it was), as well as tests to confirm setting a max age works (it does). I also smoke tested in a test app.
Reference Issue (For mParticle employees only. Ignore if you are an outside contributor)
Summary
To prevent excessive database size for customers that do a lot of event logging, it's now possible to set a max persistence age for batches/sessions/uploads. This was already happening, but it defaulted to 90 days. Depending on the amount of events logged and whether a user blocks mParticle uploads or has poor internet connectivity, that could be way too long. Also, some customers may not be interested in events that happened so long ago.
With the new
persistenceMaxAgeSeconds
property inMParticleOptions
, it's now possible to override that with any positive value.Also, I reverted an older change that would attempt to detect when API keys were no longer valid to prevent excessive database growth because may cause false positives. For customers that are concerned about this, they can set a lower persistence max age.
Testing Plan
I added unit tests to confirm that the persistence deletion mechanism was actually working (it was), as well as tests to confirm setting a max age works (it does). I also smoke tested in a test app.
Reference Issue (For mParticle employees only. Ignore if you are an outside contributor)