In a system where many licensed processes are attempting to get responses from the mfcesd daemon, it is possible for the underlying system kernel to constrain resources used by the UNIX domain sockets. This can cause the send response to fail with a resource unavailable temporarily error. This caused the ces daemon to lose its contact with the requesting client, resulting in a hung client process.
The CES daemon now recognizes this temporary constraint condition and throttles the connection slightly and retries. The daemon now always sends a response to the client process.
Micro Focus recommends that you also tune the kernel parameters shown below to allow more resources for a heavily used system, to prevent the underlying condition.
The following examples show the parameters to change and show very high values. Micro Focus recommends that a network expert or an administrator reviews these values and adjusts them to achieve a sensible balance:
# Increase number of incoming connections net.core.somaxconn = 65535 # Increase number of incoming connections backlog net.core.netdev_max_backlog = 65535
On machines that have SELinux enabled, the MFCESD services are blocked from starting when that machine boots up. Manually starting the services using SystemD (that is: sudo systemctl start MFCESD) is also blocked.
This affects AutoPass licensing as the mfcesd service is not started in order to talk to it. You will see the effects of this if you try to run the licensing tool or when performing a licensable action (e.g. compilation) in the product.
In these circumstances, once the machine has booted, you can start the services manually using the following commands:
MFCESD licensing:
sudo /opt/microfocus/licensing/bin/startmfcesd.sh
After the services are started, licensing remains unaffected by SELinux being enabled.