incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Todd Fast <>
Subject Re: Announcing Mutagen
Date Fri, 17 May 2013 09:35:18 GMT
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