Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 75C3D200C8F for ; Fri, 9 Jun 2017 11:45:05 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 7443A160BC8; Fri, 9 Jun 2017 09:45:05 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 92D46160B9C for ; Fri, 9 Jun 2017 11:45:04 +0200 (CEST) Received: (qmail 39655 invoked by uid 500); 9 Jun 2017 09:45:03 -0000 Mailing-List: contact dev-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@cassandra.apache.org Received: (qmail 39643 invoked by uid 99); 9 Jun 2017 09:45:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Jun 2017 09:45:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id B4727C0708 for ; Fri, 9 Jun 2017 09:45:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.147 X-Spam-Level: X-Spam-Status: No, score=-0.147 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.796, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id Jo1KNFDReFXl for ; Fri, 9 Jun 2017 09:45:00 +0000 (UTC) Received: from mail-ua0-f175.google.com (mail-ua0-f175.google.com [209.85.217.175]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id E19405FBC6 for ; Fri, 9 Jun 2017 09:44:59 +0000 (UTC) Received: by mail-ua0-f175.google.com with SMTP id 68so13560749uas.0 for ; Fri, 09 Jun 2017 02:44:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=h+LQiXgDuYXvMz2BNVMuzoFLYZqDXHqm0nVNthm9+Ec=; b=uMjWt8+znz3qy3SEdvYn0PVC3lonhu22Iv+5MTw/fZa7scVbmN70v3zXqTotcM8Ote d+l/PQq7wR4q9IRsDQYHJpD+rN5yXJDYw8nxvGqZXQzqmXGxJPtvMIpneqDyoETasdkj djpccAOuehP85SttA5gIrSVZ5ynDzbusu4gnwEK1Zy7135LAuDNELwD+eiq5GJILwZ/2 DCxjraCQVdowFZY5i99rnsLmyVo6orG9ORjko6QZu1ZUmJQq1G7ljA/s3F19dTaXcB+j uomhjPQwy91YC5F21IzBt1yRH9KU5tvnrW6F9BGInaG4z45oBW36ZMwITHy8cV3uqRsB 4wLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=h+LQiXgDuYXvMz2BNVMuzoFLYZqDXHqm0nVNthm9+Ec=; b=HfifkwBX212U21klZXTbIjhIhggiiroX6Z+AkODRXGeaHkqTh+Tt/jRM/QvNDsnO0n LusyVUL1v24q6NjOWED3xmntOWer2Bpa8Qkktet5IWuITO1LAWSSBjoP/KNYb9JlEWip ERXifGXP0ZTPUDSuYjyW7SEAz7/jYzMJl4mLTbrLlMqFTifA0GT0JheFf2bTGQQ/8GbW Y9oXazMtw8N8QtPQrxmBtv4QqX9gnaFSSJLe+zfY1AzwqCJHh8SOEBVINzpy6pEA2gKg U8hCVHxkkQdl8i00LR8vStEnMOPJdwrTzW53NFFdlioy3FXOv4LlixSSGTj5X+i0Lsdg 7KEg== X-Gm-Message-State: AODbwcBtuO8wTu4EXHQ4W9R1dntbjL//6zfjWa5XTahmX4fDNmuLAPCy 5bJ3ujd9vafSpr3XwTgxPJRjZcLiXA== X-Received: by 10.176.9.70 with SMTP id c6mr24310294uah.7.1497001493658; Fri, 09 Jun 2017 02:44:53 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.149.138 with HTTP; Fri, 9 Jun 2017 02:44:53 -0700 (PDT) In-Reply-To: References: From: Pedro Gordo Date: Fri, 9 Jun 2017 10:44:53 +0100 Message-ID: Subject: Re: New contribution - Burst Hour Compaction Strategy To: Stefan Podkowinski Cc: Cassandra DEV Content-Type: multipart/alternative; boundary="f403043ecdf042015d055183d20a" archived-at: Fri, 09 Jun 2017 09:45:05 -0000 --f403043ecdf042015d055183d20a Content-Type: text/plain; charset="UTF-8" Hi Stefan Thanks for pointing these out. So far, I've only worked collaboratively with SVN, so I wasn't sure how best to address this part of the development with Git. I'll create a document explaining what I've done, hopefully until the end of this week, so that people at least can discuss the strategy while I work out how to address Git history. Would it be best to post updates to this thread, or should I continue with comments in the JIRA ticket? I initially thought about developing in v3.0, but then I read here that only bug fixes would be accepted for 3.0, and the 3.11 was just a stability release. I guess I'll need to redo a lot of commits, so what would be the best branch to do them on? Best regards Pedro Gordo On 9 June 2017 at 09:10, Stefan Podkowinski wrote: > Hello Pedro > > Thanks for being interested in contributing to Apache Cassandra. > Creating a new compaction strategy is not an easy task and there are > several things you can do to make it more obvious for other developers > to understand what you're up to. > > First of all, if using github, changes to the code base should be done > by having a separate branch in your own fork of the Apache repository. > This will make it possible for others to quickly compare your changes to > the current code base using the web interface. Technically using a new > repo works as well, but isn't as convenient for others, e.g. it starts > by not communicating which Cassandra branch was used as basis for you > changes. > > Talking about git, I'd also suggest to learn more about creating a git > history for your code that is easy to review. E.g. you may want to > squash some of the "code clean up" style commits. > > As mentioned, implementing a new compaction strategy is quite an effort > and the theories and motivations behind this is at least as interesting > as the actual implementation. Therefor it could be a good idea to have a > design document describing your work on a different abstraction level. > It will also make it more likely to get other people involved in the > discussion, as not everyone will have to check the source code for the > details. > > -Stefan > > > On 08.06.2017 09:31, Pedro Gordo wrote: > > Hi all > > > > As part of my MSc project, I've done a new compaction strategy for > > Cassandra, called Burst Hour Compaction Strategy. You can find the JIRA > > ticket here: https://issues.apache.org/jira/browse/CASSANDRA-12201 > > > > In a nutshell, the background compaction for this strategy is only > > triggered during a predefined interval, freeing the resources during > other > > times of the day. It also tries to make keys unique across all the > > SSTables, when these keys that are present in more than a configurable > > number of tables. Please check the JIRA ticket for a full description. > > > > The code can be found here: https://github.com/sedulam/CASSANDRA-12201 > > > > Please let me know what you think, or improvements that can be done (some > > ideas are in the ticket description). Since I'm new to Cassandra, I > imagine > > that a lot of assumptions might not be the best, e.g. 100MB for the > maximum > > table size. > > > > I'm looking forward to working with this community! > > > > All the best > > Pedro Gordo > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@cassandra.apache.org > For additional commands, e-mail: dev-help@cassandra.apache.org > > --f403043ecdf042015d055183d20a--