PDA

View Full Version : Getting -4, MAX_USERS (multiple license servers)



DotnetSolutions
12-01-2008, 03:08 AM
I'm getting -4 MAX_USERS. "Licensed number of users already reached." when trying to checkout a license even though there are more floating counted concurrent licenses available in an other license server (server2).

In this case we have 2 clients on different PC's and 1 feature (client.base) in each license server. The first one has a license checked out on lic. server1. The second client then tries to checkout the license (lic. server path: @server1;@server2).

Note that the client correctly proceeds to server2 of there is no license available in server1.

RobertDickau
12-01-2008, 11:43 AM
For an explanation and possible remedy, please see, for example, the ProgRef-LF.pdf section "Comparing License Search Path Redundancy to Three-Server Redundancy"; the issue is sometimes that a successful checkout request from a server binds the job handle to that server.

Edit: Oh, I didn't see that the checkouts were from different clients. I assume the first server debug log doesn't say anything unusual...

DotnetSolutions
12-02-2008, 09:53 AM
Yes, we have 2 different clients on different PC's in this case.

The server debug log doesn't say anything special (DENIED:...Licensed number of users already reached).

In this case we definitely have 2 different job handles, so it's not the same as the scenario when a successful checkout request from a server binds the job handle to that server.
Somehow it seems that if there is a license present (free or not) the checkout (job handle) binds to that server whatever client it comes from.

This behavior invalidates the redundancy functionality...

RobertDickau
12-02-2008, 01:42 PM
Hmm, a simple test seems to work at this end:
ServerA and ServerB each has a license file serving one license:

SERVER this_host ANY
VENDOR demo
INCREMENT one_each demo 1.0 1-jan-2010 1 SIGN="..."


ClientA and ClientB have search path set (using lmpath) to ServerA:ServerB


ClientA uses lmflex to request copy of one_each, gets it from ServerA


ClientB uses lmflex to request copy of one_each, ServerA rejects request with "DENIED: 'one_each' robert@ClientB", but ServerB accepts request with "OUT: 'one_each' robert@ClientB"

Is that similar to your setup?

DotnetSolutions
12-03-2008, 04:55 AM
Thanks Robert. Now it works.

We have a test checkout before the real checkout (to get correct return message on expired licenses), and the job handles where the same. Now we have different job handles.