You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Scott Clasen (JIRA)" <ji...@apache.org> on 2010/07/14 20:45:51 UTC

[jira] Created: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
-----------------------------------------------------------------------------------------------------------------

                 Key: AMQ-2826
                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
             Project: ActiveMQ
          Issue Type: New Feature
          Components: Message Store
    Affects Versions: 5.3.2
            Reporter: Scott Clasen


I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..

Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Dejan Bosanac (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60680#action_60680 ] 

Dejan Bosanac commented on AMQ-2826:
------------------------------------

I think introducing the new maven profile for running these tests is the way to go for now. We also need to ensure that our CI tools test this code properly. Maybe with some future release (AMQ 6.0) we can also introduce JDK 6 compatibility?

> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Scott Clasen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60678#action_60678 ] 

Scott Clasen commented on AMQ-2826:
-----------------------------------

Gary-

   The 1.6 dependency is more of a dependency for testing.  Cassandra itself requires 1.6, and the unit tests use an embedded cassandra server as the backend.

They could be easily made to run against an external instance, but that complicates the build, maybe they could be constrained to run only against a certain maven profile?

Other than that the persistence adapter uses only the cassandra thrift interface, and also a BloomFilter from Cassandra. Both the thrift interface and the bloom filter could be extracted and compiled under 1.5...I think....

Thoughts?

> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Scott Clasen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60700#action_60700 ] 

Scott Clasen commented on AMQ-2826:
-----------------------------------

Could take that jdk 1.6 profile a step further, and have a seperate profile where the whole module is included only in the 1.6 profile

Sort of like

<modules>
...normal modules...
</modules>

<plugins>
               <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <configuration>                    
                       <source>1.5</source>
                       <target>1.5</target>
                       <compilerVersion>1.5</compilerVersion>
                   </configuration>
               </plugin>
</plugins>

 <profiles>
       <profile>
           <id>jdk1.6</id>
           <activation>
              <jdk>1.6</jdk> 
           </activation>
           <modules>
                .....all normal modles...
                <module>activemq-cassandra-store</module>
           </modules>
           <build>
               <plugins>
                   <plugin>
                   <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <configuration>                    
                       <source>1.6</source>
                       <target>1.6</target>
                       <compilerVersion>1.6</compilerVersion>
                   </configuration>
               </plugin>
               </plugins>
           </build>
       </profile>
   </profiles>

OR just have the module sit off to the side in svn, like activemq-blaze or activemq-protobuf....

In the meantime I'll create a branch and pull in the cassandra thrift sources and try and build against 1.5 and run the tests against an external cassandra instance

 

> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60690#action_60690 ] 

Gary Tully commented on AMQ-2826:
---------------------------------

The CI tests for jdbc use an embedded derby, there are not external process dependencies in the CI runs at the moment.
Wonder if adding the tests with an exclusion via a property in surefire will work and have a 1.6jdk profile that redefines that property such that the tests are run when it is enabled would work.


> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Scott Clasen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60808#action_60808 ] 

Scott Clasen commented on AMQ-2826:
-----------------------------------

Ok, so I was able to get the adapter to build and test under JDK 1.5 with a bunch of wrestling. Not sure this is the way to go anyhow, since this would rely on an external cassandra instance to do testing, and would also be generally more of a maintenence burden.

Here are the steps I needed to take.

Generate cassandra thrift java sources from the thrift idl, pull into project (could be an external dependency, but need to compile with jdk1.5) Fix some blood where generated code was attempting to assign an int instead of an Enum Type.

Pull BloomFilter and a few dependent sources from cassandra into project, remove serialization code that ties it to cassandra too strongly. (Could use another bloomFilter impl or another duplicate detection strategy)

remove two usages of String.getBytes(Charset) and new String(bytes, Charset) which were added in 1.6 from Cascal (scala cassandra library used in the adapter), build cascal with jdk 1.5 (skipping tests, since the rely on an embedded cassandra instance)

install cassandra (actually worked with 0.6.3 even though the thrift api was 0.6.1), configure broker keyspace, 

remove adapter test code that relied on embedded cassandra instance, build and test under jdk 1.5

Sooo, while it is possible to get it working under 1.5, it dosen't feel very good from a future maintainability and development perspective.

Thoughts?

> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60674#action_60674 ] 

Gary Tully commented on AMQ-2826:
---------------------------------

Sure, it is of interest, what is the 1.6 dependency, any chance that it can be worked around?

> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-2826) Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra

Posted by "Scott Clasen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60684#action_60684 ] 

Scott Clasen commented on AMQ-2826:
-----------------------------------

So any suggestions on how to proceed? The maven profile for now could simply prevent the tests from being run... 

Not sure what type of infrastructure is available in the CI environment, as far as having the ability to stand up a single node cassandra and zookeeper instance to run the tests agains at some point...

How is the JDBC Store tested against all the different vendors that are supported?

> Look at the possibility of incorporating a cassandra persistence adapter from http://github.com/ticktock/qsandra 
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2826
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2826
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: Message Store
>    Affects Versions: 5.3.2
>            Reporter: Scott Clasen
>
> I am the author of http://github.com/ticktock/qsandra, which is a cassandra persistence adapter for activemq. I am willing to donate it if it is something that is of interest to ActiveMQ..
> Only current trouble with that is it needs JDK 1.6, so it would probably need to wait until (if and when) ActiveMQ 5.x is built with JDK 6.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.