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 <bl...@orcaware.com> 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.
>>
>> https://github.com/toddfast/**mutagen-cassandra<https://github.com/toddfast/mutagen-cassandra>
>>
>> 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] 
> http://code.google.com/p/**scala-migrations/<http://code.google.com/p/scala-migrations/>
>

Reply via email to