On 10/05/2011 07:16 AM, Arran Cudbard-Bell wrote:
No i've talked about this with Alan. The proposed solution is an enhancement to the detail writer/reader functionality where the server automagically spawns new reader instances to listen on per domain detail files.
I guess that's ok, in that it stops an unresponsive realm blocking other realms, but wouldn't another solution be to add a config item to the detail reader to drop packets which are >X seconds old? That would help with another case - where a realm is accepting some accounting packets but not others (e.g. they've got a SQL config that is barfing on upper-case usernames...). Or, modify the detail reader to write a "done" marker byte into records which it has processed. p1 = ftell read packet send packet if ok p2 = ftell seek(p1) write('OK') seek(p2) else: sleep & retry Anyway - something else the OP can do today (aside from rlm_replicate) is to use follow the "robust-proxy-accounting" example, but instead of queueing failed packets, just "ok" them or write to a detail file.