Table of Contents

Lime CRM Server can cause high memory usage and/or return invalid search results

Summary

It has come to our attention that a caching feature in Lime CRM Server can cause abnormally high memory usage and/or return invalid search results.

Symptoms

There are two different symptoms which may appear separately from each other:

Resolution

Note!

It is NOT necessary to carry out any changes unless you are experiencing any of the above symptoms!

Since the query cache does not provide much of a performance boost (if any) the best solution is to disable it. The cache is disabled by default in Lime CRM Server versions 12.0.973 and later but must be disabled manually by editing the system registry for earlier versions:

  1. Using the Registry Editor, navigate to HKEY_LOCAL_MACHINE\Software\Wow6432Node\Lundalogik\Lundalogik Data Components\Databases\<database>
  2. Add a DWORD value named UseLDCQueryCache and set it to 0 (zero).
  3. Repeat steps 1-2 for each database in use on the application server.
  4. Restart LDC by going to Component Services | My Computer | COM+ Applications, right-clicking Lundalogik Data Components and selecting Shut down from the context menu.

Cause

The LDC subsystem caches all database queries by storing the generated SQL queries with the LDC XML format query as the key. This means that LDC with time uses more and more memory with performance hits as the result. In some cases the dllhost.exe process may even run out of memory which can cause LDC to crash. When record access filtering with a condition as mentioned above is used the cache key will be identical for all users even though the generated SQL query should differ. This means that the query for the first user that gets his or her query stored in the cache will be used for all other users.

Affected products

All Lime CRM Server versions prior to 12.0.973.

Questions?

Please contact our support team if you have questions regarding any of the above.