Question

FSM - continuously inserting records in to mm_message_out table

  • 30 January 2022
  • 3 replies
  • 235 views

Userlevel 7
Badge +18

HI,
In one of our customer's environments, we’ve noticed an issue of continuously inserting records into the mm_message_out table with high volume.
It utilizes most of the process and exceeds the DB session limit as well.
So system performance getting very low and users can not log in to the system due to this low performance and consider it as a system down situation.

We’ve cleaned up the messages mm_message_out which is beyond the retention period(48 hours) as mentioned in the below community thread

FSM Mobile - mm_message_out cleanup process | IFS Community

But still, it's not resolved the issue and continuously proceeding insert statements into mm_message_out with high volume. 
As I know ,normally mm_message_out insertion is not a big issue as it's the standard behavior, But here it's consuming almost all the CPU and sessions.

Can anyone help ?

 

-Kelum


This topic has been closed for comments

3 replies

Userlevel 7
Badge +24

Hi @Kelum Niranjana,

Have you run through the performance troubleshooting guide?

There are sections specific to sync rules and mm_message_out.

Kind regards,

Lee Pinchbeck

Userlevel 5
Badge +13

Hi @Kelum Niranjana , 

 

yes the mm_message_out will basically act as the message queue for data that need to be pushed to the mobile devices. 

information stored in this table is based on FSM Sync Rules in combination with FSM Extracts. 

I would start with checking the mm_message_out.table_name and possibly mm_message_out.message and check if these messages are legit.

If not, you may need to redefine the FSM Extract conditions and or FSM sync rule. 

Best Regards, 

 

Ruben

Userlevel 6
Badge +14

Hi @Kelum Pradeep Kumara,

When it comes to synchronization issues / mm_message_out issues, it spans a wide range.

 

Basically, mm_message_out records will be generated to send data to the mobiles. If you see this behavior in mm_message_out table only when initializing the mobile, it would be normal. If not, the problem might be some unnecessary background updates in the application(server-side).

As an example, the TASK sync rule in real-time one to send real-time updates to the mobiles. If there are continuous updates happening for task(s), the application will continuously generate mm_message_out to send those updates to the mobile.

 

Also, another reason might be some owner identifier issue. Baseline view of TASK_ASSIGMENT_VIEW will act for owner identifier in most of the cases. I’ve seen some bad practice of modifying this view. Furthermore, better to owner identifier and broadcast options of sync rules.

 

If you can find particular tables related to this mm_message_out record(by using database queries or any other way in the database level), it would be a bit easy to identify the issue.