WS 10.4.4, 10.4.5 | WSXI-6843 | Clearing old entries from the SQL cache sometimes leads to infinite loops

Symptoms:

In certain situations, if the WorldServer code does not manage to clear old entries from the SQL statement cache, it might enter an infinite retry loop.
 
Resolution:
 
You can fix this issue by deploying the update to WorldServer 10.4.4 or 10.4.5, available on FTP.

If you cannot deploy it, contact the SDL Support Team:

  • Sign in to your "My SDL" account.
  • Log a support request via Support & Education Support.

Additional information:

Instead of entering the loop, the code now has a counter: the database_statement_cache_size property in the general.properties file, whose value you should increase to 250. If it does not manage to clear old entries after the specified number of retries, it breaks the loop and does the following:
 
  1. Clears the cache.
  2. Logs information about the current statements in the cache.
 
Increasing the cache size ensures that the cache hit is higher and that the system recovers from situations when it cannot clear entries from the cache, while also providing logging information.
 
To log even more information when the cache cannot be cleared, you can also enable the log4j.category.com.idiominc.ws.sql_StatementHashMap=info property in the general.properties file.

Notes:

  • All systems running WorldServer 10.4.4 or 10.4.5 and experiencing this issue should have the hotfix applied.
  • The fix for this issue is also available in WorldServer 11.1.1.