On Friday 22 August 2014, Charles Chance wrote:
On 22 August 2014 16:46, Alex Hermann alex@speakup.nl wrote:
Last week, i just built profile synchronisation in the dialog module, based on dmq. It took quite a bit of debugging time because of the state dmq was in.
Can you expand a little on "the state dmq was in"?
I was hoping to use it as-is, but i encountered issues which had to be resolved before i could even use the module:
- As soon as i enabled the dmq module, i experienced segfaults. - It had bad interaction with the maxfwd module - Status updates between hosts were largely ignored. - The configured server_address wasn't used to send messages.
It still has some rough edges, but i'll try to push a branch (shortly after) this weekend for review.
Looking forward to seeing it - may save me the time :)
I pushed my WIP to the branch alexh/dialog-sync-wip which also contains dialog and dmq fixes and cleanups.
It's WIP, so it might still change. This branch is only compile-tested so far, because i normally develop against 3.2. I just cherry-picked most of my patches to master.
Known issues: - Sync get off under load, cause unknown yet, but probably because of out- of-order sync messages.
Still on the TODO list: - Delete 'disabled' dmq hosts - Cope better with out-of-order sync messages - Sync initial state - Clean shutdown of DMQ, free all memory - More efficient protocol instead of JSON. Probably just write raw data in the packet, so the receiving side can just use a pointer into the buf instead of having to copy everything.