incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edward Capriolo <>
Subject Re: Announcing Mutagen
Date Fri, 17 May 2013 14:26:09 GMT
Now that comparators can be changed I am internally wondering if every
column, rowkey,value in c* should be a dynamic composite and then
everything can "evolve"

On Fri, May 17, 2013 at 5:35 AM, Todd Fast <> wrote:

> Hi Blair--
> Thanks for digging into the code. I did indeed experiment with longer
> timeouts and the result was that trying to obtain the lock hung for
> whatever amount of time I set the timeout for. I am not an expert on
> Astyanax and haven't debugged my use of that recipe yet; I don't even know
> if I've configured it correctly. Perhaps you have some guidance?
> (Funny you mention your own migration framework--Mutagen is the second one
> I've done for Cassandra. The first one, a plugin for Mokol, also had schema
> rollbacks and some other features, but was only command-line.)
> On Thu, May 16, 2013 at 11:06 PM, Blair Zajac <> wrote:
>> On 5/16/13 10:22 PM, Todd Fast wrote:
>>> Mutagen Cassandra is a framework providing schema versioning and
>>> mutation for Apache Cassandra. It is similar to Flyway for SQL databases.
>>> Mutagen is a lightweight framework for applying versioned changes (known
>>> as mutations) to a resource, in this case a Cassandra schema. Mutagen
>>> takes into account the resource's existing state and only applies
>>> changes that haven't yet been applied.
>> Hi Todd,
>> Looking at your code and you have the ColumnPrefixDistributedRowLock
>> commented out.  Could it be that the mutation is taking longer than a
>> second to run?  Are they only happening during testing simultaneous
>> updates?  Maybe they aren't being cleaned up?
>> Funny timing, I'm working on porting Scala Migrations [1] to Cassandra
>> and have a working implementation.  It's not as fancy as Scala Migrations
>> (it doesn't scan a package for migration subclasses and it currently
>> doesn't do rollbacks) but it gets the basics done.  Hoping to release code
>> in the near future.
>> Differences from Mutagen:
>> 1) Mutations are written only in Scala.
>> 2) Since its a new project, it uses a Java Driver session instead of a
>> Astyanax connection since I only intend to use CQL3 tables.
>> Blair
>> [1]**scala-migrations/<>

View raw message