Skip to main content

Failure of Web Server bridge

In this article, we review report failures caused by web server bridge errors and JTA transaction rollbacks due to timeouts.

Y
Written by Yusef Abulaynain
Updated over a month ago

For hosted customers please raise a new case online and reference the title of this article.

Self-Hosted customers:

If the message Failure of Web Server bridge occurs after waiting for a report or a long running process to complete, then check the framework logs for the following error.

'org.springframework.transaction.UnexpectedRollbackException: JTA transaction already rolled back (probably due to a timeout)'

If the above is present, then follow the steps below to increase the JTA:
​

1. Log into the WebLogic Administration Console (usually http://[Name or IP of app server]:7501/console).
2. Expand the Services menu under the mosaic_domain structure menu on the left hand side.
3. Under the Services menu click on the item JTA.
4. On the JTA tab locate the field Timeout Seconds (first field). The default is 30 but it is recommended to set this to at least 300. If this is already set to 300 try changing this to 600.
5. Click on the Save button.
​
The Mosaic managed server e.g. mosrep will need to be restarted before this change takes effect. This can be performed manually, or you can wait for the scheduled overnight restart and then test again.
​
The Weblogic plugin configuration also needs to be changed whenever the JTA is changed. Follow the steps below next:

  1. Using a tool such as WinSCP log into the Mosaic app server as root.

  2. Locate the weblogic.conf file which is usually in the following directory /etc/httpd/conf.d

  3. Right-click on the weblogic.conf file and select Edit and Internal editor to open the file for editing.

  4. Each Mosaic deployment has an entry, for example mosrep would have the entry <Location /mosrep>. Within this block of settings will be the configuration setting WLIOTimeoutSecs.
    The value of this needs changing to the value of JTA plus 10, so if JTA is set to 300 then WLIOTimeoutSecs should be set to 310. See example below.

    <Location /mosrep>
    SetHandler weblogic-handler
    WebLogicCluster my-rep-app:7503
    # Make sure the JTA Timeout Seconds on the WebLogic managed
    # server is lower, than the WLIOTimeoutSecs.
    WLIOTimeoutSecs 310
    </Location>

  5. Save the file weblogic.conf.

  6. As this is part of the Apache config, the change will not take effect until Apache is restarted. To perform a graceful restart of Apache without downtime, run the following command from a Putty connection. Log in to the app server as root using Putty.

    apachectl graceful
Did this answer your question?