Java/Ema/Core/src/main/java/com/refinitiv/ema/access/RefreshMsgImpl.java
Java/Ema/Core/src/main/java/com/refinitiv/ema/access/UpdateMsgImpl.java
These class implementation of clear() method does not clear the following fields
_attribDecoded
_payloadDecoded
Which retains around 200KB of RefreshMsg and 70-100KB of UpdateMsg size
These causes the problem when we use a message pool to copy the data and hand it over to the worker, eventually the JVM goes OOM due to too many messages that are not getting garbage collected.
Is this a real issue or by design required for some purpose? Can you explain what would be the best way to handle things off to a worker?
Java/Ema/Core/src/main/java/com/refinitiv/ema/access/RefreshMsgImpl.java
Java/Ema/Core/src/main/java/com/refinitiv/ema/access/UpdateMsgImpl.java
These class implementation of clear() method does not clear the following fields
_attribDecoded
_payloadDecoded
Which retains around 200KB of RefreshMsg and 70-100KB of UpdateMsg size
These causes the problem when we use a message pool to copy the data and hand it over to the worker, eventually the JVM goes OOM due to too many messages that are not getting garbage collected.
Is this a real issue or by design required for some purpose? Can you explain what would be the best way to handle things off to a worker?