[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rhq-devel
Subject:    cassandra schema management
From:       John Sanda <jsanda () redhat ! com>
Date:       2013-02-12 2:31:23
Message-ID: 54499DE3-2F70-404C-8685-CAC99838E311 () redhat ! com
[Download RAW message or body]

Today I started updating the version of Liquibase we build against. We had been \
building off of a fork that had my changes that were needed to move forward with \
Cassandra. Those changes had recently been merged in upstream. RHQ itself does not \
have a direct dependency on those changes. The Liquibase extensions that add support \
for Cassandra require those changes. Those extension live at \
https://github.com/jsanda/cassandra-liquibase-ext. Since the Liquibase changes are \
not yet in a released version, we have to build Liquibase from source. Once I updated \
the scripts to build from upstream, I was no longer able to build \
cassandra-liquibase-ext. I started getting a number of compiler errors. I spent a \
good deal of time this afternoon trying to reconcile the changes. Some classes that \
we were using and even extending have been completely removed from the Liquibase \
core. I posted a question about it on the Liquibase developer forum. There has yet to \
be a response.

Taking everything into consideration, I think it is time to cut our losses with \
Liquibase and pursue another option. It is unsettling at best that classes and APIs \
that are intended to be used for extending Liquibase have been completely removed, \
and I haven't been able to find so much as a mention of it in the git history, let \
alone a note on the developer forum. Aside from that, we are using the Cassandra JDBC \
driver in cassandra-liquibase-ext. As best I can tell, the driver project has been \
abandoned. There haven't been any commits since November. If we continue down the \
Liquibase path, then we pretty much have to assume ownership of the JDBC driver. The \
driver is far from fully implemented, and it was implemented using Thrift APIs. \
Everywhere else we are using the DataStax driver which is actively maintained and \
already had a larger community than the JDBC driver had. The DataStax driver is not a \
JDBC driver, but it makes a lot more sense to be using it. It is worth noting that \
the Liquibase/Cassandra JDBC driver proof of concept was already done before the \
DataStax driver was even announced. If the DataStax driver was available when I \
started this work, we might have gone down a different path from the get go.

For the short term (next couple days), I am going to take out the Liquibase stuff, \
and implement minimal support for installing the Cassandra schema so we are not \
blocked on this any longer than we have to. Going forward we can figure out the long \
term solution.

- John
_______________________________________________
rhq-devel mailing list
rhq-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/rhq-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic