Java method slow in extension since upgrade from 9.0 to 9.1

Java method slow in extension since upgrade from 9.0 to 9.1

  

Hi,


We've been using a extension from the forge that fires a notify in a webblock at some point. We've been using the component for some time now and everything was fine.

However, after upgrading the server from 9.0 to 9.1 this extension has become very slow.

After some digging I found that the used method (WebBlockInstanceComponent.broadcast) takes 250ms to execute, which pretty much explains why the extension is slow. The action, however, that is executed by the broadcast, is executed IMMEDIATELY and only takes about 50ms. After this action it then takes another 200ms (!!!) to return to the extension code where the broadcast was called. This was not the case before.


What changed from 9.0 to 9.1 that suddenly makes this call so slow?

Any help would be greatly appreciated! (it is becoming a major issue)


With kind regards,

Laurens Bossen


ps. We're using the Java stack on premise. Version is currently 9.1.603.0
pps. The class WebBlockInstanceComponent is located in the package 'outsystems.hubedition.webwidgets.uicomponents.os_controls'

Solution

Hello Laurens,

The API that the forge component is calling is not a public and supported API. It is an internal API which is subject to undocumented changes. There may have been changes in the way these classes work that makes the calls take longer in the situations the component is calling them.

As far as we have knowledge, there are no problems with the platform functionality supported by these classes.

If you are having problems with a forge component (and here I suspect you're talking about Event System), the best place to ask for assistance on that specific component is by using the components' specific forums. These will notify the author that a new thread was created so he can properly follow up on this matter with you. There may even already be other threads regarding slowness in the Java stack you can latch on to :)


On a more helpful note, in 9.1 there is a new Notify System Action, which performs the notification server-side. This likely offsets the need to use Event System in most cases. I would suggest revising your application and checking if you can use this system action to your advantage.


Solution