<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000066">
<font size="-1"><font face="Helvetica, Arial, sans-serif">Hello Ivan,<br>
<br>
Would adding a mutex around the select-update code in the sqlippool
module solve this issue? <br>
<br>
Padam<br>
</font></font><br>
<a class="moz-txt-link-abbreviated" href="mailto:tnt@kalik.net">tnt@kalik.net</a> wrote:
<blockquote cite="mid:9STJKl6R.1232015362.0728570.tnt@kalik.net"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">The requests all came in at the same time, to the second (among others),
its like FR took 3 requests and looked at the database at the exact same
time, saw it was an available IP and all those 3 requests assigned it.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
That can't be avoided. SELECT (allocate-find) will always work much
faster than UPDATE (allocate-update).

  </pre>
  <blockquote type="cite">
    <pre wrap="">My NAS rejects two of the 3 because the IP is assigned,
    </pre>
  </blockquote>
  <pre wrap=""><!---->
I think that you make a good point here. If the allocate-update query was
made to fail in the case that the IP address was already issued to
another thread between allocate-find and allocate-update (by expanding
it with AND expiry_time IS NULL in WHERE), point of failure will be in
sqlippool module and not on the NAS. Logic can then perhaps try to issue
a new IP address (best just once more in order not to create a loop).
That way issuing same IP address to multiple threads can be handled by
the sqlippool module.

Ivan Kalik
Kalik Informatika ISP

-
List info/subscribe/unsubscribe? See <a class="moz-txt-link-freetext" href="http://www.freeradius.org/list/users.html">http://www.freeradius.org/list/users.html</a>

  </pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">-- 
PGP Id 9EED2E09</pre>
</body>
</html>