Very nice pick.   Valgrind has been used extensively to test this (valgrind is applied to all tests in the tests package).   It looks like when i create my topic array, I zeroed out the memory (with calloc).   So the topic is initialised to zero.  But this would have resulted in uninitialised read accesses for any new topics that were created beyond the original topic buffer (with initial capacity 32).  This has now been fixed (thanks again).<p>I chose to keep networking out of it for now as I felt it was something that could be added by the client (eg by having a websocket listener publish events as it saw fit).  Also partitioning was not a high priority now as creation of new topics actually had fairly low overhead.  Also deletion and compation of logs is something that was not a high priority right now but definitely something I would like to look at (would love some help :) )