On Fri, Feb 26, 2010 at 9:22 AM, 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? > > Some background: the data stored in the header indicates a) which CFs > are 'dirty' and b) log replay offsets for each CF.
1. A separate CL per CF. You could do away with the offsets then, but you lose linearization across CFs, which may be ok? 2. A segmented CL - store the header once per segment. In theory you'd only have to start a new segment when the list of CFs change. -ryan