Hi we met OutOfMemory issue in our service. we are using dependency below :
<dependency>
<groupId>com.refinitiv.eta</groupId>
<artifactId>eta</artifactId>
<version>3.6.2.2</version>
</dependency>
<dependency>
<groupId>com.refinitiv.ema</groupId>
<artifactId>ema</artifactId>
<version>3.6.2.2</version>
</dependency>
we deployed service on our server. running sub rate from trep and posting message to trep too(every 5 mins).
after around 10 hours. OOM issue occur.
we have export the heapdump file and did some analysis.
we found that most memory used by a JsonFactory object.
for more information. big memory used by attribute in JsonFactory:
could you help provide more information about the #elementSetDefDbPool and #fieldSetDefDbPool ?
btw, we are using OmmConsumer.submit to post message. each post event we will create new OmmConsumer and release it after all AckId return backed.
PostMsg postMsg = EmaFactory.createPostMsg();
UpdateMsg nestedUpdateMsg = EmaFactory.createUpdateMsg();
FieldList fieldList = fieldListMap.get(ric).getKey();
StringBuilder fieldListStringBuilder = fieldListMap.get(ric).getValue();
nestedUpdateMsg.payload(fieldList);
long currentPostId = postId.incrementAndGet();
try {
consumer
.submit(
postMsg
.postId(currentPostId)
.serviceName(serviceName)
.name(ric)
.solicitAck(true)
.complete(true)
.payload(nestedUpdateMsg)
, loginHandle
);