We are using RFA8 libraries to connect to Reuters.
We have observed that the memory utilization of our service has increased and it is gradually increasing daily whenever we access reuters. Seems a memory leak with RFA8.
Please advise as we are afraid that our service might crash anytime due to OutOfMemoryException
The memory growth issue has been fixed on RFA .Net 8.0.1.E1 and later version. The memory usage keep on increasing when application tried to repeatedly create and destroy OMMConsumer event source.
------------------ rfanet8.1.0.E1.win ------------------ [RFA-501] - CaseId 07546808 Memory Growth in RFA.Net when multiple threads repeatedly initialize RFA, request item and uninitialize RFA.
You haven't specified which flavour of RFA you are using (Java, C++, etc).
Yet, I'll attempt a guess:
RFA library has an internal queue (by default) which acts as a buffer between what the library receives from the wire and your application's processing of events. If your application processes events too slowly then this in-memory queue will grow leading to an ever increasing memory usage. Thus, in such case, the real culprit is that your event processing is simply too slow. Try to review exactly what your are doing in the event processing. As an example, if your application receives 10,000 msg per seconds from TREP but your logic can only handle say 1,000 events per second then excessive queuing is bound to occur. If it continues for an extended period of time then your application will eventually run out of memory.