1 Reply Latest reply on Aug 26, 2014 8:43 AM by Radoslav Husar

    Cassandra Subsystem

    Heiko Braun Master

      I started integrating Apache Cassandra [1] into Wildfly. It's a prerequisite for integrating rhq-metrics [2] with Wildfly, but I guess it has a lot of value on it's own. 

       

      The integration is done as a subsystem, which can be used to run a a single C* node on a standalone box, but more importantly it allows for launching and managing a complete C* cluster as part of Wildfly managed domain. I've provided example configuration files for both options which can be used  to play around with it and get going.

       

      The current subsystem relies on a patched Cassandra 2.0.6 version. Cassandra isn't designed to be used an embedded library. In particular the CassandraDaemon and some of the core services make heavy use 'System.exit()' calls. In order to embed Cassandra as a managed service, we had to remove some of the code that would otherwise break the service contracts in Wildfly. But I am confident we can find a way to get these changes back into the upstream project. But I haven't discussed all the details with the Apache folks yet.

       

      Overall it's pretty much work in progress, but I think it's good enough to get your hands dirty. You can find the codebase in my github repository:

       

      https://github.com/heiko-braun/wildfly-cassandra

       

      Thoughts and comments are welcome.

       

      /Heiko

       

      [1] http://cassandra.apache.org/

      [2] https://github.com/rhq-project/rhq-metrics