EMS server 5.x message memory usage (MMU) leak when overflowPolicy is set to discardOld for a routed topic, the issue doesn't exist in EMS 6.0, 6.0.1

EMS server 5.x message memory usage (MMU) leak when overflowPolicy is set to discardOld for a routed topic, the issue doesn't exist in EMS 6.0, 6.0.1

book

Article ID: KB0084660

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
Description:
==========
EMS server 5.x message memory usage (MMU) leak when overflowPolicy is set to discardOld, the issue doesn't exist in EMS 6.0, 6.0.1

Resolution:
==============================
The message memory usage leakage issue could be observed by the following steps:

1). Start EMS routed servers (version 5.1.5) using attached two EMS main config files. EMS Server1 using tibemsdroute-1.conf (listening at 7222), EMS server2 using tibemsdroute-2.conf (listening at 7022).

2). Configure a global topic :routeT1 with following properties:

global,prefetch=1,maxMsgs=1,overflowPolicy=discardOld,trace,*store=$sys.nonfailsafe

3). Create an offline durable subscriber for routeT1 in EMS server 1.

4). Start a topic subscriber for topic routeT1 against EMS server2.

5). Start a topic publisher for topic routeT1 against EMS server1 (PERSISTENT, count:1000000 and size: 10240).

6). Check the EMS server 1 using "show server" in tibemsadmin tool. The message memory usage (MMU) can be seen increasing even though the pending message size is not growing.

The reason the "prefetch=1" and "maxmsgs =1" settings is to observe this issue easily. The symptom happens when the messages are not routed to the other EMS server fast enough and accumulated in the upstream server,  in which case, the discardOld overflow Policy is triggered when exceeding the maxmsgs or maxbytes capacity.

In EMS 6.0 the internal architecture of how messages are handled in the server was changed to add the mstore feature since EMS 6.0. This was fixed as a byproduct when the server was restructured so that it wasn't dependent on having the message or message header in memory (for mstores) .

Issue/Introduction

EMS server 5.x message memory usage (MMU) leak when overflowPolicy is set to discardOld for a routed topic, the issue doesn't exist in EMS 6.0, 6.0.1

Attachments

EMS server 5.x message memory usage (MMU) leak when overflowPolicy is set to discardOld for a routed topic, the issue doesn't exist in EMS 6.0, 6.0.1 get_app
EMS server 5.x message memory usage (MMU) leak when overflowPolicy is set to discardOld for a routed topic, the issue doesn't exist in EMS 6.0, 6.0.1 get_app