incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan King <r...@twitter.com>
Subject Re: Commit log changes in 0.7
Date Fri, 26 Feb 2010 18:27:51 GMT
On Fri, Feb 26, 2010 at 9:22 AM, Gary Dusbabek <gdusbabek@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

Mime
View raw message