On Fri, Feb 26, 2010 at 6:22 PM, Gary Dusbabek <gdusba...@gmail.com> wrote: > The commit log currently has a header section whose size is constant, > but is a function of the total number of defined column families. > This isn't going to work with CASSANDRA-44 where CFs can be added or > removed on the fly. I see two options: > > 1. hard code the size of the header to accommodate a maximum number > of CFs. I don't like this approach because it imposes a hard limit. > 2. move the header into its own file. I don't like this because it > adds complexity. > > Any better other ideas?
not a better idea, but just trying to understand: is there a reason the fixed size "hard limit" can't be expanded when a new commit log is created ? E.g. start with N column families and leave space for M of them, if one is added, a new commitlog is started with a larger header, and the logic for cleaning up non-active logs becomes xoring the short header against the equivalent portion of the new header. I think there is some additional complexity, such as the need for a prologue stating size/offsets, or if/how to handle deletions, but it doesn't seem much. -- blog en: http://www.riffraff.info blog it: http://riffraff.blogsome.com