• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
How you can contribute to Apache Cassandra

How you can contribute to Apache Cassandra



Lightening talk I did on Cassandra Summit 2013 about contributing to Apache Cassandra project.

Lightening talk I did on Cassandra Summit 2013 about contributing to Apache Cassandra project.



Total Views
Views on SlideShare
Embed Views



10 Embeds 1,205

http://d.hatena.ne.jp 968
http://planetcassandra.org 136
https://twitter.com 52
http://cloud.feedly.com 20
http://planetcassandra-staging.prakashinfotech.com 14
http://webcache.googleusercontent.com 8 3
http://hatenatunnel.appspot.com 2
http://feedly.com 1
http://translate.googleusercontent.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    How you can contribute to Apache Cassandra How you can contribute to Apache Cassandra Presentation Transcript

    • #CASSANDRA13Yuki Morishita | Apache Cassandra Committer, Software Developer@DataStaxHow you can contribute to Apache Cassandra
    • #CASSANDRA13*Apache Cassandra committer sinceMay, 2012*Also a software developer at DataStax*Tokyo ✈ Austin, TXHi, my name is Yuki.@yukim
    • #CASSANDRA13Today, I want to (quickly) talk about* How to get started writing and submit a patch* Non-programmer’s guide to contribute
    • #CASSANDRA13Programmer’s (quick) guide to submit patch
    • #CASSANDRA13Tools*Java SDK (>= 7 preferred)*Apache Ant*git*(optionally) python
    • #CASSANDRA13Search or create an issue onSearch issues startingwith ‘CASSANDRA’Create an issue
    • #CASSANDRA13$ git clone https://git-wip-us.apache.org/repos/asf/cassandra.gitGet the code withgit.apache.org/cassandra.gitgithub.com/apache/cassandra.gitmirrormirror of mirror# It’s a good practice to always work on topic branch$ git checkout -b CASSANDRA-4315 origin/cassandra-1.2# to build, simply run$ ant
    • #CASSANDRA13*Just follow the coding stylehttp://wiki.apache.org/cassandra/CodeStyle*For Eclipse usershttps://github.com/tjake/cassandra-style-eclipseCode with your favorite IDE
    • #CASSANDRA13or you can run one test classTest it$ ant test -Dtest.name=IWantToRunOnlyThisTest$ ant test
    • #CASSANDRA13But wait, isn’t C* a distributed database?*How do I test C* in distributed manner?*Do I need boxes for that?
    • #CASSANDRA13Enter “ccm”*Cassandra Cluster Manager on your computer.*You can launch C* cluster from released version or local src tree.# create 3-node cluster of v1.2.5$ ccm create my-test-cluster -n 3 -v 1.2.5# launch all 3 nodes$ ccm start# show ring$ ccm node1 ring# do stress test$ ccm stress
    • #CASSANDRA13Enter “ccm”*Hosted on https://github.com/pcmanus/ccm*You can even write your own test scenario using pythonimport osfrom ccmlib.cluster import Clusteros.mkdir(‘test_dir’)cluster = Cluster(‘test_dir’, ‘Test Cluster’, cassandra_version=‘1.2.5’)cluster.populate(3)for node in cluster.nodelist():print node.name
    • #CASSANDRA13cassandra-dtest*C* cluster functional test based on nose and ccm*Get from https://github.com/riptano/cassandra-dtest$ git clone git@github.com:riptano/cassandra-dtest.git$ cd cassandra-dtest# run all distributed test$ nosetests
    • #CASSANDRA13cassandra-dtest*Too much for running long test? We got you covered.http://buildbot.datastax.com:8010/waterfall
    • #CASSANDRA13Ready to submit patch?$ git diff origin/cassandra-1.2 > CASSANDRA-XXXX.txt# or you can submit a patch created by following command too$ git format-patch origin/cassandra-1.2*Now, upload your patch using JIRA*Don’t forget to “Submit Patch” afterupload
    • #CASSANDRA13Got it? Start with “low-hanging fruits”https://issues.apache.org/jira/issues/?jql=project%20%3D%20CASSANDRA%20AND%20labels%20%3D%20lhf%20AND%20status%20!%3D%20Resolved
    • #CASSANDRA13Not a programmer? You can contribute too.
    • #CASSANDRA13There are many ways you can contribute*Report the bug*Test the patches*Tell about your use case*Help others on mailing list
    • #CASSANDRA13Reporting bug/Testing patches*JIRA is your friend. Feel free to “Create Issue”.But don’t ask the question on JIRA. Post it to user mailing list.*You always can be a reviewer/tester too.Grab, apply the patch, build and deploy to your testing environment.
    • #CASSANDRA13Tell your experience to the world*Blog and tweet with #cassandra*Get listed on http://www.planetcassandra.org/*Help others on the mailing list
    • #CASSANDRA13* ask(don’t ask to ask) on irc (#cassandra, #cassandra-dev on freenode)* post to mailing list (user@cassandra.apache.org)* tweet with hash tag #cassandra* or contact me yuki@datastax.comQuestions? You can always