Order of event handling differs per environment
Application Type
Reactive
Platform Version
11.13.2 (Build 32392)

Hi all,

We went live with an application today and now we are running in to a strange problem. It looks like the order in which events are handled from a webblock is different in our production environment.

I have a webblock in which filters (checkboxes) can be set. The webblock contains a list of checkboxes. Depending on an inputparameter one or more checkboxes may be checked. When a checkbox is checked, an event is fired to update the parent screen. If only one checkbox is allowed to be checked, two events are fired to update the parent. One for the delete and one for newly checked checkbox. After these events are fired, another event is fired to update another webblock that's in the parent.

In our development and testing environment the events are handled in the order in which they are fired from the webblock but in our production environment, it looks like the last event fired is handled first in the parent.

Any ideas?

Thanks in advance for all your help.

Ramon Pigmans

We ran some tests and turned out we were right. Not sure if it's because of multiple frontend servers, but the events were sent in the correct order but the second event was handled before the first was finished.

By the way, in our production environment we have multiple frontend servers and in our testing environment only one. I'm not sure how the load balancing works, but could it be that frontend server 1 handles the first event and another frontend server handles the second one? So the events are handled at the same time and the second event finishes quicker because it contains less code?

We ran some tests and turned out we were right. Not sure if it's because of multiple frontend servers, but the events were sent in the correct order but the second event was handled before the first was finished.

thanks for sharing, Ramon.

I tried an experiment based on your post, and was actually amazed to see that the events run one after the other.

I intuitively would have expected for them to each run asynchronously, meaning that it is perfectly possible for fast ones to finish before slow ones.  But they don't, the second one fires only starts after the first one is handled.

Can you share a bit more, like screen prints of your firing and handling event flows, and any other things that are at play such as updating input parameters or refreshing data actions, that could play a role in why in production it suddenly worked differently.  

I'm not really convinced about the number of front-end servers playing a role, as I think all the event firing and handling happens on the device of the end user (unless of course data get refreshed somewhere in your flow)

Dorine

All this is pure curiousity, so I understand if you don't have time and just want to get on with it, no worries.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.