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 E98E7200D02 for ; Sat, 23 Sep 2017 17:58:36 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id E7EE01609B6; Sat, 23 Sep 2017 15:58:36 +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 1222E1609B5 for ; Sat, 23 Sep 2017 17:58:35 +0200 (CEST) Received: (qmail 15255 invoked by uid 500); 23 Sep 2017 15:58:35 -0000 Mailing-List: contact dev-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list dev@phoenix.apache.org Received: (qmail 15243 invoked by uid 99); 23 Sep 2017 15:58:34 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 23 Sep 2017 15:58:34 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 57EED1A19A9 for ; Sat, 23 Sep 2017 15:58:34 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.401 X-Spam-Level: X-Spam-Status: No, score=-0.401 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-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 (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 287BMzUTYUoX for ; Sat, 23 Sep 2017 15:58:32 +0000 (UTC) Received: from mail-wr0-f171.google.com (mail-wr0-f171.google.com [209.85.128.171]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 4FDAD5F666 for ; Sat, 23 Sep 2017 15:58:32 +0000 (UTC) Received: by mail-wr0-f171.google.com with SMTP id v109so2689503wrc.1 for ; Sat, 23 Sep 2017 08:58:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=BbHWnJ/wtoxnHaUa7rtT5Ef7la/Ye9Vr9navDYSKVdo=; b=ijdCoDRdw1JrbdyvcQJyzE0jypR8DaA8P+2Xluv9iQ/Fr3J1mz9BpaBZ7QlOcdA7vT Zey3w0bA5s58hEYQD4vK2QqKWzp9lTbRDfq9/oWwVdd+tGMHgl3CWwcXj1Lc6KXa8AJH Kc3RR0eSFhRkIjMwUOiemAhX9SDQLIqLmHvptv5SBNL37Ld036Nqb36+j1cnJdgSOuA8 EjMCfOzR5GDXFg5+9bfmjjEo3wnifmHR39ki2dfnOU+jB/SVEEAF+f9JBFIu1+34mnig 217taxG53JpK/snmzfpdEtILMdyV7rZHDwg8ozqkv30aQnGzkVqpKCJowXzZh4ibiRJ4 q7Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=BbHWnJ/wtoxnHaUa7rtT5Ef7la/Ye9Vr9navDYSKVdo=; b=Z3iZMVz7NQPpApiEE7+A6xpEDtGxzAKcto+jgPil+rAUCeGSzWGD6RUDX2g+b4064m qMaJA5coavLFE+ejIbn54rYToUmTDHrXsClYp2JH6srQwya7hu1PirQ132zTsHOAMkCL 2d8ocfbRjSBWyHY6DU4j4BqE4T6gk0XAHQKP3v8qRCV8GeABUpYpUMNsxj8Aco+FkY7E /HvnxUXI5p00Nwe+Mbbc6bSZTjxykZ1AJOq22yEEp1pkLxotEPNsI6KvDsVThBMfUIM6 ba34yuulRfEpZxFw5rRXVeh7NULorM0ewp3Y7LEO+2bDEhjv6q3QYBjVBRcR0ZYHUIqv Em4A== X-Gm-Message-State: AHPjjUh9RxCsIw+09HIhcJ2oHaEVducYPmhndZr9W7Mw+9/W/sOsCE2I gX/dycuIOkDk/GlIN68kX2LSXGYmiZadaghTR8f9eg== X-Google-Smtp-Source: AOwi7QB9UavJabpXvly9hXJcR+bwZQGa5j8gaOZ6PDWZlhbhbZSNCvkkUMs5IwFo2m197lZYg+0ipCr17PeSZ5Q7Fdw= X-Received: by 10.223.198.202 with SMTP id c10mr1919446wrh.230.1506182306235; Sat, 23 Sep 2017 08:58:26 -0700 (PDT) MIME-Version: 1.0 References: <1559114247.3588013.1504673965237.ref@mail.yahoo.com> <1559114247.3588013.1504673965237@mail.yahoo.com> <707389861.1295418.1505323361927@mail.yahoo.com> <893162577.8077734.1506121655279@mail.yahoo.com> In-Reply-To: <893162577.8077734.1506121655279@mail.yahoo.com> From: Nick Dimiduk Date: Sat, 23 Sep 2017 15:58:14 +0000 Message-ID: Subject: Re: Phoenix code quality To: dev@phoenix.apache.org, lars hofhansl Content-Type: multipart/alternative; boundary="089e0829e11c548b380559dd655a" archived-at: Sat, 23 Sep 2017 15:58:37 -0000 --089e0829e11c548b380559dd655a Content-Type: text/plain; charset="UTF-8" Lars, This is a great list of guidelines. We should publish it on the contributing [0] section of the public site. -n [0]: http://phoenix.apache.org/contributing.html On Fri, Sep 22, 2017 at 4:12 PM lars hofhansl wrote: > Any comments?Is this simply not a concern? > -- Lars > From: lars hofhansl > To: Dev > Sent: Wednesday, September 13, 2017 10:22 AM > Subject: Fw: Phoenix code quality > > Hi all Phoenix developers, > here's a thread that I had started on the private PMC list, and we agreed > to have this as a public discussion. > > > I'd like to solicit feedback on the 6 steps/recommendations below and > about we can ingrain those into the development process. > Comments, concerns, are - as always - welcome! > -- Lars > ----- Forwarded Message ----- > From: lars hofhansl > To: Private > Sent: Tuesday, September 5, 2017 9:59 PM > Subject: Phoenix code quality > > Hi all, > I realize this might be a difficult topic, and let me prefix this by > saying that this is my opinion only. > Phoenix is coming to a point where big organizations are relying on it. > At Salesforce we do billions of Phoenix queries per day... And we had a > bunch of recent production issues - only in part caused by Phoenix. > > If there was a patch here and there that lacks quality, tests, comments, > or proper documentation, then it's the fault of the person who created the > patch. > If, however, this happens with some frequency, then it a problem that > should involve PMC and committers who review and commit the patches in > question. > I'd like to suggest the following: > 1. Comments in the code should be considered when judging a patch for its > merit. No need to go overboard, but there should be enough comments so that > someone new the code can get an idea about what this code is doing. > 2. Eyeball each patch for how it would scale. Will it all work on 1000 > machines? With 1bn rows? With 1000 indexes? etc, etc.If it's not obvious, > ask the creator of the patch. Agree on what the scaling goals should > be.(For anything that works only for a few million rows or on a dozen > machines, nobody in their right mind would accept the complexity of running > Phoenix - and HBase, HDFS, ZK, etc - folks would and should simply use > Postgres.) > 3. Check how a patch will behave under failure. Machines failures are > common. Regions may not reachable for a bit, etc. Are there good timeouts? > Everything should gracefully continue to work. > > 4. Double check that tests check for corner conditions. > 5. Err on the side of stability, rather than committing a patch as beta. > If it's in the code, people _will_ use it. > 6. Are all config options properly explained and make sense? It's better > to err on the side of fewer config options. > > 7. Probably more stuff... > > Again. Just MHO. Many of these things are already done. But I still > thought might be good to have a quick discussion around this. > > Comments? > Thanks. > -- Lars > > > > > --089e0829e11c548b380559dd655a--