Looks promising, thanks for the effort! :-)

I suggest you to add this description and a simple "getting started"
section with the above example to the project README, making it easier for
other to use your project.

Cheers,


2014/1/22 Edward Capriolo <edlinuxg...@gmail.com>

> The repo:
> https://github.com/edwardcapriolo/farsandra
>
> The code:
>    Farsandra fs = new Farsandra();
>     fs.withVersion("2.0.4");
>     fs.withCleanInstanceOnStart(true);
>     fs.withInstanceName("1");
>     fs.withCreateConfigurationFiles(true);
>     fs.withHost("localhost");
>     fs.withSeeds(Arrays.asList("localhost"));
>     fs.start();
>
> The story:
> For a while I have been developing applications that use Apache Cassandra
> as their data store. Personally I am more of an end-to-end test person then
> a mock test person. For years I have relied heavily on Hector's embedded
> cassandra to bring up Cassandra in a sane way inside a java project.
>
> The concept of Farsandra is to keep Cassandra close (in end to end tests
> and not mocked away) but keep your classpath closer (running cassandra
> embedded should be seamless and not mess with your client classpath).
>
> Recently there has been much fragmentation with Hector Asytanax, CQL, and
> multiple Cassandra releases. Bringing up an embedded test is much harder
> then it need be.
>
> Cassandra's core methods get, put, slice over thrift have been
> wire-compatible from version 0.7 - current. However Java libraries for
> thrift and things like guava differ across the Cassandra versions. This
> makes a large number of "issues" when trying to use your favourite client
> with your 1 or more versions of Cassandra. (sometimes a thrift mismatch
> kills the entire integration and you (CANT)! test anything.
>
> Farsandra is much like https://github.com/pcmanus/ccm in that it launches
> Cassandra instances remotely inside a sub-process. Farsandra is done in
> java not python, making it easier to use with java development.
>
> I will not go and say Farsandra solves all problems. in fact it has it's
> own challenges (building yaml configurations across versions, fetching
> binary cassandra from the internet), but it opens up new opportunities to
> developer complicated multi-node testing scenarios which are impossible due
> to re-entrant embedded cassandra code!
>
> Have fun.
>



-- 
Paulo Ricardo

-- 
European Master in Distributed Computing

* Royal Institute of Technology - KTH*
*Instituto Superior Técnico - IST*
*http://paulormg.com <http://paulormg.com>*

Reply via email to