On 27 Jul 2015, at 11:20, Alan DeKok <aland@deployingradius.com> wrote:
On Jul 27, 2015, at 11:06 AM, Michal Tomaszewski <Michal.Tomaszewski@cca.pl> wrote:
When database is going down server hangs on first processed request and stops processing any further requests. There is no connection timeout nor any other timeout to database request.
That may happen, especially when the client library for the back-end database locks.
In freeradius 2.x when database was not available server responded with Reject until database was on. In freeradius 3.0.9 server stops responding to any requests, even when database comes up.
Hmm... that's bad.
Fri Jul 24 17:44:34 2015 : Debug: rlm_redis (redis): Reconnecting (3)
Fri Jul 24 17:44:34 2015 : Error: rlm_redis (redis): Problems with redisConnect('10.113.13.245', 6379), Connection refused
That's the problem code. It's something Arran changed recently...
All my work on rlm_redis has been in v3.1.x. The only change I made in that file recently was to rename fr_connection_del to fr_connection_close https://github.com/FreeRADIUS/freeradius-server/commits/v3.0.x/src/modules/r... and something with consting in the argument tokeniser, which is unlikely to have broken this. In the connection pool the changes I made were to separate out the reconnection logic into a separate function. The additional calls to it should never have beed made, as nothing set 'needs_reconecting'. IIRC some changes were backported from v3.1.x for the MRU connection re-use pattern which could have caused this issue. -Arran Arran Cudbard-Bell <a.cudbardb@freeradius.org> FreeRADIUS development team FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2