Hey guys, after a few weeks heavily busy at work to bring our new game to open beta I finally have some time to work on lovely opensource stuff again :-)
Currently I'm implementing a generic WAL (Write Aheat Log / Journal) implementation, in first place for the persistence system at our company. We collect statements in a queue to be written in a background thread to linearize database load. The problem about this approach is if db servers are busy this queue can take some time to be cleaned up and if the gameservers crash before the queue is cleared (or at least the background persister is killed - for whatever reason - yeah we had a bug where data weren't written for about 4 days) player data are lost. The new system forced all statements to be written to disk before being enqueued so that journals can be replayed on gameserver startup. I haven't found any ready to use implementation beside implementations found in frameworks like Hadoop, databases (I guess it was derby), hornetmq, etc and so I started my own implementation. I'll try to make it as generic as possible to not force it to be used for persistency (SQL Statements) only but even for maybe journaling memory access (or whatever). Do you guys think it could be interesting for DM to implement some thing as WAL in some place? Or do you have other interesting ideas what to do with it? I'll look forward to hopefully an intensive discussion. Maybe someone else has found a WAL implementation that could be used / analysed :-) Chris / Noc
