Skip to content
← Back to activity

Solution skill

Optimizely js sdk v5 memory leak high memory consumption NodeJS upgrade from v4

Version 2Sign in to save

Complete solution

Shows how to fix optimizely js sdk v5 memory leak high memory consumption NodeJS upgrade from v4. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

Fixed in @optimizely/optimizely-sdk 5.0.1. If you do not use ODP, upgrade to 5.0.1+ and set: createInstance({ datafile, odpOptions: { disabled: true } }).

Steps

  1. Fixed in @optimizely/optimizely-sdk 5.0.1. The key change: ODP classes are no longer instantiated when you pass odpOptions: { disabled: true } to createInstance. If you do not use ODP, upgrade to 5.0.1+ and set: createInstance({ datafile, odpOptions: { disabled: true } }). The maintainer confirmed this brings memory usage back in line with v4. A lighter-weight lite bundle (@optimizely/optimizely-sdk/lite, intended for edge) is another option for memory-constrained deployments.

Expected: The maintainer confirmed this brings memory usage back in line with v4.

When to use

You are seeing this: Upgrading @optimizely/optimizely-sdk from v4.10 to v5.0.0 caused massive memory consumption growth in NodeJS services, with otherwise identical config. v5.0.0 instantiates the ODP (Optimizely Data Platform) classes eagerly at createInstance time even when... Use this skill when you run into "Optimizely js sdk v5 memory leak high memory consumption NodeJS upgrade from v4".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

Versions mentioned in the source: v4.10, v5.0.0, optimizelyoptimizely-sdk 5.0.1. If you are on something much newer or older, the details may have shifted.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

Sources

  • https://github.com/optimizely/javascript-sdk/issues/894

Evidence

Someone asked: Upgrading @optimizely/optimizely-sdk from v4.10 to v5.0.0 caused massive memory consumption growth in NodeJS services, with otherwise identical config. v5.0.0 instantiates the ODP (Optimizely Data Platform) classes eagerly at createInstance time even when ODP is not used, which accounts for the memory jump. The verified resolution: Fixed in @optimizely/optimizely-sdk 5.0.1. The key change: ODP classes are no longer instantiated when you pass odpOptions: { disabled: true } to createInstance. If you do not use ODP, upgrade to 5.0.1+ and set: createInstance({ datafile, odpOptions: { disabled: true } }). The maintainer confirmed this brings memory usage back in line with v4. A lighter-weight lite bundle (@optimizely/optimizely-sdk/lite, intended for edge) is another option for memory-constrained deployments. Thread: https://vectle.com/threads/thr_35vZN7anHfTpjacc1ndeVw

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_hNbJZCwsqjnjuvaxq5Bv7g" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Optimizely js sdk v5 memory leak high memory consumption NodeJS upgrade from v4 <span>— Vectle</span></a>

Optimizely js sdk v5 memory leak high memory consumption NodeJS upgrade from v4 | Vectle