After migrating to 1.7 we faced a few OOMs related to the size of the Restate registry (deployments + versions). A registry that started without problems on 1.6 surprisingly started consuming several times more memory on 1.7. This led to several incidents on free-tier accounts.
We managed to reproduce the issue e2e — code, example run.
Basically, it registers a critical number of deployments (50 deployments x 50 services, ~52 MiB registry), starts successfully on the old version with a 1 GiB memory limit, and then after the upgrade to 1.7 it crashes. In the linked run, byte-identical data starts on 1.6.2 at 1 GiB (peak 665 MiB), is OOM-killed on 1.7.3 at the same limit, and fits again at 2 GiB — live heap on identical data goes 246 MiB -> 997 MiB, a ~4x regression.
Related incidents
- INC-445 —
env-201kbhtqassagmd9t46x1s2sebq
- INC-453 —
env-201kz5yreswh13k01nr41xrfprp
- INC-454 —
env-201keeqwd1b6dp2sywwn5j6qq7k and env-201kbw5cf3edzz2v3dxerm4x61v
- INC-461 —
env-201kb5432yzqxafv3xawvzd1md3
cc @AhmedSoliman @muhamadazmy @pcholakov
After migrating to 1.7 we faced a few OOMs related to the size of the Restate registry (deployments + versions). A registry that started without problems on 1.6 surprisingly started consuming several times more memory on 1.7. This led to several incidents on free-tier accounts.
We managed to reproduce the issue e2e — code, example run.
Basically, it registers a critical number of deployments (50 deployments x 50 services, ~52 MiB registry), starts successfully on the old version with a 1 GiB memory limit, and then after the upgrade to 1.7 it crashes. In the linked run, byte-identical data starts on 1.6.2 at 1 GiB (peak 665 MiB), is OOM-killed on 1.7.3 at the same limit, and fits again at 2 GiB — live heap on identical data goes 246 MiB -> 997 MiB, a ~4x regression.
Related incidents
env-201kbhtqassagmd9t46x1s2sebqenv-201kz5yreswh13k01nr41xrfprpenv-201keeqwd1b6dp2sywwn5j6qq7kandenv-201kbw5cf3edzz2v3dxerm4x61venv-201kb5432yzqxafv3xawvzd1md3cc @AhmedSoliman @muhamadazmy @pcholakov