Restore transaction in different kernel messagePermanent link for this heading

First published: 7. April 2023 (cf)
Last update: 15 November 2023 (cf)

SummaryPermanent link for this heading

In your webserver logs (Linux) or Application Eventlog (Windows) you may experience warning messages “Restore transaction in different kernel”.

This message predicates, that a transaction started on a Fabasoft Kernel instance has been continued on another Fabasoft Kernel instance, so the Kernel instance has changed during a transaction.

Depending on the amount of such messages, it can indicate a configuration problem with your load balancer.

InformationPermanent link for this heading

Fabasoft Folio Webservices are stateless, meaning, no transaction state is held on the webserver, but is transferred with every request from and to the Webbrowser Client. If a request with an open transaction is received by a Fabasoft Kernel instance (e.g. a Fabasoft Folio Web service) that had not opened that specific transaction, the Kernel can restore the open transaction and execute the request without error.

Restoring a transaction on a different Kernel instance is done without data loss, but may have a performance impact, as the new Kernel instance is required to load all involved objects of the transaction. To indicate this possible performance impact, the warning message “Restore transaction in different kernel” is triggered.

In distributed Fabasoft Folio environments, web requests usually are balanced by a load balancer, sending different requests to different Fabasoft Folio Web services. To keep a user session on the same Web service, co-called “Session Affinity” (or “Stickiness”) is configured on the load balancer. For Session Affinity configuration on the load balancer Fabasoft recommends the “Cookies” setting with a lifetime of around 4 to 8 hours. Therefore, a user balanced to a specific Web service “sticks” to this Web service. As transactions are started and commited on the same Web service, the Web service has all required objects in cache when a transaction is commited.

SolutionPermanent link for this heading

The “restore transaction in different kernel” warning may appear occasionally also with correct configuration of the load balancer because of special situations, that do not indicate a configuration problem. For example:

  • Users keep their web browsers open overnight, and Web services are recycled in the night by normal maintenance. This may also happen with open documents.
  • Users keep their web browsers or documents open during maintenance time.
  • Users change their location, e.g. moving from office desk to home office with open web browser or documents.
  • Computers switch to energy saving mode during longer absence (e.g. lunch break or a meeting).
  • Web services or webservers were restarted by the administrators on purpose.

In that cases, a new Kernel instance receives the request, either because the Kernel was restarted, or the load balancer rebalances the user session.

In that situations, the occasionally occurring warnings can be ignored.

On the other hand, if many warnings appear, especially from the same users over the same day, a configuration problem of the Session Affinity may be the reason.

Double-check these configurations:

  • Load Balancer: Is Session Affinity / Stickiness enabled
  • Load Balancer: Is the Session Affinity type configured to be “Cookies”
  • The “SSL Session ID” setting may also be possible if SSL is used
  • Load Balancer: If required, is a Cookie name set
  • Load Balancer: Is the Session Affinity timeout set to around 4 to 8 hours
  • Fabasoft Folio: In the Current Domain object / Component Configuration / Virtual Application configuration:
    • Advanced tab: CS Cookie correspond to the load balancer cookie name
    • (This setting is especially required for the Fabasoft Folio Client to use the load balancer cookie for downloading/uploading documents)

  • Authentication tab: The Cookie Names property also contains the name of the cookie.
  • (This setting is especially required for the Fabasoft Folio Client to use the load balancer cookie for downloading/uploading documents)

As load balancers may have different setting names and characteristics, please consult your load balancer vendor for details about Session Affinity configuration.

Download PDF

Download PDF