First published: 7. April 2023 (cf)
Last update: 5 August 2024 (cf)
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.
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.
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:
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:
As load balancers may have different setting names and characteristics, please consult your load balancer vendor for details about Session Affinity configuration.