[email protected] wrote: > When multiple threads ask for an IP at the same time it is possible for > same IP to be issued to different users. That's because allocate-find > works 10 or more times faster than allocate-update. There is a chance > that several allocate-finds will complete before first allocate-update > makes the IP unavailable.
But the whole thing *should* be wrapped in a transactional block. See the source code to rlm_sqlippool. If mysql doesn't respect transactional boundaries, that's another issue. > I think that best thing to do is to prevent subsequent updates by > altering the allocate-update (adding "AND expiry_time IS NULL" at the > end should do it). That way only first one will update the row while > others will fail (update 0 rows). It should be possible for logic to > detect that no rows were updated and fail the module. OK. I've added that to the default MySQL query. I'd like to know if this is a problem for Postgresql, too. Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

