Return-Path: X-Original-To: apmail-apex-dev-archive@minotaur.apache.org Delivered-To: apmail-apex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5D1A918BC8 for ; Tue, 15 Dec 2015 06:16:15 +0000 (UTC) Received: (qmail 49699 invoked by uid 500); 15 Dec 2015 06:16:15 -0000 Delivered-To: apmail-apex-dev-archive@apex.apache.org Received: (qmail 49624 invoked by uid 500); 15 Dec 2015 06:16:15 -0000 Mailing-List: contact dev-help@apex.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@apex.incubator.apache.org Delivered-To: mailing list dev@apex.incubator.apache.org Received: (qmail 49612 invoked by uid 99); 15 Dec 2015 06:16:14 -0000 Received: from Unknown (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Dec 2015 06:16:14 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 6DF76180450 for ; Tue, 15 Dec 2015 06:16:14 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.98 X-Spam-Level: ** X-Spam-Status: No, score=2.98 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=datatorrent-com.20150623.gappssmtp.com Received: from mx1-us-east.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id dcbNRDgeTiFE for ; Tue, 15 Dec 2015 06:16:05 +0000 (UTC) Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by mx1-us-east.apache.org (ASF Mail Server at mx1-us-east.apache.org) with ESMTPS id 7C24E42989 for ; Tue, 15 Dec 2015 06:16:04 +0000 (UTC) Received: by mail-wm0-f48.google.com with SMTP id n186so10002439wmn.0 for ; Mon, 14 Dec 2015 22:16:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datatorrent-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=/qCWHnFGq5aL9nSxZD9SjkkWK3UyvcsdfMl8rXq+qi8=; b=UXwbIg002HgyVE2VJb3qx015NkiNSYhy8vpAZMdfNo4UCs1XkvRMjHyVYvIeIbWNE5 07nxccV/lX8t7/Syru3/+Ou0Crede1VW7c1v61Qd5QO1TBq1xplVg+dPFb5+R3/2pnKv 0si4J0AkG0QV+aVJyDHEoj9cPmrd3WRFVu/JPTC1q+BRPEEnOaesKH8Ld7vmp5yAP7X2 TQu+qDLanfKNAZ5DdITXB0Gnw0ygTBPjA3WjNFUvkIjEqtKG6DjbvduzWPcyQYZl/j9u Bcz2scW5FwUgaZNanB8R6XjhVypHAqBiJuM5GZOBX0GFLqDYKGDa8zXmxkBLG+PpZjIF 3zwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=/qCWHnFGq5aL9nSxZD9SjkkWK3UyvcsdfMl8rXq+qi8=; b=ftB7xkgOFcoTWbEFooTYxyOR0GGQ2BazANmeMmGiOY/LtLUsbz0crOxxxqF6XyHJZq xGrLrP6yQ3O/SDFmXu/XUfuklYwftDNVOAhsQVMtOdpkxBXtP3NBnEgDx3KH77pmHNcw zdWtcDalRg45I877H/fQK5/Dvk5unfyCAfRmUaWs5J4FANWWh44mcZc3oZtgao3DpHD1 cw3uIk4iFyKBHDuj+iQWmDpdoIy64Mmc4sGpApNWq3R3BL1Vf+xhlk7/zKY+3t0sCm+L FXHFmHHjVxZnzfynNTN8iRo26qq8PpotiPOAlDEwHKiVJ7V1yu8zY/15Fm/j15suiYcs V2VQ== X-Gm-Message-State: ALoCoQnBPBdUoVo3+ebk3D+ofFwzx68d6vKIJEGdXEEn6EimKtbnnIrvF5CiOz5OvDP5zYN73XjPiKqZsHrmjePefkjKhYhuX9HDjPPrhFRsTbJcWxqOUCE= MIME-Version: 1.0 X-Received: by 10.194.246.132 with SMTP id xw4mr42825981wjc.75.1450160163679; Mon, 14 Dec 2015 22:16:03 -0800 (PST) Received: by 10.28.178.70 with HTTP; Mon, 14 Dec 2015 22:16:03 -0800 (PST) In-Reply-To: References: Date: Mon, 14 Dec 2015 22:16:03 -0800 Message-ID: Subject: Re: Enable semantic versioning only for specific operators in Malhar From: Chandni Singh To: dev@apex.incubator.apache.org Content-Type: multipart/alternative; boundary=089e0168199e6c85170526e9b9db --089e0168199e6c85170526e9b9db Content-Type: text/plain; charset=UTF-8 We need to identify the operators and components that are stable if we want to go with semver check of only Stable classes. I can create an initial list. Thanks, Chandni On Mon, Dec 14, 2015 at 9:24 PM, Isha Arkatkar wrote: > Yep, That's what I am doing now :) > > Thanks, > Isha > > On Mon, Dec 14, 2015 at 9:22 PM, Chandni Singh > wrote: > > > Isha, > > > > I think for now you can configure the japicmp plugin to exclude the > package > > as follows in the pom.xml. > > > > > > > > com.datatorrent.lib.parser.* > > > > > > > > This is an example where we can benefit from inclusion approach with > > japicmp 0.7 version. > > > > > > Thanks, > > > > Chandni > > > > > > On Mon, Dec 14, 2015 at 8:34 PM, Isha Arkatkar > > wrote: > > > > > +1 > > > When 0.7 version of japicmp is available, we can add exclusions for > > > @Evolving or inclusions for @Stable, whichever way is finalized. > > > > > > But before that should we add package exclusions individually if all > the > > > operators inside the package are marked Evolving? > > > I wanted to make changes to some of the parser operators in Malhar. But > > > changing those breaks sem version check. > > > > > > Please suggest. > > > > > > Thanks, > > > Isha > > > > > > On Sun, Dec 13, 2015 at 10:46 PM, Tushar Gosavi < > tushar@datatorrent.com> > > > wrote: > > > > > > > +1 > > > > The new operators added will most likely to undergo change frequently > > > until > > > > they become stable. > > > > > > > > - Tushar. > > > > > > > > > > > > On Mon, Dec 14, 2015 at 12:05 PM, Siyuan Hua > > > > > wrote: > > > > > > > > > +1 > > > > > > > > > > On Sun, Dec 13, 2015 at 10:01 PM, Yogi Devendra < > > > yogidevendra@apache.org > > > > > > > > > > wrote: > > > > > > > > > > > I am not against the Idea of using @Stable instead of marking > every > > > new > > > > > > @Evolving. I agree that, it would convenient to have @Stable. > > > > > > > > > > > > Just raised the point which needs further discussion, so that we > > get > > > > > > suggestions from the mentors and community. > > > > > > > > > > > > ~ Yogi > > > > > > > > > > > > On 14 December 2015 at 11:23, Chandni Singh < > > chandni@datatorrent.com > > > > > > > > > > wrote: > > > > > > > > > > > > > Can we define some criteria for deciding when to consider > > operator > > > as > > > > > > > @Stable? > > > > > > > Yes, we should follow Hadoop's example and formalize some > > criteria. > > > > > > > > > > > > > > [It would be difficult for an open source project to track > which > > > user > > > > > is > > > > > > > using which operators. So, above strategy may not work. ] > > > > > > > Hadoop is an open source project which actually created these > > > > > annotations > > > > > > > and it's widely used. I think any new development takes time to > > > > become > > > > > > > stable. > > > > > > > If the operators are NOT marked as @Stable, users will know > that > > > when > > > > > > they > > > > > > > upgrade backward compatibility may be broken. > > > > > > > I think it has the same affect of marking every new > > operator/class > > > as > > > > > > > @Evolving. The benefit of checking semantic versioning of > > "Stable" > > > > > > > operators is that they are currently fewer in number and IMO > easy > > > to > > > > > > manage > > > > > > > and new development will be implicitly "Evolving". > > > > > > > > > > > > > > Chandni > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sun, Dec 13, 2015 at 9:11 PM, Yogi Devendra < > > > > > yogidevendra@apache.org> > > > > > > > wrote: > > > > > > > > > > > > > > > When to mark certain operator as @Stable is not clearly > > defined. > > > > > > > > > > > > > > > > Can we define some criteria for deciding when to consider > > > operator > > > > as > > > > > > > > @Stable? > > > > > > > > > > > > > > > > For example one criteria could be, if operator is running for > > >1 > > > > year > > > > > > in > > > > > > > > production environment for some user. Can we come with some > > > > strategy > > > > > > like > > > > > > > > this? > > > > > > > > [It would be difficult for an open source project to track > > which > > > > user > > > > > > is > > > > > > > > using which operators. So, above strategy may not work. ] > > > > > > > > > > > > > > > > ~ Yogi > > > > > > > > > > > > > > > > On 14 December 2015 at 05:42, Timothy Farkas < > > > tim@datatorrent.com> > > > > > > > wrote: > > > > > > > > > > > > > > > > > +1 > > > > > > > > > On Dec 13, 2015 4:08 PM, "Chandni Singh" < > > > > chandni@datatorrent.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > In Malhar there are relatively smaller number of > > operators > > > > that > > > > > > we > > > > > > > > use > > > > > > > > > in > > > > > > > > > > our demo applications, customer applications, POCs etc > that > > > are > > > > > > > mature. > > > > > > > > > > > > > > > > > > > > The library is cluttered with operators especially in > > > lib/util, > > > > > > > > lib/algo, > > > > > > > > > > lib/math packages which can be cleaned up by either > > removing > > > > them > > > > > > or > > > > > > > > > > improving them but that breaks semantic versioning. > > > > > > > > > > > > > > > > > > > > When we add new operators/utilities it takes certain time > > for > > > > > them > > > > > > to > > > > > > > > > > mature. Japicmp doesn't help because it doesn't honor > > > @Evolving > > > > > > > > @Unstable > > > > > > > > > > annotations for now. > > > > > > > > > > > > > > > > > > > > I wanted to propose that we add an annotation, let's say, > > > > re-use > > > > > > > > hadoop's > > > > > > > > > > @Stable and mark the operators which are stable with it > and > > > > > perform > > > > > > > > > semver > > > > > > > > > > check on just these operators. > > > > > > > > > > > > > > > > > > > > The 0.7.0 version of japi cmp has the support for > > inclusions > > > > (as > > > > > > well > > > > > > > > as > > > > > > > > > > exclusions) based on annotations. > > > > > > > > > > > > > > > > > > > > Here is the info: > > > > > > > > > > https://github.com/siom79/japicmp/issues/88 > > > > > > > > > > > > > > > > > > > > The reason I am inclined to the inclusion approach is > that > > > > there > > > > > > are > > > > > > > > > > relatively smaller number of operators which IMO are > > stable. > > > A > > > > > lot > > > > > > of > > > > > > > > > them > > > > > > > > > > aren't. > > > > > > > > > > So instead of going and marking so many as Evolving, we > > will > > > > mark > > > > > > > > > > relatively few of them as stable. > > > > > > > > > > > > > > > > > > > > Also new development can be facilitated by this. We > > wouldn't > > > > have > > > > > > to > > > > > > > > add > > > > > > > > > > @Evolving to everything which is new. Instead we will > mark > > it > > > > > > @Stable > > > > > > > > > when > > > > > > > > > > it is. > > > > > > > > > > > > > > > > > > > > Please let me know what you think? > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > Chandni > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --089e0168199e6c85170526e9b9db--