You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ratis.apache.org by "Elek, Marton" <el...@apache.org> on 2018/05/06 10:57:07 UTC

[VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Hi all,

I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.

This is the second incubator release and it includes more than 120 
improvements and fixes since the previous 0.1.0-alpha release. This is 
the first release
which includes a binary package with ready to use example project.

All distribution packages, including signatures, digests, etc. can be
found at:

https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/

Staged artifacts can be found at:

https://repository.apache.org/content/repositories/orgapacheratis-1003/


This release has been signed with PGP key 0EE79B28, corresponding to
elek@apache.org, which is included in the repository's KEYS file 
(https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).

This key can be found on keyservers, such as:

http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28

Or in the apache phonebook:

https://people.apache.org/keys/committer/elek.asc


The release candidate has been tagged in git with ratis-0.2.0-rc0 (ee4936d)

https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0



Please review and vote. The vote will be open for at least 72 hours.

If the vote passed, the second stage vote will be called on the Apache 
incubator mailing list to get approval from the Incubator PMC.



  # Review/testing

You can check the usual requirements of an apache release:

  • Signatures
  • Checksums
  • License and notice files
  • Disclaimer file (incubator!)
  • Build the project from the source code package (mvn clean install 
assembly:single -DskipTests=true )
  • Licence headers

The binary papckage can be smoketested with:

./examples/bin/start-all.sh
./examples/bin/client.sh assign --name a --value 2
./examples/bin/client.sh get --name a



Starting with my vote: +1

Thanks,
Marton

Re: [DISCUSS] version of next release (was Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0))

Posted by Tsz Wo Sze <sz...@gmail.com>.
+1
I do not have a strong opinion on the version.  Either way sounds good
to me.  Thanks.

Tsz-Wo

On Tue, May 15, 2018 at 8:12 AM, Mukul Kumar Singh
<ms...@hortonworks.com> wrote:
> +1 as well. Tested the latest snapshot on Ozone. And Ozone is working perfectly fine with the new version.
>
> On 15/05/18, 8:34 PM, "Xiaoyu Yao" <xy...@hortonworks.com> wrote:
>
>     +1 for 0.2.0.
>
>     Thanks
>
>     On 5/14/18, 4:29 PM, "Anu Engineer" <ae...@hortonworks.com> wrote:
>
>         +1, on 0.2.0. The major consumer of Ratis (HDDS/Ozone) will take it with or without –alpha (
>
>         --Anu
>
>
>         On 5/14/18, 2:24 PM, "Elek, Marton" <el...@apache.org> wrote:
>
>
>             All the issues are fixed now (Thanks Nanda, Tsz-Wo, Mukul)
>
>             The only open question is the version of the release (alpha vs non-alpha).
>
>             I think there are two kind of alpha releases:
>
>             1. Alpha as defined in the semantic versioning specification
>             (https://semver.org/). Here the alpha is a pre-release version of the
>             final release (0.2.0-alpha should be followed by an 0.2.0). This is the
>             schema what is used by hadoop before hadoop 3.0 release.
>
>             2. The other alpha is just a label on every release to mark the current
>             releases as not "production-ready". As I understood ratis had this kind
>             of alpha label (there was a 0.1.0-alpha but not 0.1.0).
>
>
>             I prefer to follow the semantic versioning. And I can't see the benefit
>             to release both 0.2.0 and 0.2.0-alpha. I think the current version is
>             stable enough to get a final number and the 0 as the major version makes
>             it clear that the project is in an early phase.
>
>             So I would use 0.2.0 as the next verison number (but not strongly
>             against 0.2.0-alpha if this your preference).
>
>             What do you think?
>
>             Thanks,
>             Marton
>
>             On 05/08/2018 11:45 PM, Tsz Wo Sze wrote:
>             > Agree.  Let's fix #2 - #5 for now.
>             >
>             > I have a comment on the release version: In the previous release, we
>             > called it 0.1.0-alpha.  How about we use 0.2.0-alpha for the next
>             > release?
>             >
>             > Tsz-Wo
>             >
>             > On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
>             >>
>             >> Hi,
>             >>
>             >> thank you the test and feedback for all of you.
>             >>
>             >> As a summary. The problems until now:
>             >>
>             >>   1. Unit test failures
>             >>   2. OpenConsensus shading problem: RATIS-237
>             >>   3. Copyright 2017
>             >>   4. Missing information about increasing MVN memory.
>             >>   5. Licence headers in shaded jar files
>             >>
>             >>
>             >>
>             >> 3/4: are not blockers (IMHO)
>             >>
>             >> 2: I think it's a blocker. As some of our unit tests are fragile and
>             >> intermittent (1.) Hadoop Ozone could give us additional confidence about the
>             >> stability of the release. Also we would like to provide a stable Ratis
>             >> version to Ozone, so they should work together.
>             >>
>             >> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
>             >> trival fixes).
>             >>
>             >> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
>             >> the shaded sources should not be included in the source distribution. I
>             >> think they are  just external dependencies similar to other maven
>             >> dependencies (just on the source level). I would fix it with removing the
>             >> src/main/java of the shaded project from the src release.
>             >>
>             >> 1. As I mentioned some of the unit tests seem to be fragile (see
>             >> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
>             >> think it's a blocker (but would be great to fix them long-term).
>             >>
>             >> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
>             >> (hopefully very soon).
>             >>
>             >> But this is just my view. Please let me know what do you think...
>             >>
>             >> Thanks a lot,
>             >> Marton
>             >>
>             >>
>             >>
>             >>
>             >>
>             >>
>             >>
>             >>
>             >>
>             >> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
>             >>>
>             >>> Thanks Nanda for the explanation.
>             >>>
>             >>> I seem able to fix the io.opencensus shading problem.  Just have
>             >>> posted a patch on RATIS-237.
>             >>>
>             >>> Tsz-Wo
>             >>>
>             >>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
>             >>> <nv...@hortonworks.com> wrote:
>             >>>>
>             >>>> Hi Tsz-Wo,
>             >>>>
>             >>>> True, there is only one version of opencensus in Ratis. Since we do
>             >>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
>             >>>> fully qualified class name, but the reference of io.grpc inside the class is
>             >>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
>             >>>> through Ratis dependency.
>             >>>>
>             >>>> The below is dependency tree of Ratis:
>             >>>>
>             >>>> [INFO] +-
>             >>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
>             >>>> =========> Modified opencensus packed with proto-shaded
>             >>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
>             >>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
>             >>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
>             >>>> [INFO] |  |  +-
>             >>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
>             >>>> [INFO] |  |  +-
>             >>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
>             >>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
>             >>>> [INFO] |  |  \-
>             >>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
>             >>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
>             >>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
>             >>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
>             >>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
>             >>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
>             >>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
>             >>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
>             >>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
>             >>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
>             >>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
>             >>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
>             >>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
>             >>>> =========> Original jar
>             >>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
>             >>>> [INFO]    \-
>             >>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
>             >>>>
>             >>>>
>             >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>             >>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
>             >>>> Compiled from "ContextUtils.java"
>             >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>             >>>>     public static final io.grpc.Context$Key<io.opencensus.trace.Span>
>             >>>> CONTEXT_SPAN_KEY;
>             >>>>     static {};
>             >>>> }
>             >>>>
>             >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>             >>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
>             >>>> io.opencensus.trace.unsafe.ContextUtils
>             >>>> Compiled from "ContextUtils.java"
>             >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>             >>>>     public static final
>             >>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
>             >>>> CONTEXT_SPAN_KEY;
>             >>>>     static {};
>             >>>> }
>             >>>>
>             >>>>
>             >>>> -Nanda
>             >>>>
>             >>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
>             >>>>
>             >>>>       > The problem is because of two different definition of
>             >>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
>             >>>> reason for having two different definition of ContextUtils in classpath is
>             >>>> due to the fact that we are shading/relocating io.grpc and not
>             >>>> io.opencensus.
>             >>>>
>             >>>>       Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
>             >>>> It
>             >>>>       seems that another version of opencensus is pulled outside Ratis.
>             >>>>
>             >>>>       Tsz-Wo
>             >>>>
>             >>>>
>             >>>>       On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
>             >>>>       <nv...@hortonworks.com> wrote:
>             >>>>       > I'm not sure why the file is missing, I can see the attachment in
>             >>>> my "sent items".
>             >>>>       >
>             >>>>       > Patch content for reference
>             >>>>       >
>             >>>>       > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
>             >>>>       > index a3c3cc1..ebb73cc 100644
>             >>>>       > --- a/ratis-grpc/pom.xml
>             >>>>       > +++ b/ratis-grpc/pom.xml
>             >>>>       > @@ -85,15 +85,5 @@
>             >>>>       >        <artifactId>jctools-core</artifactId>
>             >>>>       >      </dependency>
>             >>>>       >
>             >>>>       > -    <dependency>
>             >>>>       > -      <groupId>io.opencensus</groupId>
>             >>>>       > -      <artifactId>opencensus-api</artifactId>
>             >>>>       > -      <version>${io.opencensus.version}</version>
>             >>>>       > -    </dependency>
>             >>>>       > -    <dependency>
>             >>>>       > -      <groupId>io.opencensus</groupId>
>             >>>>       > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
>             >>>>       > -      <version>${io.opencensus.version}</version>
>             >>>>       > -    </dependency>
>             >>>>       >    </dependencies>
>             >>>>       >  </project>
>             >>>>       >
>             >>>>       > I will also create a jira under RATIS
>             >>>>       >
>             >>>>       > -Nanda
>             >>>>       >
>             >>>>       > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>             >>>>       >
>             >>>>       >     I don't see patch attached.
>             >>>>       >
>             >>>>       >     Please create RATIS JIRA and attach there.
>             >>>>       >
>             >>>>       >     Thanks
>             >>>>       >
>             >>>>       >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>             >>>>       >     nvadivelu@hortonworks.com> wrote:
>             >>>>       >
>             >>>>       >     > Hi All,
>             >>>>       >     >
>             >>>>       >     > Below is the exception which we get with Ratis 0.2.0
>             >>>>       >     >
>             >>>>       >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>             >>>>       >     >   at
>             >>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>             >>>>       >     > ServerTracer.filterContext(CensusTracingModule.java:340)
>             >>>>       >     >   at
>             >>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>             >>>>       >     > serverFilterContext(StatsTraceContext.java:121)
>             >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>             >>>>       >     >
>             >>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>             >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>             >>>>       >     >
>             >>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>             >>>>       >     > <stack trace truncated>
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >     > The problem is because of two different definition of
>             >>>>       >     > io.opencensus.trace.unsafe.ContextUtils class present in the
>             >>>> classpath.
>             >>>>       >     > The reason for having two different definition of
>             >>>> ContextUtils in classpath
>             >>>>       >     > is due to the fact that we are shading/relocating io.grpc
>             >>>> and not
>             >>>>       >     > io.opencensus.
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >     > With shading we are generating the below definition which
>             >>>> ends up in
>             >>>>       >     > ratis-proto-shaded jar
>             >>>>       >     >
>             >>>>       >     > package io.opencensus.trace.unsafe;
>             >>>>       >     >
>             >>>>       >     > import org.apache.ratis.shaded.io.grpc.Context;
>             >>>>       >     > import io.opencensus.trace.Span;
>             >>>>       >     >
>             >>>>       >     > /**
>             >>>>       >     >  * Util methods/functionality to interact with the {@link
>             >>>>       >     > org.apache.ratis.shaded.io.grpc.Context}.
>             >>>>       >     >  *
>             >>>>       >     >  * <p>Users must interact with the current Context via the
>             >>>> public APIs in
>             >>>>       >     > {@link
>             >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>             >>>> {@link
>             >>>>       >     > #CONTEXT_SPAN_KEY} directly.
>             >>>>       >     >  *
>             >>>>       >     >  * @since 0.5
>             >>>>       >     >  */
>             >>>>       >     > public final class ContextUtils {
>             >>>>       >     >   // No instance of this class.
>             >>>>       >     >   private ContextUtils() {}
>             >>>>       >     >
>             >>>>       >     >   /**
>             >>>>       >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
>             >>>> used to
>             >>>>       >     > interact with {@link
>             >>>> org.apache.ratis.shaded.io.grpc.Context}.
>             >>>>       >     >    *
>             >>>>       >     >    * @since 0.5
>             >>>>       >     >    */
>             >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>             >>>>       >     > Context.key("opencensus-trace-span-key");
>             >>>>       >     > }
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >     > Since we have added io.opencensus as direct dependency in
>             >>>> ratis-grpc we
>             >>>>       >     > get the below definition in io.opencensus:opencensus-api:jar
>             >>>>       >     >
>             >>>>       >     > package io.opencensus.trace.unsafe;
>             >>>>       >     >
>             >>>>       >     > import io.grpc.Context;
>             >>>>       >     > import io.opencensus.trace.Span;
>             >>>>       >     >
>             >>>>       >     > /**
>             >>>>       >     >  * Util methods/functionality to interact with the {@link
>             >>>> io.grpc.Context}.
>             >>>>       >     >  *
>             >>>>       >     >  * <p>Users must interact with the current Context via the
>             >>>> public APIs in
>             >>>>       >     > {@link
>             >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>             >>>> {@link
>             >>>>       >     > #CONTEXT_SPAN_KEY} directly.
>             >>>>       >     >  *
>             >>>>       >     >  * @since 0.5
>             >>>>       >     >  */
>             >>>>       >     > public final class ContextUtils {
>             >>>>       >     >   // No instance of this class.
>             >>>>       >     >   private ContextUtils() {}
>             >>>>       >     >
>             >>>>       >     >   /**
>             >>>>       >     >    * The {@link io.grpc.Context.Key} used to interact with
>             >>>> {@link
>             >>>>       >     > io.grpc.Context}.
>             >>>>       >     >    *
>             >>>>       >     >    * @since 0.5
>             >>>>       >     >    */
>             >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>             >>>>       >     > Context.key("opencensus-trace-span-key");
>             >>>>       >     > }
>             >>>>       >     >
>             >>>>       >     > Both of the jars end up in classpath and ContextUtils is
>             >>>> getting loaded
>             >>>>       >     > from io.opencensus:opencensus-api:jar which is causing the
>             >>>> problem.
>             >>>>       >     >
>             >>>>       >     > The simple fix would be to remove the dependency of
>             >>>> io.opencensus from
>             >>>>       >     > ratis-grpc/pom.xml (patch for the same is attached in this
>             >>>> mail). This is
>             >>>>       >     > not a permanent fix, as any application might bring in
>             >>>>       >     > io.opencensus:opencensus-api:jar of its own.
>             >>>>       >     >
>             >>>>       >     > We have to find a way to shade
>             >>>> io.opencensus:opencensus-api:jar.
>             >>>>       >     >
>             >>>>       >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
>             >>>> relocate
>             >>>>       >     > io.opencensus due to AutoValue code generation
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >     > -Nanda
>             >>>>       >     >
>             >>>>       >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
>             >>>> wrote:
>             >>>>       >     >
>             >>>>       >     >     We found an issue while updating ozone to Ratis snapshot
>             >>>> build
>             >>>>       >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>             >>>>       >     > jira/browse/HDDS-19). I feel we should hold the release till
>             >>>> this is
>             >>>>       >     > fixed. Please let us know of your opinion as well.
>             >>>>       >     >
>             >>>>       >     >     Thanks
>             >>>>       >     >     Lokesh
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >     >
>             >>>>       >
>             >>>>       >
>             >>>>
>             >>>>
>             >>>>
>             >>
>
>
>
>
>
>
>

Re: [DISCUSS] version of next release (was Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0))

Posted by Mukul Kumar Singh <ms...@hortonworks.com>.
+1 as well. Tested the latest snapshot on Ozone. And Ozone is working perfectly fine with the new version.

On 15/05/18, 8:34 PM, "Xiaoyu Yao" <xy...@hortonworks.com> wrote:

    +1 for 0.2.0.
    
    Thanks
    
    On 5/14/18, 4:29 PM, "Anu Engineer" <ae...@hortonworks.com> wrote:
    
        +1, on 0.2.0. The major consumer of Ratis (HDDS/Ozone) will take it with or without –alpha (
        
        --Anu
        
        
        On 5/14/18, 2:24 PM, "Elek, Marton" <el...@apache.org> wrote:
        
            
            All the issues are fixed now (Thanks Nanda, Tsz-Wo, Mukul)
            
            The only open question is the version of the release (alpha vs non-alpha).
            
            I think there are two kind of alpha releases:
            
            1. Alpha as defined in the semantic versioning specification 
            (https://semver.org/). Here the alpha is a pre-release version of the 
            final release (0.2.0-alpha should be followed by an 0.2.0). This is the 
            schema what is used by hadoop before hadoop 3.0 release.
            
            2. The other alpha is just a label on every release to mark the current 
            releases as not "production-ready". As I understood ratis had this kind 
            of alpha label (there was a 0.1.0-alpha but not 0.1.0).
            
            
            I prefer to follow the semantic versioning. And I can't see the benefit 
            to release both 0.2.0 and 0.2.0-alpha. I think the current version is 
            stable enough to get a final number and the 0 as the major version makes 
            it clear that the project is in an early phase.
            
            So I would use 0.2.0 as the next verison number (but not strongly 
            against 0.2.0-alpha if this your preference).
            
            What do you think?
            
            Thanks,
            Marton
            
            On 05/08/2018 11:45 PM, Tsz Wo Sze wrote:
            > Agree.  Let's fix #2 - #5 for now.
            > 
            > I have a comment on the release version: In the previous release, we
            > called it 0.1.0-alpha.  How about we use 0.2.0-alpha for the next
            > release?
            > 
            > Tsz-Wo
            > 
            > On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
            >>
            >> Hi,
            >>
            >> thank you the test and feedback for all of you.
            >>
            >> As a summary. The problems until now:
            >>
            >>   1. Unit test failures
            >>   2. OpenConsensus shading problem: RATIS-237
            >>   3. Copyright 2017
            >>   4. Missing information about increasing MVN memory.
            >>   5. Licence headers in shaded jar files
            >>
            >>
            >>
            >> 3/4: are not blockers (IMHO)
            >>
            >> 2: I think it's a blocker. As some of our unit tests are fragile and
            >> intermittent (1.) Hadoop Ozone could give us additional confidence about the
            >> stability of the release. Also we would like to provide a stable Ratis
            >> version to Ozone, so they should work together.
            >>
            >> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
            >> trival fixes).
            >>
            >> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
            >> the shaded sources should not be included in the source distribution. I
            >> think they are  just external dependencies similar to other maven
            >> dependencies (just on the source level). I would fix it with removing the
            >> src/main/java of the shaded project from the src release.
            >>
            >> 1. As I mentioned some of the unit tests seem to be fragile (see
            >> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
            >> think it's a blocker (but would be great to fix them long-term).
            >>
            >> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
            >> (hopefully very soon).
            >>
            >> But this is just my view. Please let me know what do you think...
            >>
            >> Thanks a lot,
            >> Marton
            >>
            >>
            >>
            >>
            >>
            >>
            >>
            >>
            >>
            >> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
            >>>
            >>> Thanks Nanda for the explanation.
            >>>
            >>> I seem able to fix the io.opencensus shading problem.  Just have
            >>> posted a patch on RATIS-237.
            >>>
            >>> Tsz-Wo
            >>>
            >>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
            >>> <nv...@hortonworks.com> wrote:
            >>>>
            >>>> Hi Tsz-Wo,
            >>>>
            >>>> True, there is only one version of opencensus in Ratis. Since we do
            >>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
            >>>> fully qualified class name, but the reference of io.grpc inside the class is
            >>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
            >>>> through Ratis dependency.
            >>>>
            >>>> The below is dependency tree of Ratis:
            >>>>
            >>>> [INFO] +-
            >>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
            >>>> =========> Modified opencensus packed with proto-shaded
            >>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
            >>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
            >>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
            >>>> [INFO] |  |  +-
            >>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
            >>>> [INFO] |  |  +-
            >>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
            >>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
            >>>> [INFO] |  |  \-
            >>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
            >>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
            >>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
            >>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
            >>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
            >>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
            >>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
            >>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
            >>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
            >>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
            >>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
            >>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
            >>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
            >>>> =========> Original jar
            >>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
            >>>> [INFO]    \-
            >>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
            >>>>
            >>>>
            >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
            >>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
            >>>> Compiled from "ContextUtils.java"
            >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
            >>>>     public static final io.grpc.Context$Key<io.opencensus.trace.Span>
            >>>> CONTEXT_SPAN_KEY;
            >>>>     static {};
            >>>> }
            >>>>
            >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
            >>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
            >>>> io.opencensus.trace.unsafe.ContextUtils
            >>>> Compiled from "ContextUtils.java"
            >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
            >>>>     public static final
            >>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
            >>>> CONTEXT_SPAN_KEY;
            >>>>     static {};
            >>>> }
            >>>>
            >>>>
            >>>> -Nanda
            >>>>
            >>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
            >>>>
            >>>>       > The problem is because of two different definition of
            >>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
            >>>> reason for having two different definition of ContextUtils in classpath is
            >>>> due to the fact that we are shading/relocating io.grpc and not
            >>>> io.opencensus.
            >>>>
            >>>>       Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
            >>>> It
            >>>>       seems that another version of opencensus is pulled outside Ratis.
            >>>>
            >>>>       Tsz-Wo
            >>>>
            >>>>
            >>>>       On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
            >>>>       <nv...@hortonworks.com> wrote:
            >>>>       > I'm not sure why the file is missing, I can see the attachment in
            >>>> my "sent items".
            >>>>       >
            >>>>       > Patch content for reference
            >>>>       >
            >>>>       > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
            >>>>       > index a3c3cc1..ebb73cc 100644
            >>>>       > --- a/ratis-grpc/pom.xml
            >>>>       > +++ b/ratis-grpc/pom.xml
            >>>>       > @@ -85,15 +85,5 @@
            >>>>       >        <artifactId>jctools-core</artifactId>
            >>>>       >      </dependency>
            >>>>       >
            >>>>       > -    <dependency>
            >>>>       > -      <groupId>io.opencensus</groupId>
            >>>>       > -      <artifactId>opencensus-api</artifactId>
            >>>>       > -      <version>${io.opencensus.version}</version>
            >>>>       > -    </dependency>
            >>>>       > -    <dependency>
            >>>>       > -      <groupId>io.opencensus</groupId>
            >>>>       > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
            >>>>       > -      <version>${io.opencensus.version}</version>
            >>>>       > -    </dependency>
            >>>>       >    </dependencies>
            >>>>       >  </project>
            >>>>       >
            >>>>       > I will also create a jira under RATIS
            >>>>       >
            >>>>       > -Nanda
            >>>>       >
            >>>>       > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
            >>>>       >
            >>>>       >     I don't see patch attached.
            >>>>       >
            >>>>       >     Please create RATIS JIRA and attach there.
            >>>>       >
            >>>>       >     Thanks
            >>>>       >
            >>>>       >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
            >>>>       >     nvadivelu@hortonworks.com> wrote:
            >>>>       >
            >>>>       >     > Hi All,
            >>>>       >     >
            >>>>       >     > Below is the exception which we get with Ratis 0.2.0
            >>>>       >     >
            >>>>       >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
            >>>>       >     >   at
            >>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
            >>>>       >     > ServerTracer.filterContext(CensusTracingModule.java:340)
            >>>>       >     >   at
            >>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
            >>>>       >     > serverFilterContext(StatsTraceContext.java:121)
            >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
            >>>>       >     >
            >>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
            >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
            >>>>       >     >
            >>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
            >>>>       >     > <stack trace truncated>
            >>>>       >     >
            >>>>       >     >
            >>>>       >     > The problem is because of two different definition of
            >>>>       >     > io.opencensus.trace.unsafe.ContextUtils class present in the
            >>>> classpath.
            >>>>       >     > The reason for having two different definition of
            >>>> ContextUtils in classpath
            >>>>       >     > is due to the fact that we are shading/relocating io.grpc
            >>>> and not
            >>>>       >     > io.opencensus.
            >>>>       >     >
            >>>>       >     >
            >>>>       >     > With shading we are generating the below definition which
            >>>> ends up in
            >>>>       >     > ratis-proto-shaded jar
            >>>>       >     >
            >>>>       >     > package io.opencensus.trace.unsafe;
            >>>>       >     >
            >>>>       >     > import org.apache.ratis.shaded.io.grpc.Context;
            >>>>       >     > import io.opencensus.trace.Span;
            >>>>       >     >
            >>>>       >     > /**
            >>>>       >     >  * Util methods/functionality to interact with the {@link
            >>>>       >     > org.apache.ratis.shaded.io.grpc.Context}.
            >>>>       >     >  *
            >>>>       >     >  * <p>Users must interact with the current Context via the
            >>>> public APIs in
            >>>>       >     > {@link
            >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
            >>>> {@link
            >>>>       >     > #CONTEXT_SPAN_KEY} directly.
            >>>>       >     >  *
            >>>>       >     >  * @since 0.5
            >>>>       >     >  */
            >>>>       >     > public final class ContextUtils {
            >>>>       >     >   // No instance of this class.
            >>>>       >     >   private ContextUtils() {}
            >>>>       >     >
            >>>>       >     >   /**
            >>>>       >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
            >>>> used to
            >>>>       >     > interact with {@link
            >>>> org.apache.ratis.shaded.io.grpc.Context}.
            >>>>       >     >    *
            >>>>       >     >    * @since 0.5
            >>>>       >     >    */
            >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
            >>>>       >     > Context.key("opencensus-trace-span-key");
            >>>>       >     > }
            >>>>       >     >
            >>>>       >     >
            >>>>       >     > Since we have added io.opencensus as direct dependency in
            >>>> ratis-grpc we
            >>>>       >     > get the below definition in io.opencensus:opencensus-api:jar
            >>>>       >     >
            >>>>       >     > package io.opencensus.trace.unsafe;
            >>>>       >     >
            >>>>       >     > import io.grpc.Context;
            >>>>       >     > import io.opencensus.trace.Span;
            >>>>       >     >
            >>>>       >     > /**
            >>>>       >     >  * Util methods/functionality to interact with the {@link
            >>>> io.grpc.Context}.
            >>>>       >     >  *
            >>>>       >     >  * <p>Users must interact with the current Context via the
            >>>> public APIs in
            >>>>       >     > {@link
            >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
            >>>> {@link
            >>>>       >     > #CONTEXT_SPAN_KEY} directly.
            >>>>       >     >  *
            >>>>       >     >  * @since 0.5
            >>>>       >     >  */
            >>>>       >     > public final class ContextUtils {
            >>>>       >     >   // No instance of this class.
            >>>>       >     >   private ContextUtils() {}
            >>>>       >     >
            >>>>       >     >   /**
            >>>>       >     >    * The {@link io.grpc.Context.Key} used to interact with
            >>>> {@link
            >>>>       >     > io.grpc.Context}.
            >>>>       >     >    *
            >>>>       >     >    * @since 0.5
            >>>>       >     >    */
            >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
            >>>>       >     > Context.key("opencensus-trace-span-key");
            >>>>       >     > }
            >>>>       >     >
            >>>>       >     > Both of the jars end up in classpath and ContextUtils is
            >>>> getting loaded
            >>>>       >     > from io.opencensus:opencensus-api:jar which is causing the
            >>>> problem.
            >>>>       >     >
            >>>>       >     > The simple fix would be to remove the dependency of
            >>>> io.opencensus from
            >>>>       >     > ratis-grpc/pom.xml (patch for the same is attached in this
            >>>> mail). This is
            >>>>       >     > not a permanent fix, as any application might bring in
            >>>>       >     > io.opencensus:opencensus-api:jar of its own.
            >>>>       >     >
            >>>>       >     > We have to find a way to shade
            >>>> io.opencensus:opencensus-api:jar.
            >>>>       >     >
            >>>>       >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
            >>>> relocate
            >>>>       >     > io.opencensus due to AutoValue code generation
            >>>>       >     >
            >>>>       >     >
            >>>>       >     > -Nanda
            >>>>       >     >
            >>>>       >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
            >>>> wrote:
            >>>>       >     >
            >>>>       >     >     We found an issue while updating ozone to Ratis snapshot
            >>>> build
            >>>>       >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
            >>>>       >     > jira/browse/HDDS-19). I feel we should hold the release till
            >>>> this is
            >>>>       >     > fixed. Please let us know of your opinion as well.
            >>>>       >     >
            >>>>       >     >     Thanks
            >>>>       >     >     Lokesh
            >>>>       >     >
            >>>>       >     >
            >>>>       >     >
            >>>>       >     >
            >>>>       >
            >>>>       >
            >>>>
            >>>>
            >>>>
            >>
            
            
        
        
    
    


Re: [DISCUSS] version of next release (was Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0))

Posted by Xiaoyu Yao <xy...@hortonworks.com>.
+1 for 0.2.0.

Thanks

On 5/14/18, 4:29 PM, "Anu Engineer" <ae...@hortonworks.com> wrote:

    +1, on 0.2.0. The major consumer of Ratis (HDDS/Ozone) will take it with or without –alpha (
    
    --Anu
    
    
    On 5/14/18, 2:24 PM, "Elek, Marton" <el...@apache.org> wrote:
    
        
        All the issues are fixed now (Thanks Nanda, Tsz-Wo, Mukul)
        
        The only open question is the version of the release (alpha vs non-alpha).
        
        I think there are two kind of alpha releases:
        
        1. Alpha as defined in the semantic versioning specification 
        (https://semver.org/). Here the alpha is a pre-release version of the 
        final release (0.2.0-alpha should be followed by an 0.2.0). This is the 
        schema what is used by hadoop before hadoop 3.0 release.
        
        2. The other alpha is just a label on every release to mark the current 
        releases as not "production-ready". As I understood ratis had this kind 
        of alpha label (there was a 0.1.0-alpha but not 0.1.0).
        
        
        I prefer to follow the semantic versioning. And I can't see the benefit 
        to release both 0.2.0 and 0.2.0-alpha. I think the current version is 
        stable enough to get a final number and the 0 as the major version makes 
        it clear that the project is in an early phase.
        
        So I would use 0.2.0 as the next verison number (but not strongly 
        against 0.2.0-alpha if this your preference).
        
        What do you think?
        
        Thanks,
        Marton
        
        On 05/08/2018 11:45 PM, Tsz Wo Sze wrote:
        > Agree.  Let's fix #2 - #5 for now.
        > 
        > I have a comment on the release version: In the previous release, we
        > called it 0.1.0-alpha.  How about we use 0.2.0-alpha for the next
        > release?
        > 
        > Tsz-Wo
        > 
        > On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
        >>
        >> Hi,
        >>
        >> thank you the test and feedback for all of you.
        >>
        >> As a summary. The problems until now:
        >>
        >>   1. Unit test failures
        >>   2. OpenConsensus shading problem: RATIS-237
        >>   3. Copyright 2017
        >>   4. Missing information about increasing MVN memory.
        >>   5. Licence headers in shaded jar files
        >>
        >>
        >>
        >> 3/4: are not blockers (IMHO)
        >>
        >> 2: I think it's a blocker. As some of our unit tests are fragile and
        >> intermittent (1.) Hadoop Ozone could give us additional confidence about the
        >> stability of the release. Also we would like to provide a stable Ratis
        >> version to Ozone, so they should work together.
        >>
        >> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
        >> trival fixes).
        >>
        >> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
        >> the shaded sources should not be included in the source distribution. I
        >> think they are  just external dependencies similar to other maven
        >> dependencies (just on the source level). I would fix it with removing the
        >> src/main/java of the shaded project from the src release.
        >>
        >> 1. As I mentioned some of the unit tests seem to be fragile (see
        >> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
        >> think it's a blocker (but would be great to fix them long-term).
        >>
        >> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
        >> (hopefully very soon).
        >>
        >> But this is just my view. Please let me know what do you think...
        >>
        >> Thanks a lot,
        >> Marton
        >>
        >>
        >>
        >>
        >>
        >>
        >>
        >>
        >>
        >> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
        >>>
        >>> Thanks Nanda for the explanation.
        >>>
        >>> I seem able to fix the io.opencensus shading problem.  Just have
        >>> posted a patch on RATIS-237.
        >>>
        >>> Tsz-Wo
        >>>
        >>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
        >>> <nv...@hortonworks.com> wrote:
        >>>>
        >>>> Hi Tsz-Wo,
        >>>>
        >>>> True, there is only one version of opencensus in Ratis. Since we do
        >>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
        >>>> fully qualified class name, but the reference of io.grpc inside the class is
        >>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
        >>>> through Ratis dependency.
        >>>>
        >>>> The below is dependency tree of Ratis:
        >>>>
        >>>> [INFO] +-
        >>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
        >>>> =========> Modified opencensus packed with proto-shaded
        >>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
        >>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
        >>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
        >>>> [INFO] |  |  +-
        >>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
        >>>> [INFO] |  |  +-
        >>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
        >>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
        >>>> [INFO] |  |  \-
        >>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
        >>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
        >>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
        >>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
        >>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
        >>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
        >>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
        >>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
        >>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
        >>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
        >>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
        >>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
        >>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
        >>>> =========> Original jar
        >>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
        >>>> [INFO]    \-
        >>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
        >>>>
        >>>>
        >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
        >>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
        >>>> Compiled from "ContextUtils.java"
        >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
        >>>>     public static final io.grpc.Context$Key<io.opencensus.trace.Span>
        >>>> CONTEXT_SPAN_KEY;
        >>>>     static {};
        >>>> }
        >>>>
        >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
        >>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
        >>>> io.opencensus.trace.unsafe.ContextUtils
        >>>> Compiled from "ContextUtils.java"
        >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
        >>>>     public static final
        >>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
        >>>> CONTEXT_SPAN_KEY;
        >>>>     static {};
        >>>> }
        >>>>
        >>>>
        >>>> -Nanda
        >>>>
        >>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
        >>>>
        >>>>       > The problem is because of two different definition of
        >>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
        >>>> reason for having two different definition of ContextUtils in classpath is
        >>>> due to the fact that we are shading/relocating io.grpc and not
        >>>> io.opencensus.
        >>>>
        >>>>       Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
        >>>> It
        >>>>       seems that another version of opencensus is pulled outside Ratis.
        >>>>
        >>>>       Tsz-Wo
        >>>>
        >>>>
        >>>>       On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
        >>>>       <nv...@hortonworks.com> wrote:
        >>>>       > I'm not sure why the file is missing, I can see the attachment in
        >>>> my "sent items".
        >>>>       >
        >>>>       > Patch content for reference
        >>>>       >
        >>>>       > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
        >>>>       > index a3c3cc1..ebb73cc 100644
        >>>>       > --- a/ratis-grpc/pom.xml
        >>>>       > +++ b/ratis-grpc/pom.xml
        >>>>       > @@ -85,15 +85,5 @@
        >>>>       >        <artifactId>jctools-core</artifactId>
        >>>>       >      </dependency>
        >>>>       >
        >>>>       > -    <dependency>
        >>>>       > -      <groupId>io.opencensus</groupId>
        >>>>       > -      <artifactId>opencensus-api</artifactId>
        >>>>       > -      <version>${io.opencensus.version}</version>
        >>>>       > -    </dependency>
        >>>>       > -    <dependency>
        >>>>       > -      <groupId>io.opencensus</groupId>
        >>>>       > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
        >>>>       > -      <version>${io.opencensus.version}</version>
        >>>>       > -    </dependency>
        >>>>       >    </dependencies>
        >>>>       >  </project>
        >>>>       >
        >>>>       > I will also create a jira under RATIS
        >>>>       >
        >>>>       > -Nanda
        >>>>       >
        >>>>       > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
        >>>>       >
        >>>>       >     I don't see patch attached.
        >>>>       >
        >>>>       >     Please create RATIS JIRA and attach there.
        >>>>       >
        >>>>       >     Thanks
        >>>>       >
        >>>>       >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
        >>>>       >     nvadivelu@hortonworks.com> wrote:
        >>>>       >
        >>>>       >     > Hi All,
        >>>>       >     >
        >>>>       >     > Below is the exception which we get with Ratis 0.2.0
        >>>>       >     >
        >>>>       >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
        >>>>       >     >   at
        >>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
        >>>>       >     > ServerTracer.filterContext(CensusTracingModule.java:340)
        >>>>       >     >   at
        >>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
        >>>>       >     > serverFilterContext(StatsTraceContext.java:121)
        >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
        >>>>       >     >
        >>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
        >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
        >>>>       >     >
        >>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
        >>>>       >     > <stack trace truncated>
        >>>>       >     >
        >>>>       >     >
        >>>>       >     > The problem is because of two different definition of
        >>>>       >     > io.opencensus.trace.unsafe.ContextUtils class present in the
        >>>> classpath.
        >>>>       >     > The reason for having two different definition of
        >>>> ContextUtils in classpath
        >>>>       >     > is due to the fact that we are shading/relocating io.grpc
        >>>> and not
        >>>>       >     > io.opencensus.
        >>>>       >     >
        >>>>       >     >
        >>>>       >     > With shading we are generating the below definition which
        >>>> ends up in
        >>>>       >     > ratis-proto-shaded jar
        >>>>       >     >
        >>>>       >     > package io.opencensus.trace.unsafe;
        >>>>       >     >
        >>>>       >     > import org.apache.ratis.shaded.io.grpc.Context;
        >>>>       >     > import io.opencensus.trace.Span;
        >>>>       >     >
        >>>>       >     > /**
        >>>>       >     >  * Util methods/functionality to interact with the {@link
        >>>>       >     > org.apache.ratis.shaded.io.grpc.Context}.
        >>>>       >     >  *
        >>>>       >     >  * <p>Users must interact with the current Context via the
        >>>> public APIs in
        >>>>       >     > {@link
        >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
        >>>> {@link
        >>>>       >     > #CONTEXT_SPAN_KEY} directly.
        >>>>       >     >  *
        >>>>       >     >  * @since 0.5
        >>>>       >     >  */
        >>>>       >     > public final class ContextUtils {
        >>>>       >     >   // No instance of this class.
        >>>>       >     >   private ContextUtils() {}
        >>>>       >     >
        >>>>       >     >   /**
        >>>>       >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
        >>>> used to
        >>>>       >     > interact with {@link
        >>>> org.apache.ratis.shaded.io.grpc.Context}.
        >>>>       >     >    *
        >>>>       >     >    * @since 0.5
        >>>>       >     >    */
        >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
        >>>>       >     > Context.key("opencensus-trace-span-key");
        >>>>       >     > }
        >>>>       >     >
        >>>>       >     >
        >>>>       >     > Since we have added io.opencensus as direct dependency in
        >>>> ratis-grpc we
        >>>>       >     > get the below definition in io.opencensus:opencensus-api:jar
        >>>>       >     >
        >>>>       >     > package io.opencensus.trace.unsafe;
        >>>>       >     >
        >>>>       >     > import io.grpc.Context;
        >>>>       >     > import io.opencensus.trace.Span;
        >>>>       >     >
        >>>>       >     > /**
        >>>>       >     >  * Util methods/functionality to interact with the {@link
        >>>> io.grpc.Context}.
        >>>>       >     >  *
        >>>>       >     >  * <p>Users must interact with the current Context via the
        >>>> public APIs in
        >>>>       >     > {@link
        >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
        >>>> {@link
        >>>>       >     > #CONTEXT_SPAN_KEY} directly.
        >>>>       >     >  *
        >>>>       >     >  * @since 0.5
        >>>>       >     >  */
        >>>>       >     > public final class ContextUtils {
        >>>>       >     >   // No instance of this class.
        >>>>       >     >   private ContextUtils() {}
        >>>>       >     >
        >>>>       >     >   /**
        >>>>       >     >    * The {@link io.grpc.Context.Key} used to interact with
        >>>> {@link
        >>>>       >     > io.grpc.Context}.
        >>>>       >     >    *
        >>>>       >     >    * @since 0.5
        >>>>       >     >    */
        >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
        >>>>       >     > Context.key("opencensus-trace-span-key");
        >>>>       >     > }
        >>>>       >     >
        >>>>       >     > Both of the jars end up in classpath and ContextUtils is
        >>>> getting loaded
        >>>>       >     > from io.opencensus:opencensus-api:jar which is causing the
        >>>> problem.
        >>>>       >     >
        >>>>       >     > The simple fix would be to remove the dependency of
        >>>> io.opencensus from
        >>>>       >     > ratis-grpc/pom.xml (patch for the same is attached in this
        >>>> mail). This is
        >>>>       >     > not a permanent fix, as any application might bring in
        >>>>       >     > io.opencensus:opencensus-api:jar of its own.
        >>>>       >     >
        >>>>       >     > We have to find a way to shade
        >>>> io.opencensus:opencensus-api:jar.
        >>>>       >     >
        >>>>       >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
        >>>> relocate
        >>>>       >     > io.opencensus due to AutoValue code generation
        >>>>       >     >
        >>>>       >     >
        >>>>       >     > -Nanda
        >>>>       >     >
        >>>>       >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
        >>>> wrote:
        >>>>       >     >
        >>>>       >     >     We found an issue while updating ozone to Ratis snapshot
        >>>> build
        >>>>       >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
        >>>>       >     > jira/browse/HDDS-19). I feel we should hold the release till
        >>>> this is
        >>>>       >     > fixed. Please let us know of your opinion as well.
        >>>>       >     >
        >>>>       >     >     Thanks
        >>>>       >     >     Lokesh
        >>>>       >     >
        >>>>       >     >
        >>>>       >     >
        >>>>       >     >
        >>>>       >
        >>>>       >
        >>>>
        >>>>
        >>>>
        >>
        
        
    
    


Re: [DISCUSS] version of next release (was Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0))

Posted by Anu Engineer <ae...@hortonworks.com>.
+1, on 0.2.0. The major consumer of Ratis (HDDS/Ozone) will take it with or without –alpha (

--Anu


On 5/14/18, 2:24 PM, "Elek, Marton" <el...@apache.org> wrote:

    
    All the issues are fixed now (Thanks Nanda, Tsz-Wo, Mukul)
    
    The only open question is the version of the release (alpha vs non-alpha).
    
    I think there are two kind of alpha releases:
    
    1. Alpha as defined in the semantic versioning specification 
    (https://semver.org/). Here the alpha is a pre-release version of the 
    final release (0.2.0-alpha should be followed by an 0.2.0). This is the 
    schema what is used by hadoop before hadoop 3.0 release.
    
    2. The other alpha is just a label on every release to mark the current 
    releases as not "production-ready". As I understood ratis had this kind 
    of alpha label (there was a 0.1.0-alpha but not 0.1.0).
    
    
    I prefer to follow the semantic versioning. And I can't see the benefit 
    to release both 0.2.0 and 0.2.0-alpha. I think the current version is 
    stable enough to get a final number and the 0 as the major version makes 
    it clear that the project is in an early phase.
    
    So I would use 0.2.0 as the next verison number (but not strongly 
    against 0.2.0-alpha if this your preference).
    
    What do you think?
    
    Thanks,
    Marton
    
    On 05/08/2018 11:45 PM, Tsz Wo Sze wrote:
    > Agree.  Let's fix #2 - #5 for now.
    > 
    > I have a comment on the release version: In the previous release, we
    > called it 0.1.0-alpha.  How about we use 0.2.0-alpha for the next
    > release?
    > 
    > Tsz-Wo
    > 
    > On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
    >>
    >> Hi,
    >>
    >> thank you the test and feedback for all of you.
    >>
    >> As a summary. The problems until now:
    >>
    >>   1. Unit test failures
    >>   2. OpenConsensus shading problem: RATIS-237
    >>   3. Copyright 2017
    >>   4. Missing information about increasing MVN memory.
    >>   5. Licence headers in shaded jar files
    >>
    >>
    >>
    >> 3/4: are not blockers (IMHO)
    >>
    >> 2: I think it's a blocker. As some of our unit tests are fragile and
    >> intermittent (1.) Hadoop Ozone could give us additional confidence about the
    >> stability of the release. Also we would like to provide a stable Ratis
    >> version to Ozone, so they should work together.
    >>
    >> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
    >> trival fixes).
    >>
    >> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
    >> the shaded sources should not be included in the source distribution. I
    >> think they are  just external dependencies similar to other maven
    >> dependencies (just on the source level). I would fix it with removing the
    >> src/main/java of the shaded project from the src release.
    >>
    >> 1. As I mentioned some of the unit tests seem to be fragile (see
    >> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
    >> think it's a blocker (but would be great to fix them long-term).
    >>
    >> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
    >> (hopefully very soon).
    >>
    >> But this is just my view. Please let me know what do you think...
    >>
    >> Thanks a lot,
    >> Marton
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >>
    >> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
    >>>
    >>> Thanks Nanda for the explanation.
    >>>
    >>> I seem able to fix the io.opencensus shading problem.  Just have
    >>> posted a patch on RATIS-237.
    >>>
    >>> Tsz-Wo
    >>>
    >>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
    >>> <nv...@hortonworks.com> wrote:
    >>>>
    >>>> Hi Tsz-Wo,
    >>>>
    >>>> True, there is only one version of opencensus in Ratis. Since we do
    >>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
    >>>> fully qualified class name, but the reference of io.grpc inside the class is
    >>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
    >>>> through Ratis dependency.
    >>>>
    >>>> The below is dependency tree of Ratis:
    >>>>
    >>>> [INFO] +-
    >>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
    >>>> =========> Modified opencensus packed with proto-shaded
    >>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
    >>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
    >>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
    >>>> [INFO] |  |  +-
    >>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
    >>>> [INFO] |  |  +-
    >>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
    >>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
    >>>> [INFO] |  |  \-
    >>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
    >>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
    >>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
    >>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
    >>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
    >>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
    >>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
    >>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
    >>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
    >>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
    >>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
    >>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
    >>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
    >>>> =========> Original jar
    >>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
    >>>> [INFO]    \-
    >>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
    >>>>
    >>>>
    >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
    >>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
    >>>> Compiled from "ContextUtils.java"
    >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
    >>>>     public static final io.grpc.Context$Key<io.opencensus.trace.Span>
    >>>> CONTEXT_SPAN_KEY;
    >>>>     static {};
    >>>> }
    >>>>
    >>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
    >>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
    >>>> io.opencensus.trace.unsafe.ContextUtils
    >>>> Compiled from "ContextUtils.java"
    >>>> public final class io.opencensus.trace.unsafe.ContextUtils {
    >>>>     public static final
    >>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
    >>>> CONTEXT_SPAN_KEY;
    >>>>     static {};
    >>>> }
    >>>>
    >>>>
    >>>> -Nanda
    >>>>
    >>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
    >>>>
    >>>>       > The problem is because of two different definition of
    >>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
    >>>> reason for having two different definition of ContextUtils in classpath is
    >>>> due to the fact that we are shading/relocating io.grpc and not
    >>>> io.opencensus.
    >>>>
    >>>>       Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
    >>>> It
    >>>>       seems that another version of opencensus is pulled outside Ratis.
    >>>>
    >>>>       Tsz-Wo
    >>>>
    >>>>
    >>>>       On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
    >>>>       <nv...@hortonworks.com> wrote:
    >>>>       > I'm not sure why the file is missing, I can see the attachment in
    >>>> my "sent items".
    >>>>       >
    >>>>       > Patch content for reference
    >>>>       >
    >>>>       > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
    >>>>       > index a3c3cc1..ebb73cc 100644
    >>>>       > --- a/ratis-grpc/pom.xml
    >>>>       > +++ b/ratis-grpc/pom.xml
    >>>>       > @@ -85,15 +85,5 @@
    >>>>       >        <artifactId>jctools-core</artifactId>
    >>>>       >      </dependency>
    >>>>       >
    >>>>       > -    <dependency>
    >>>>       > -      <groupId>io.opencensus</groupId>
    >>>>       > -      <artifactId>opencensus-api</artifactId>
    >>>>       > -      <version>${io.opencensus.version}</version>
    >>>>       > -    </dependency>
    >>>>       > -    <dependency>
    >>>>       > -      <groupId>io.opencensus</groupId>
    >>>>       > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
    >>>>       > -      <version>${io.opencensus.version}</version>
    >>>>       > -    </dependency>
    >>>>       >    </dependencies>
    >>>>       >  </project>
    >>>>       >
    >>>>       > I will also create a jira under RATIS
    >>>>       >
    >>>>       > -Nanda
    >>>>       >
    >>>>       > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
    >>>>       >
    >>>>       >     I don't see patch attached.
    >>>>       >
    >>>>       >     Please create RATIS JIRA and attach there.
    >>>>       >
    >>>>       >     Thanks
    >>>>       >
    >>>>       >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
    >>>>       >     nvadivelu@hortonworks.com> wrote:
    >>>>       >
    >>>>       >     > Hi All,
    >>>>       >     >
    >>>>       >     > Below is the exception which we get with Ratis 0.2.0
    >>>>       >     >
    >>>>       >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
    >>>>       >     >   at
    >>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
    >>>>       >     > ServerTracer.filterContext(CensusTracingModule.java:340)
    >>>>       >     >   at
    >>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
    >>>>       >     > serverFilterContext(StatsTraceContext.java:121)
    >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    >>>>       >     >
    >>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
    >>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    >>>>       >     >
    >>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
    >>>>       >     > <stack trace truncated>
    >>>>       >     >
    >>>>       >     >
    >>>>       >     > The problem is because of two different definition of
    >>>>       >     > io.opencensus.trace.unsafe.ContextUtils class present in the
    >>>> classpath.
    >>>>       >     > The reason for having two different definition of
    >>>> ContextUtils in classpath
    >>>>       >     > is due to the fact that we are shading/relocating io.grpc
    >>>> and not
    >>>>       >     > io.opencensus.
    >>>>       >     >
    >>>>       >     >
    >>>>       >     > With shading we are generating the below definition which
    >>>> ends up in
    >>>>       >     > ratis-proto-shaded jar
    >>>>       >     >
    >>>>       >     > package io.opencensus.trace.unsafe;
    >>>>       >     >
    >>>>       >     > import org.apache.ratis.shaded.io.grpc.Context;
    >>>>       >     > import io.opencensus.trace.Span;
    >>>>       >     >
    >>>>       >     > /**
    >>>>       >     >  * Util methods/functionality to interact with the {@link
    >>>>       >     > org.apache.ratis.shaded.io.grpc.Context}.
    >>>>       >     >  *
    >>>>       >     >  * <p>Users must interact with the current Context via the
    >>>> public APIs in
    >>>>       >     > {@link
    >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
    >>>> {@link
    >>>>       >     > #CONTEXT_SPAN_KEY} directly.
    >>>>       >     >  *
    >>>>       >     >  * @since 0.5
    >>>>       >     >  */
    >>>>       >     > public final class ContextUtils {
    >>>>       >     >   // No instance of this class.
    >>>>       >     >   private ContextUtils() {}
    >>>>       >     >
    >>>>       >     >   /**
    >>>>       >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
    >>>> used to
    >>>>       >     > interact with {@link
    >>>> org.apache.ratis.shaded.io.grpc.Context}.
    >>>>       >     >    *
    >>>>       >     >    * @since 0.5
    >>>>       >     >    */
    >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    >>>>       >     > Context.key("opencensus-trace-span-key");
    >>>>       >     > }
    >>>>       >     >
    >>>>       >     >
    >>>>       >     > Since we have added io.opencensus as direct dependency in
    >>>> ratis-grpc we
    >>>>       >     > get the below definition in io.opencensus:opencensus-api:jar
    >>>>       >     >
    >>>>       >     > package io.opencensus.trace.unsafe;
    >>>>       >     >
    >>>>       >     > import io.grpc.Context;
    >>>>       >     > import io.opencensus.trace.Span;
    >>>>       >     >
    >>>>       >     > /**
    >>>>       >     >  * Util methods/functionality to interact with the {@link
    >>>> io.grpc.Context}.
    >>>>       >     >  *
    >>>>       >     >  * <p>Users must interact with the current Context via the
    >>>> public APIs in
    >>>>       >     > {@link
    >>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
    >>>> {@link
    >>>>       >     > #CONTEXT_SPAN_KEY} directly.
    >>>>       >     >  *
    >>>>       >     >  * @since 0.5
    >>>>       >     >  */
    >>>>       >     > public final class ContextUtils {
    >>>>       >     >   // No instance of this class.
    >>>>       >     >   private ContextUtils() {}
    >>>>       >     >
    >>>>       >     >   /**
    >>>>       >     >    * The {@link io.grpc.Context.Key} used to interact with
    >>>> {@link
    >>>>       >     > io.grpc.Context}.
    >>>>       >     >    *
    >>>>       >     >    * @since 0.5
    >>>>       >     >    */
    >>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    >>>>       >     > Context.key("opencensus-trace-span-key");
    >>>>       >     > }
    >>>>       >     >
    >>>>       >     > Both of the jars end up in classpath and ContextUtils is
    >>>> getting loaded
    >>>>       >     > from io.opencensus:opencensus-api:jar which is causing the
    >>>> problem.
    >>>>       >     >
    >>>>       >     > The simple fix would be to remove the dependency of
    >>>> io.opencensus from
    >>>>       >     > ratis-grpc/pom.xml (patch for the same is attached in this
    >>>> mail). This is
    >>>>       >     > not a permanent fix, as any application might bring in
    >>>>       >     > io.opencensus:opencensus-api:jar of its own.
    >>>>       >     >
    >>>>       >     > We have to find a way to shade
    >>>> io.opencensus:opencensus-api:jar.
    >>>>       >     >
    >>>>       >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
    >>>> relocate
    >>>>       >     > io.opencensus due to AutoValue code generation
    >>>>       >     >
    >>>>       >     >
    >>>>       >     > -Nanda
    >>>>       >     >
    >>>>       >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
    >>>> wrote:
    >>>>       >     >
    >>>>       >     >     We found an issue while updating ozone to Ratis snapshot
    >>>> build
    >>>>       >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
    >>>>       >     > jira/browse/HDDS-19). I feel we should hold the release till
    >>>> this is
    >>>>       >     > fixed. Please let us know of your opinion as well.
    >>>>       >     >
    >>>>       >     >     Thanks
    >>>>       >     >     Lokesh
    >>>>       >     >
    >>>>       >     >
    >>>>       >     >
    >>>>       >     >
    >>>>       >
    >>>>       >
    >>>>
    >>>>
    >>>>
    >>
    
    


[DISCUSS] version of next release (was Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0))

Posted by "Elek, Marton" <el...@apache.org>.
All the issues are fixed now (Thanks Nanda, Tsz-Wo, Mukul)

The only open question is the version of the release (alpha vs non-alpha).

I think there are two kind of alpha releases:

1. Alpha as defined in the semantic versioning specification 
(https://semver.org/). Here the alpha is a pre-release version of the 
final release (0.2.0-alpha should be followed by an 0.2.0). This is the 
schema what is used by hadoop before hadoop 3.0 release.

2. The other alpha is just a label on every release to mark the current 
releases as not "production-ready". As I understood ratis had this kind 
of alpha label (there was a 0.1.0-alpha but not 0.1.0).


I prefer to follow the semantic versioning. And I can't see the benefit 
to release both 0.2.0 and 0.2.0-alpha. I think the current version is 
stable enough to get a final number and the 0 as the major version makes 
it clear that the project is in an early phase.

So I would use 0.2.0 as the next verison number (but not strongly 
against 0.2.0-alpha if this your preference).

What do you think?

Thanks,
Marton

On 05/08/2018 11:45 PM, Tsz Wo Sze wrote:
> Agree.  Let's fix #2 - #5 for now.
> 
> I have a comment on the release version: In the previous release, we
> called it 0.1.0-alpha.  How about we use 0.2.0-alpha for the next
> release?
> 
> Tsz-Wo
> 
> On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
>>
>> Hi,
>>
>> thank you the test and feedback for all of you.
>>
>> As a summary. The problems until now:
>>
>>   1. Unit test failures
>>   2. OpenConsensus shading problem: RATIS-237
>>   3. Copyright 2017
>>   4. Missing information about increasing MVN memory.
>>   5. Licence headers in shaded jar files
>>
>>
>>
>> 3/4: are not blockers (IMHO)
>>
>> 2: I think it's a blocker. As some of our unit tests are fragile and
>> intermittent (1.) Hadoop Ozone could give us additional confidence about the
>> stability of the release. Also we would like to provide a stable Ratis
>> version to Ozone, so they should work together.
>>
>> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
>> trival fixes).
>>
>> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
>> the shaded sources should not be included in the source distribution. I
>> think they are  just external dependencies similar to other maven
>> dependencies (just on the source level). I would fix it with removing the
>> src/main/java of the shaded project from the src release.
>>
>> 1. As I mentioned some of the unit tests seem to be fragile (see
>> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
>> think it's a blocker (but would be great to fix them long-term).
>>
>> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
>> (hopefully very soon).
>>
>> But this is just my view. Please let me know what do you think...
>>
>> Thanks a lot,
>> Marton
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
>>>
>>> Thanks Nanda for the explanation.
>>>
>>> I seem able to fix the io.opencensus shading problem.  Just have
>>> posted a patch on RATIS-237.
>>>
>>> Tsz-Wo
>>>
>>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
>>> <nv...@hortonworks.com> wrote:
>>>>
>>>> Hi Tsz-Wo,
>>>>
>>>> True, there is only one version of opencensus in Ratis. Since we do
>>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
>>>> fully qualified class name, but the reference of io.grpc inside the class is
>>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
>>>> through Ratis dependency.
>>>>
>>>> The below is dependency tree of Ratis:
>>>>
>>>> [INFO] +-
>>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
>>>> =========> Modified opencensus packed with proto-shaded
>>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
>>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
>>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
>>>> [INFO] |  |  +-
>>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
>>>> [INFO] |  |  +-
>>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
>>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
>>>> [INFO] |  |  \-
>>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
>>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
>>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
>>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
>>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
>>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
>>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
>>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
>>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
>>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
>>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
>>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
>>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
>>>> =========> Original jar
>>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
>>>> [INFO]    \-
>>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
>>>>
>>>>
>>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
>>>> Compiled from "ContextUtils.java"
>>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>>>     public static final io.grpc.Context$Key<io.opencensus.trace.Span>
>>>> CONTEXT_SPAN_KEY;
>>>>     static {};
>>>> }
>>>>
>>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
>>>> io.opencensus.trace.unsafe.ContextUtils
>>>> Compiled from "ContextUtils.java"
>>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>>>     public static final
>>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
>>>> CONTEXT_SPAN_KEY;
>>>>     static {};
>>>> }
>>>>
>>>>
>>>> -Nanda
>>>>
>>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
>>>>
>>>>       > The problem is because of two different definition of
>>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
>>>> reason for having two different definition of ContextUtils in classpath is
>>>> due to the fact that we are shading/relocating io.grpc and not
>>>> io.opencensus.
>>>>
>>>>       Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
>>>> It
>>>>       seems that another version of opencensus is pulled outside Ratis.
>>>>
>>>>       Tsz-Wo
>>>>
>>>>
>>>>       On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
>>>>       <nv...@hortonworks.com> wrote:
>>>>       > I'm not sure why the file is missing, I can see the attachment in
>>>> my "sent items".
>>>>       >
>>>>       > Patch content for reference
>>>>       >
>>>>       > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
>>>>       > index a3c3cc1..ebb73cc 100644
>>>>       > --- a/ratis-grpc/pom.xml
>>>>       > +++ b/ratis-grpc/pom.xml
>>>>       > @@ -85,15 +85,5 @@
>>>>       >        <artifactId>jctools-core</artifactId>
>>>>       >      </dependency>
>>>>       >
>>>>       > -    <dependency>
>>>>       > -      <groupId>io.opencensus</groupId>
>>>>       > -      <artifactId>opencensus-api</artifactId>
>>>>       > -      <version>${io.opencensus.version}</version>
>>>>       > -    </dependency>
>>>>       > -    <dependency>
>>>>       > -      <groupId>io.opencensus</groupId>
>>>>       > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
>>>>       > -      <version>${io.opencensus.version}</version>
>>>>       > -    </dependency>
>>>>       >    </dependencies>
>>>>       >  </project>
>>>>       >
>>>>       > I will also create a jira under RATIS
>>>>       >
>>>>       > -Nanda
>>>>       >
>>>>       > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>>>>       >
>>>>       >     I don't see patch attached.
>>>>       >
>>>>       >     Please create RATIS JIRA and attach there.
>>>>       >
>>>>       >     Thanks
>>>>       >
>>>>       >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>>>>       >     nvadivelu@hortonworks.com> wrote:
>>>>       >
>>>>       >     > Hi All,
>>>>       >     >
>>>>       >     > Below is the exception which we get with Ratis 0.2.0
>>>>       >     >
>>>>       >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>>>>       >     >   at
>>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>>>>       >     > ServerTracer.filterContext(CensusTracingModule.java:340)
>>>>       >     >   at
>>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>>>>       >     > serverFilterContext(StatsTraceContext.java:121)
>>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>>>       >     >
>>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>>>>       >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>>>       >     >
>>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>>>>       >     > <stack trace truncated>
>>>>       >     >
>>>>       >     >
>>>>       >     > The problem is because of two different definition of
>>>>       >     > io.opencensus.trace.unsafe.ContextUtils class present in the
>>>> classpath.
>>>>       >     > The reason for having two different definition of
>>>> ContextUtils in classpath
>>>>       >     > is due to the fact that we are shading/relocating io.grpc
>>>> and not
>>>>       >     > io.opencensus.
>>>>       >     >
>>>>       >     >
>>>>       >     > With shading we are generating the below definition which
>>>> ends up in
>>>>       >     > ratis-proto-shaded jar
>>>>       >     >
>>>>       >     > package io.opencensus.trace.unsafe;
>>>>       >     >
>>>>       >     > import org.apache.ratis.shaded.io.grpc.Context;
>>>>       >     > import io.opencensus.trace.Span;
>>>>       >     >
>>>>       >     > /**
>>>>       >     >  * Util methods/functionality to interact with the {@link
>>>>       >     > org.apache.ratis.shaded.io.grpc.Context}.
>>>>       >     >  *
>>>>       >     >  * <p>Users must interact with the current Context via the
>>>> public APIs in
>>>>       >     > {@link
>>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>>>> {@link
>>>>       >     > #CONTEXT_SPAN_KEY} directly.
>>>>       >     >  *
>>>>       >     >  * @since 0.5
>>>>       >     >  */
>>>>       >     > public final class ContextUtils {
>>>>       >     >   // No instance of this class.
>>>>       >     >   private ContextUtils() {}
>>>>       >     >
>>>>       >     >   /**
>>>>       >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
>>>> used to
>>>>       >     > interact with {@link
>>>> org.apache.ratis.shaded.io.grpc.Context}.
>>>>       >     >    *
>>>>       >     >    * @since 0.5
>>>>       >     >    */
>>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>>>       >     > Context.key("opencensus-trace-span-key");
>>>>       >     > }
>>>>       >     >
>>>>       >     >
>>>>       >     > Since we have added io.opencensus as direct dependency in
>>>> ratis-grpc we
>>>>       >     > get the below definition in io.opencensus:opencensus-api:jar
>>>>       >     >
>>>>       >     > package io.opencensus.trace.unsafe;
>>>>       >     >
>>>>       >     > import io.grpc.Context;
>>>>       >     > import io.opencensus.trace.Span;
>>>>       >     >
>>>>       >     > /**
>>>>       >     >  * Util methods/functionality to interact with the {@link
>>>> io.grpc.Context}.
>>>>       >     >  *
>>>>       >     >  * <p>Users must interact with the current Context via the
>>>> public APIs in
>>>>       >     > {@link
>>>>       >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>>>> {@link
>>>>       >     > #CONTEXT_SPAN_KEY} directly.
>>>>       >     >  *
>>>>       >     >  * @since 0.5
>>>>       >     >  */
>>>>       >     > public final class ContextUtils {
>>>>       >     >   // No instance of this class.
>>>>       >     >   private ContextUtils() {}
>>>>       >     >
>>>>       >     >   /**
>>>>       >     >    * The {@link io.grpc.Context.Key} used to interact with
>>>> {@link
>>>>       >     > io.grpc.Context}.
>>>>       >     >    *
>>>>       >     >    * @since 0.5
>>>>       >     >    */
>>>>       >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>>>       >     > Context.key("opencensus-trace-span-key");
>>>>       >     > }
>>>>       >     >
>>>>       >     > Both of the jars end up in classpath and ContextUtils is
>>>> getting loaded
>>>>       >     > from io.opencensus:opencensus-api:jar which is causing the
>>>> problem.
>>>>       >     >
>>>>       >     > The simple fix would be to remove the dependency of
>>>> io.opencensus from
>>>>       >     > ratis-grpc/pom.xml (patch for the same is attached in this
>>>> mail). This is
>>>>       >     > not a permanent fix, as any application might bring in
>>>>       >     > io.opencensus:opencensus-api:jar of its own.
>>>>       >     >
>>>>       >     > We have to find a way to shade
>>>> io.opencensus:opencensus-api:jar.
>>>>       >     >
>>>>       >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
>>>> relocate
>>>>       >     > io.opencensus due to AutoValue code generation
>>>>       >     >
>>>>       >     >
>>>>       >     > -Nanda
>>>>       >     >
>>>>       >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
>>>> wrote:
>>>>       >     >
>>>>       >     >     We found an issue while updating ozone to Ratis snapshot
>>>> build
>>>>       >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>>>>       >     > jira/browse/HDDS-19). I feel we should hold the release till
>>>> this is
>>>>       >     > fixed. Please let us know of your opinion as well.
>>>>       >     >
>>>>       >     >     Thanks
>>>>       >     >     Lokesh
>>>>       >     >
>>>>       >     >
>>>>       >     >
>>>>       >     >
>>>>       >
>>>>       >
>>>>
>>>>
>>>>
>>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Tsz Wo Sze <sz...@gmail.com>.
Agree.  Let's fix #2 - #5 for now.

I have a comment on the release version: In the previous release, we
called it 0.1.0-alpha.  How about we use 0.2.0-alpha for the next
release?

Tsz-Wo

On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
>
> Hi,
>
> thank you the test and feedback for all of you.
>
> As a summary. The problems until now:
>
>  1. Unit test failures
>  2. OpenConsensus shading problem: RATIS-237
>  3. Copyright 2017
>  4. Missing information about increasing MVN memory.
>  5. Licence headers in shaded jar files
>
>
>
> 3/4: are not blockers (IMHO)
>
> 2: I think it's a blocker. As some of our unit tests are fragile and
> intermittent (1.) Hadoop Ozone could give us additional confidence about the
> stability of the release. Also we would like to provide a stable Ratis
> version to Ozone, so they should work together.
>
> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
> trival fixes).
>
> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
> the shaded sources should not be included in the source distribution. I
> think they are  just external dependencies similar to other maven
> dependencies (just on the source level). I would fix it with removing the
> src/main/java of the shaded project from the src release.
>
> 1. As I mentioned some of the unit tests seem to be fragile (see
> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
> think it's a blocker (but would be great to fix them long-term).
>
> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
> (hopefully very soon).
>
> But this is just my view. Please let me know what do you think...
>
> Thanks a lot,
> Marton
>
>
>
>
>
>
>
>
>
> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
>>
>> Thanks Nanda for the explanation.
>>
>> I seem able to fix the io.opencensus shading problem.  Just have
>> posted a patch on RATIS-237.
>>
>> Tsz-Wo
>>
>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
>> <nv...@hortonworks.com> wrote:
>>>
>>> Hi Tsz-Wo,
>>>
>>> True, there is only one version of opencensus in Ratis. Since we do
>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
>>> fully qualified class name, but the reference of io.grpc inside the class is
>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
>>> through Ratis dependency.
>>>
>>> The below is dependency tree of Ratis:
>>>
>>> [INFO] +-
>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
>>> =========> Modified opencensus packed with proto-shaded
>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
>>> [INFO] |  |  +-
>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
>>> [INFO] |  |  +-
>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
>>> [INFO] |  |  \-
>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
>>> =========> Original jar
>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
>>> [INFO]    \-
>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
>>>
>>>
>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
>>> Compiled from "ContextUtils.java"
>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>>    public static final io.grpc.Context$Key<io.opencensus.trace.Span>
>>> CONTEXT_SPAN_KEY;
>>>    static {};
>>> }
>>>
>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
>>> io.opencensus.trace.unsafe.ContextUtils
>>> Compiled from "ContextUtils.java"
>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>>    public static final
>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
>>> CONTEXT_SPAN_KEY;
>>>    static {};
>>> }
>>>
>>>
>>> -Nanda
>>>
>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
>>>
>>>      > The problem is because of two different definition of
>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
>>> reason for having two different definition of ContextUtils in classpath is
>>> due to the fact that we are shading/relocating io.grpc and not
>>> io.opencensus.
>>>
>>>      Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
>>> It
>>>      seems that another version of opencensus is pulled outside Ratis.
>>>
>>>      Tsz-Wo
>>>
>>>
>>>      On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
>>>      <nv...@hortonworks.com> wrote:
>>>      > I'm not sure why the file is missing, I can see the attachment in
>>> my "sent items".
>>>      >
>>>      > Patch content for reference
>>>      >
>>>      > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
>>>      > index a3c3cc1..ebb73cc 100644
>>>      > --- a/ratis-grpc/pom.xml
>>>      > +++ b/ratis-grpc/pom.xml
>>>      > @@ -85,15 +85,5 @@
>>>      >        <artifactId>jctools-core</artifactId>
>>>      >      </dependency>
>>>      >
>>>      > -    <dependency>
>>>      > -      <groupId>io.opencensus</groupId>
>>>      > -      <artifactId>opencensus-api</artifactId>
>>>      > -      <version>${io.opencensus.version}</version>
>>>      > -    </dependency>
>>>      > -    <dependency>
>>>      > -      <groupId>io.opencensus</groupId>
>>>      > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
>>>      > -      <version>${io.opencensus.version}</version>
>>>      > -    </dependency>
>>>      >    </dependencies>
>>>      >  </project>
>>>      >
>>>      > I will also create a jira under RATIS
>>>      >
>>>      > -Nanda
>>>      >
>>>      > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>>>      >
>>>      >     I don't see patch attached.
>>>      >
>>>      >     Please create RATIS JIRA and attach there.
>>>      >
>>>      >     Thanks
>>>      >
>>>      >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>>>      >     nvadivelu@hortonworks.com> wrote:
>>>      >
>>>      >     > Hi All,
>>>      >     >
>>>      >     > Below is the exception which we get with Ratis 0.2.0
>>>      >     >
>>>      >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>>>      >     >   at
>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>>>      >     > ServerTracer.filterContext(CensusTracingModule.java:340)
>>>      >     >   at
>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>>>      >     > serverFilterContext(StatsTraceContext.java:121)
>>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>>      >     >
>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>>      >     >
>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>>>      >     > <stack trace truncated>
>>>      >     >
>>>      >     >
>>>      >     > The problem is because of two different definition of
>>>      >     > io.opencensus.trace.unsafe.ContextUtils class present in the
>>> classpath.
>>>      >     > The reason for having two different definition of
>>> ContextUtils in classpath
>>>      >     > is due to the fact that we are shading/relocating io.grpc
>>> and not
>>>      >     > io.opencensus.
>>>      >     >
>>>      >     >
>>>      >     > With shading we are generating the below definition which
>>> ends up in
>>>      >     > ratis-proto-shaded jar
>>>      >     >
>>>      >     > package io.opencensus.trace.unsafe;
>>>      >     >
>>>      >     > import org.apache.ratis.shaded.io.grpc.Context;
>>>      >     > import io.opencensus.trace.Span;
>>>      >     >
>>>      >     > /**
>>>      >     >  * Util methods/functionality to interact with the {@link
>>>      >     > org.apache.ratis.shaded.io.grpc.Context}.
>>>      >     >  *
>>>      >     >  * <p>Users must interact with the current Context via the
>>> public APIs in
>>>      >     > {@link
>>>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>>> {@link
>>>      >     > #CONTEXT_SPAN_KEY} directly.
>>>      >     >  *
>>>      >     >  * @since 0.5
>>>      >     >  */
>>>      >     > public final class ContextUtils {
>>>      >     >   // No instance of this class.
>>>      >     >   private ContextUtils() {}
>>>      >     >
>>>      >     >   /**
>>>      >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
>>> used to
>>>      >     > interact with {@link
>>> org.apache.ratis.shaded.io.grpc.Context}.
>>>      >     >    *
>>>      >     >    * @since 0.5
>>>      >     >    */
>>>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>>      >     > Context.key("opencensus-trace-span-key");
>>>      >     > }
>>>      >     >
>>>      >     >
>>>      >     > Since we have added io.opencensus as direct dependency in
>>> ratis-grpc we
>>>      >     > get the below definition in io.opencensus:opencensus-api:jar
>>>      >     >
>>>      >     > package io.opencensus.trace.unsafe;
>>>      >     >
>>>      >     > import io.grpc.Context;
>>>      >     > import io.opencensus.trace.Span;
>>>      >     >
>>>      >     > /**
>>>      >     >  * Util methods/functionality to interact with the {@link
>>> io.grpc.Context}.
>>>      >     >  *
>>>      >     >  * <p>Users must interact with the current Context via the
>>> public APIs in
>>>      >     > {@link
>>>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>>> {@link
>>>      >     > #CONTEXT_SPAN_KEY} directly.
>>>      >     >  *
>>>      >     >  * @since 0.5
>>>      >     >  */
>>>      >     > public final class ContextUtils {
>>>      >     >   // No instance of this class.
>>>      >     >   private ContextUtils() {}
>>>      >     >
>>>      >     >   /**
>>>      >     >    * The {@link io.grpc.Context.Key} used to interact with
>>> {@link
>>>      >     > io.grpc.Context}.
>>>      >     >    *
>>>      >     >    * @since 0.5
>>>      >     >    */
>>>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>>      >     > Context.key("opencensus-trace-span-key");
>>>      >     > }
>>>      >     >
>>>      >     > Both of the jars end up in classpath and ContextUtils is
>>> getting loaded
>>>      >     > from io.opencensus:opencensus-api:jar which is causing the
>>> problem.
>>>      >     >
>>>      >     > The simple fix would be to remove the dependency of
>>> io.opencensus from
>>>      >     > ratis-grpc/pom.xml (patch for the same is attached in this
>>> mail). This is
>>>      >     > not a permanent fix, as any application might bring in
>>>      >     > io.opencensus:opencensus-api:jar of its own.
>>>      >     >
>>>      >     > We have to find a way to shade
>>> io.opencensus:opencensus-api:jar.
>>>      >     >
>>>      >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
>>> relocate
>>>      >     > io.opencensus due to AutoValue code generation
>>>      >     >
>>>      >     >
>>>      >     > -Nanda
>>>      >     >
>>>      >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
>>> wrote:
>>>      >     >
>>>      >     >     We found an issue while updating ozone to Ratis snapshot
>>> build
>>>      >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>>>      >     > jira/browse/HDDS-19). I feel we should hold the release till
>>> this is
>>>      >     > fixed. Please let us know of your opinion as well.
>>>      >     >
>>>      >     >     Thanks
>>>      >     >     Lokesh
>>>      >     >
>>>      >     >
>>>      >     >
>>>      >     >
>>>      >
>>>      >
>>>
>>>
>>>
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Tsz Wo Sze <sz...@gmail.com>.
> 4. Missing information about increasing MVN memory.

We could add the memory requirement in pom.  I added the following in
RATIS-237.  It seems working.

./pom.xml
+              <meminitial>2048m</meminitial>
+              <maxmem>4096m</maxmem>

Tsz-Wo


On Tue, May 8, 2018 at 2:16 PM, Elek, Marton <el...@apache.org> wrote:
>
> Hi,
>
> thank you the test and feedback for all of you.
>
> As a summary. The problems until now:
>
>  1. Unit test failures
>  2. OpenConsensus shading problem: RATIS-237
>  3. Copyright 2017
>  4. Missing information about increasing MVN memory.
>  5. Licence headers in shaded jar files
>
>
>
> 3/4: are not blockers (IMHO)
>
> 2: I think it's a blocker. As some of our unit tests are fragile and
> intermittent (1.) Hadoop Ozone could give us additional confidence about the
> stability of the release. Also we would like to provide a stable Ratis
> version to Ozone, so they should work together.
>
> I would cancel this vote. And initialize a new one with RATIS-237 (+ the
> trival fixes).
>
> 5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I think
> the shaded sources should not be included in the source distribution. I
> think they are  just external dependencies similar to other maven
> dependencies (just on the source level). I would fix it with removing the
> src/main/java of the shaded project from the src release.
>
> 1. As I mentioned some of the unit tests seem to be fragile (see
> https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I don't
> think it's a blocker (but would be great to fix them long-term).
>
> Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in rc1
> (hopefully very soon).
>
> But this is just my view. Please let me know what do you think...
>
> Thanks a lot,
> Marton
>
>
>
>
>
>
>
>
>
> On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
>>
>> Thanks Nanda for the explanation.
>>
>> I seem able to fix the io.opencensus shading problem.  Just have
>> posted a patch on RATIS-237.
>>
>> Tsz-Wo
>>
>> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
>> <nv...@hortonworks.com> wrote:
>>>
>>> Hi Tsz-Wo,
>>>
>>> True, there is only one version of opencensus in Ratis. Since we do
>>> shading of io.grpc we end up with new shaded class of ContextUtils (same
>>> fully qualified class name, but the reference of io.grpc inside the class is
>>> modified/relocated), we also have non shaded ContextUtils. Both are referred
>>> through Ratis dependency.
>>>
>>> The below is dependency tree of Ratis:
>>>
>>> [INFO] +-
>>> org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile
>>> =========> Modified opencensus packed with proto-shaded
>>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
>>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
>>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
>>> [INFO] |  |  +-
>>> org.checkerframework:checker-compat-qual:jar:2.0.0:compile
>>> [INFO] |  |  +-
>>> com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
>>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
>>> [INFO] |  |  \-
>>> org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
>>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
>>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
>>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
>>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
>>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
>>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
>>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
>>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile
>>> =========> Original jar
>>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
>>> [INFO]    \-
>>> io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
>>>
>>>
>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>>> ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
>>> Compiled from "ContextUtils.java"
>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>>    public static final io.grpc.Context$Key<io.opencensus.trace.Span>
>>> CONTEXT_SPAN_KEY;
>>>    static {};
>>> }
>>>
>>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath
>>> ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar"
>>> io.opencensus.trace.unsafe.ContextUtils
>>> Compiled from "ContextUtils.java"
>>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>>    public static final
>>> org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span>
>>> CONTEXT_SPAN_KEY;
>>>    static {};
>>> }
>>>
>>>
>>> -Nanda
>>>
>>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
>>>
>>>      > The problem is because of two different definition of
>>> io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The
>>> reason for having two different definition of ContextUtils in classpath is
>>> due to the fact that we are shading/relocating io.grpc and not
>>> io.opencensus.
>>>
>>>      Nanda, in Ratis, there is only one version (0.12.2) of opencensus.
>>> It
>>>      seems that another version of opencensus is pulled outside Ratis.
>>>
>>>      Tsz-Wo
>>>
>>>
>>>      On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
>>>      <nv...@hortonworks.com> wrote:
>>>      > I'm not sure why the file is missing, I can see the attachment in
>>> my "sent items".
>>>      >
>>>      > Patch content for reference
>>>      >
>>>      > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
>>>      > index a3c3cc1..ebb73cc 100644
>>>      > --- a/ratis-grpc/pom.xml
>>>      > +++ b/ratis-grpc/pom.xml
>>>      > @@ -85,15 +85,5 @@
>>>      >        <artifactId>jctools-core</artifactId>
>>>      >      </dependency>
>>>      >
>>>      > -    <dependency>
>>>      > -      <groupId>io.opencensus</groupId>
>>>      > -      <artifactId>opencensus-api</artifactId>
>>>      > -      <version>${io.opencensus.version}</version>
>>>      > -    </dependency>
>>>      > -    <dependency>
>>>      > -      <groupId>io.opencensus</groupId>
>>>      > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
>>>      > -      <version>${io.opencensus.version}</version>
>>>      > -    </dependency>
>>>      >    </dependencies>
>>>      >  </project>
>>>      >
>>>      > I will also create a jira under RATIS
>>>      >
>>>      > -Nanda
>>>      >
>>>      > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>>>      >
>>>      >     I don't see patch attached.
>>>      >
>>>      >     Please create RATIS JIRA and attach there.
>>>      >
>>>      >     Thanks
>>>      >
>>>      >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>>>      >     nvadivelu@hortonworks.com> wrote:
>>>      >
>>>      >     > Hi All,
>>>      >     >
>>>      >     > Below is the exception which we get with Ratis 0.2.0
>>>      >     >
>>>      >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>>>      >     >   at
>>> org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>>>      >     > ServerTracer.filterContext(CensusTracingModule.java:340)
>>>      >     >   at
>>> org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>>>      >     > serverFilterContext(StatsTraceContext.java:121)
>>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>>      >     >
>>> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>>      >     >
>>> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>>>      >     > <stack trace truncated>
>>>      >     >
>>>      >     >
>>>      >     > The problem is because of two different definition of
>>>      >     > io.opencensus.trace.unsafe.ContextUtils class present in the
>>> classpath.
>>>      >     > The reason for having two different definition of
>>> ContextUtils in classpath
>>>      >     > is due to the fact that we are shading/relocating io.grpc
>>> and not
>>>      >     > io.opencensus.
>>>      >     >
>>>      >     >
>>>      >     > With shading we are generating the below definition which
>>> ends up in
>>>      >     > ratis-proto-shaded jar
>>>      >     >
>>>      >     > package io.opencensus.trace.unsafe;
>>>      >     >
>>>      >     > import org.apache.ratis.shaded.io.grpc.Context;
>>>      >     > import io.opencensus.trace.Span;
>>>      >     >
>>>      >     > /**
>>>      >     >  * Util methods/functionality to interact with the {@link
>>>      >     > org.apache.ratis.shaded.io.grpc.Context}.
>>>      >     >  *
>>>      >     >  * <p>Users must interact with the current Context via the
>>> public APIs in
>>>      >     > {@link
>>>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>>> {@link
>>>      >     > #CONTEXT_SPAN_KEY} directly.
>>>      >     >  *
>>>      >     >  * @since 0.5
>>>      >     >  */
>>>      >     > public final class ContextUtils {
>>>      >     >   // No instance of this class.
>>>      >     >   private ContextUtils() {}
>>>      >     >
>>>      >     >   /**
>>>      >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key}
>>> used to
>>>      >     > interact with {@link
>>> org.apache.ratis.shaded.io.grpc.Context}.
>>>      >     >    *
>>>      >     >    * @since 0.5
>>>      >     >    */
>>>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>>      >     > Context.key("opencensus-trace-span-key");
>>>      >     > }
>>>      >     >
>>>      >     >
>>>      >     > Since we have added io.opencensus as direct dependency in
>>> ratis-grpc we
>>>      >     > get the below definition in io.opencensus:opencensus-api:jar
>>>      >     >
>>>      >     > package io.opencensus.trace.unsafe;
>>>      >     >
>>>      >     > import io.grpc.Context;
>>>      >     > import io.opencensus.trace.Span;
>>>      >     >
>>>      >     > /**
>>>      >     >  * Util methods/functionality to interact with the {@link
>>> io.grpc.Context}.
>>>      >     >  *
>>>      >     >  * <p>Users must interact with the current Context via the
>>> public APIs in
>>>      >     > {@link
>>>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the
>>> {@link
>>>      >     > #CONTEXT_SPAN_KEY} directly.
>>>      >     >  *
>>>      >     >  * @since 0.5
>>>      >     >  */
>>>      >     > public final class ContextUtils {
>>>      >     >   // No instance of this class.
>>>      >     >   private ContextUtils() {}
>>>      >     >
>>>      >     >   /**
>>>      >     >    * The {@link io.grpc.Context.Key} used to interact with
>>> {@link
>>>      >     > io.grpc.Context}.
>>>      >     >    *
>>>      >     >    * @since 0.5
>>>      >     >    */
>>>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>>      >     > Context.key("opencensus-trace-span-key");
>>>      >     > }
>>>      >     >
>>>      >     > Both of the jars end up in classpath and ContextUtils is
>>> getting loaded
>>>      >     > from io.opencensus:opencensus-api:jar which is causing the
>>> problem.
>>>      >     >
>>>      >     > The simple fix would be to remove the dependency of
>>> io.opencensus from
>>>      >     > ratis-grpc/pom.xml (patch for the same is attached in this
>>> mail). This is
>>>      >     > not a permanent fix, as any application might bring in
>>>      >     > io.opencensus:opencensus-api:jar of its own.
>>>      >     >
>>>      >     > We have to find a way to shade
>>> io.opencensus:opencensus-api:jar.
>>>      >     >
>>>      >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot
>>> relocate
>>>      >     > io.opencensus due to AutoValue code generation
>>>      >     >
>>>      >     >
>>>      >     > -Nanda
>>>      >     >
>>>      >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com>
>>> wrote:
>>>      >     >
>>>      >     >     We found an issue while updating ozone to Ratis snapshot
>>> build
>>>      >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>>>      >     > jira/browse/HDDS-19). I feel we should hold the release till
>>> this is
>>>      >     > fixed. Please let us know of your opinion as well.
>>>      >     >
>>>      >     >     Thanks
>>>      >     >     Lokesh
>>>      >     >
>>>      >     >
>>>      >     >
>>>      >     >
>>>      >
>>>      >
>>>
>>>
>>>
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Anu Engineer <ae...@hortonworks.com>.
+1 on cancelling the vote and flowing thru with new vote one these issues are fixed.
From ozone perspective, we can take the Ratis bits and run a full cluster level test and provide feedback on the next RC.

Thanks
Anu


On 5/8/18, 2:16 PM, "Elek, Marton" <el...@apache.org> wrote:

    
    Hi,
    
    thank you the test and feedback for all of you.
    
    As a summary. The problems until now:
    
      1. Unit test failures
      2. OpenConsensus shading problem: RATIS-237
      3. Copyright 2017
      4. Missing information about increasing MVN memory.
      5. Licence headers in shaded jar files
    
    
    
    3/4: are not blockers (IMHO)
    
    2: I think it's a blocker. As some of our unit tests are fragile and 
    intermittent (1.) Hadoop Ozone could give us additional confidence about 
    the stability of the release. Also we would like to provide a stable 
    Ratis version to Ozone, so they should work together.
    
    I would cancel this vote. And initialize a new one with RATIS-237 (+ the 
    trival fixes).
    
    5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I 
    think the shaded sources should not be included in the source 
    distribution. I think they are  just external dependencies similar to 
    other maven dependencies (just on the source level). I would fix it with 
    removing the src/main/java of the shaded project from the src release.
    
    1. As I mentioned some of the unit tests seem to be fragile (see 
    https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I 
    don't think it's a blocker (but would be great to fix them long-term).
    
    Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in 
    rc1 (hopefully very soon).
    
    But this is just my view. Please let me know what do you think...
    
    Thanks a lot,
    Marton
    
    
    
    
    
    
    
    
    On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
    > Thanks Nanda for the explanation.
    > 
    > I seem able to fix the io.opencensus shading problem.  Just have
    > posted a patch on RATIS-237.
    > 
    > Tsz-Wo
    > 
    > On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
    > <nv...@hortonworks.com> wrote:
    >> Hi Tsz-Wo,
    >>
    >> True, there is only one version of opencensus in Ratis. Since we do shading of io.grpc we end up with new shaded class of ContextUtils (same fully qualified class name, but the reference of io.grpc inside the class is modified/relocated), we also have non shaded ContextUtils. Both are referred through Ratis dependency.
    >>
    >> The below is dependency tree of Ratis:
    >>
    >> [INFO] +- org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile            =========> Modified opencensus packed with proto-shaded
    >> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
    >> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
    >> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
    >> [INFO] |  |  +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile
    >> [INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
    >> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
    >> [INFO] |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
    >> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
    >> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
    >> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
    >> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
    >> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
    >> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
    >> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
    >> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
    >> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
    >> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
    >> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
    >> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile                            =========> Original jar
    >> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
    >> [INFO]    \- io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
    >>
    >>
    >> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
    >> Compiled from "ContextUtils.java"
    >> public final class io.opencensus.trace.unsafe.ContextUtils {
    >>    public static final io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
    >>    static {};
    >> }
    >>
    >> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar" io.opencensus.trace.unsafe.ContextUtils
    >> Compiled from "ContextUtils.java"
    >> public final class io.opencensus.trace.unsafe.ContextUtils {
    >>    public static final org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
    >>    static {};
    >> }
    >>
    >>
    >> -Nanda
    >>
    >> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
    >>
    >>      > The problem is because of two different definition of io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The reason for having two different definition of ContextUtils in classpath is due to the fact that we are shading/relocating io.grpc and not io.opencensus.
    >>
    >>      Nanda, in Ratis, there is only one version (0.12.2) of opencensus.  It
    >>      seems that another version of opencensus is pulled outside Ratis.
    >>
    >>      Tsz-Wo
    >>
    >>
    >>      On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
    >>      <nv...@hortonworks.com> wrote:
    >>      > I'm not sure why the file is missing, I can see the attachment in my "sent items".
    >>      >
    >>      > Patch content for reference
    >>      >
    >>      > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
    >>      > index a3c3cc1..ebb73cc 100644
    >>      > --- a/ratis-grpc/pom.xml
    >>      > +++ b/ratis-grpc/pom.xml
    >>      > @@ -85,15 +85,5 @@
    >>      >        <artifactId>jctools-core</artifactId>
    >>      >      </dependency>
    >>      >
    >>      > -    <dependency>
    >>      > -      <groupId>io.opencensus</groupId>
    >>      > -      <artifactId>opencensus-api</artifactId>
    >>      > -      <version>${io.opencensus.version}</version>
    >>      > -    </dependency>
    >>      > -    <dependency>
    >>      > -      <groupId>io.opencensus</groupId>
    >>      > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
    >>      > -      <version>${io.opencensus.version}</version>
    >>      > -    </dependency>
    >>      >    </dependencies>
    >>      >  </project>
    >>      >
    >>      > I will also create a jira under RATIS
    >>      >
    >>      > -Nanda
    >>      >
    >>      > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
    >>      >
    >>      >     I don't see patch attached.
    >>      >
    >>      >     Please create RATIS JIRA and attach there.
    >>      >
    >>      >     Thanks
    >>      >
    >>      >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
    >>      >     nvadivelu@hortonworks.com> wrote:
    >>      >
    >>      >     > Hi All,
    >>      >     >
    >>      >     > Below is the exception which we get with Ratis 0.2.0
    >>      >     >
    >>      >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
    >>      >     >   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
    >>      >     > ServerTracer.filterContext(CensusTracingModule.java:340)
    >>      >     >   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
    >>      >     > serverFilterContext(StatsTraceContext.java:121)
    >>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    >>      >     > ServerTransportListenerImpl.createContext(ServerImpl.java:482)
    >>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    >>      >     > ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
    >>      >     > <stack trace truncated>
    >>      >     >
    >>      >     >
    >>      >     > The problem is because of two different definition of
    >>      >     > io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
    >>      >     > The reason for having two different definition of ContextUtils in classpath
    >>      >     > is due to the fact that we are shading/relocating io.grpc and not
    >>      >     > io.opencensus.
    >>      >     >
    >>      >     >
    >>      >     > With shading we are generating the below definition which ends up in
    >>      >     > ratis-proto-shaded jar
    >>      >     >
    >>      >     > package io.opencensus.trace.unsafe;
    >>      >     >
    >>      >     > import org.apache.ratis.shaded.io.grpc.Context;
    >>      >     > import io.opencensus.trace.Span;
    >>      >     >
    >>      >     > /**
    >>      >     >  * Util methods/functionality to interact with the {@link
    >>      >     > org.apache.ratis.shaded.io.grpc.Context}.
    >>      >     >  *
    >>      >     >  * <p>Users must interact with the current Context via the public APIs in
    >>      >     > {@link
    >>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
    >>      >     > #CONTEXT_SPAN_KEY} directly.
    >>      >     >  *
    >>      >     >  * @since 0.5
    >>      >     >  */
    >>      >     > public final class ContextUtils {
    >>      >     >   // No instance of this class.
    >>      >     >   private ContextUtils() {}
    >>      >     >
    >>      >     >   /**
    >>      >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
    >>      >     > interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
    >>      >     >    *
    >>      >     >    * @since 0.5
    >>      >     >    */
    >>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    >>      >     > Context.key("opencensus-trace-span-key");
    >>      >     > }
    >>      >     >
    >>      >     >
    >>      >     > Since we have added io.opencensus as direct dependency in ratis-grpc we
    >>      >     > get the below definition in io.opencensus:opencensus-api:jar
    >>      >     >
    >>      >     > package io.opencensus.trace.unsafe;
    >>      >     >
    >>      >     > import io.grpc.Context;
    >>      >     > import io.opencensus.trace.Span;
    >>      >     >
    >>      >     > /**
    >>      >     >  * Util methods/functionality to interact with the {@link io.grpc.Context}.
    >>      >     >  *
    >>      >     >  * <p>Users must interact with the current Context via the public APIs in
    >>      >     > {@link
    >>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
    >>      >     > #CONTEXT_SPAN_KEY} directly.
    >>      >     >  *
    >>      >     >  * @since 0.5
    >>      >     >  */
    >>      >     > public final class ContextUtils {
    >>      >     >   // No instance of this class.
    >>      >     >   private ContextUtils() {}
    >>      >     >
    >>      >     >   /**
    >>      >     >    * The {@link io.grpc.Context.Key} used to interact with {@link
    >>      >     > io.grpc.Context}.
    >>      >     >    *
    >>      >     >    * @since 0.5
    >>      >     >    */
    >>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    >>      >     > Context.key("opencensus-trace-span-key");
    >>      >     > }
    >>      >     >
    >>      >     > Both of the jars end up in classpath and ContextUtils is getting loaded
    >>      >     > from io.opencensus:opencensus-api:jar which is causing the problem.
    >>      >     >
    >>      >     > The simple fix would be to remove the dependency of io.opencensus from
    >>      >     > ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
    >>      >     > not a permanent fix, as any application might bring in
    >>      >     > io.opencensus:opencensus-api:jar of its own.
    >>      >     >
    >>      >     > We have to find a way to shade io.opencensus:opencensus-api:jar.
    >>      >     >
    >>      >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
    >>      >     > io.opencensus due to AutoValue code generation
    >>      >     >
    >>      >     >
    >>      >     > -Nanda
    >>      >     >
    >>      >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
    >>      >     >
    >>      >     >     We found an issue while updating ozone to Ratis snapshot build
    >>      >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
    >>      >     > jira/browse/HDDS-19). I feel we should hold the release till this is
    >>      >     > fixed. Please let us know of your opinion as well.
    >>      >     >
    >>      >     >     Thanks
    >>      >     >     Lokesh
    >>      >     >
    >>      >     >
    >>      >     >
    >>      >     >
    >>      >
    >>      >
    >>
    >>
    >>
    
    


Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by "Elek, Marton" <el...@apache.org>.
Hi,

thank you the test and feedback for all of you.

As a summary. The problems until now:

  1. Unit test failures
  2. OpenConsensus shading problem: RATIS-237
  3. Copyright 2017
  4. Missing information about increasing MVN memory.
  5. Licence headers in shaded jar files



3/4: are not blockers (IMHO)

2: I think it's a blocker. As some of our unit tests are fragile and 
intermittent (1.) Hadoop Ozone could give us additional confidence about 
the stability of the release. Also we would like to provide a stable 
Ratis version to Ozone, so they should work together.

I would cancel this vote. And initialize a new one with RATIS-237 (+ the 
trival fixes).

5. I am not sure if it's blocker or not (as LICENSE.txt is ok), but I 
think the shaded sources should not be included in the source 
distribution. I think they are  just external dependencies similar to 
other maven dependencies (just on the source level). I would fix it with 
removing the src/main/java of the shaded project from the src release.

1. As I mentioned some of the unit tests seem to be fragile (see 
https://builds.apache.org/job/ratis-qbt-master-java8-linux-x86/). I 
don't think it's a blocker (but would be great to fix them long-term).

Summary: I cancel this vote and propose to include the fix of 2,3,4,5 in 
rc1 (hopefully very soon).

But this is just my view. Please let me know what do you think...

Thanks a lot,
Marton








On 05/08/2018 10:08 PM, Tsz Wo Sze wrote:
> Thanks Nanda for the explanation.
> 
> I seem able to fix the io.opencensus shading problem.  Just have
> posted a patch on RATIS-237.
> 
> Tsz-Wo
> 
> On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
> <nv...@hortonworks.com> wrote:
>> Hi Tsz-Wo,
>>
>> True, there is only one version of opencensus in Ratis. Since we do shading of io.grpc we end up with new shaded class of ContextUtils (same fully qualified class name, but the reference of io.grpc inside the class is modified/relocated), we also have non shaded ContextUtils. Both are referred through Ratis dependency.
>>
>> The below is dependency tree of Ratis:
>>
>> [INFO] +- org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile            =========> Modified opencensus packed with proto-shaded
>> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
>> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
>> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
>> [INFO] |  |  +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile
>> [INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
>> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
>> [INFO] |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
>> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
>> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
>> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
>> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
>> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
>> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
>> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
>> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
>> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
>> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
>> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
>> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile                            =========> Original jar
>> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
>> [INFO]    \- io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
>>
>>
>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
>> Compiled from "ContextUtils.java"
>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>    public static final io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
>>    static {};
>> }
>>
>> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar" io.opencensus.trace.unsafe.ContextUtils
>> Compiled from "ContextUtils.java"
>> public final class io.opencensus.trace.unsafe.ContextUtils {
>>    public static final org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
>>    static {};
>> }
>>
>>
>> -Nanda
>>
>> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
>>
>>      > The problem is because of two different definition of io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The reason for having two different definition of ContextUtils in classpath is due to the fact that we are shading/relocating io.grpc and not io.opencensus.
>>
>>      Nanda, in Ratis, there is only one version (0.12.2) of opencensus.  It
>>      seems that another version of opencensus is pulled outside Ratis.
>>
>>      Tsz-Wo
>>
>>
>>      On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
>>      <nv...@hortonworks.com> wrote:
>>      > I'm not sure why the file is missing, I can see the attachment in my "sent items".
>>      >
>>      > Patch content for reference
>>      >
>>      > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
>>      > index a3c3cc1..ebb73cc 100644
>>      > --- a/ratis-grpc/pom.xml
>>      > +++ b/ratis-grpc/pom.xml
>>      > @@ -85,15 +85,5 @@
>>      >        <artifactId>jctools-core</artifactId>
>>      >      </dependency>
>>      >
>>      > -    <dependency>
>>      > -      <groupId>io.opencensus</groupId>
>>      > -      <artifactId>opencensus-api</artifactId>
>>      > -      <version>${io.opencensus.version}</version>
>>      > -    </dependency>
>>      > -    <dependency>
>>      > -      <groupId>io.opencensus</groupId>
>>      > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
>>      > -      <version>${io.opencensus.version}</version>
>>      > -    </dependency>
>>      >    </dependencies>
>>      >  </project>
>>      >
>>      > I will also create a jira under RATIS
>>      >
>>      > -Nanda
>>      >
>>      > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>>      >
>>      >     I don't see patch attached.
>>      >
>>      >     Please create RATIS JIRA and attach there.
>>      >
>>      >     Thanks
>>      >
>>      >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>>      >     nvadivelu@hortonworks.com> wrote:
>>      >
>>      >     > Hi All,
>>      >     >
>>      >     > Below is the exception which we get with Ratis 0.2.0
>>      >     >
>>      >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>>      >     > ServerTracer.filterContext(CensusTracingModule.java:340)
>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>>      >     > serverFilterContext(StatsTraceContext.java:121)
>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>      >     > ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>>      >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>>      >     > ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>>      >     > <stack trace truncated>
>>      >     >
>>      >     >
>>      >     > The problem is because of two different definition of
>>      >     > io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
>>      >     > The reason for having two different definition of ContextUtils in classpath
>>      >     > is due to the fact that we are shading/relocating io.grpc and not
>>      >     > io.opencensus.
>>      >     >
>>      >     >
>>      >     > With shading we are generating the below definition which ends up in
>>      >     > ratis-proto-shaded jar
>>      >     >
>>      >     > package io.opencensus.trace.unsafe;
>>      >     >
>>      >     > import org.apache.ratis.shaded.io.grpc.Context;
>>      >     > import io.opencensus.trace.Span;
>>      >     >
>>      >     > /**
>>      >     >  * Util methods/functionality to interact with the {@link
>>      >     > org.apache.ratis.shaded.io.grpc.Context}.
>>      >     >  *
>>      >     >  * <p>Users must interact with the current Context via the public APIs in
>>      >     > {@link
>>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
>>      >     > #CONTEXT_SPAN_KEY} directly.
>>      >     >  *
>>      >     >  * @since 0.5
>>      >     >  */
>>      >     > public final class ContextUtils {
>>      >     >   // No instance of this class.
>>      >     >   private ContextUtils() {}
>>      >     >
>>      >     >   /**
>>      >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
>>      >     > interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
>>      >     >    *
>>      >     >    * @since 0.5
>>      >     >    */
>>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>      >     > Context.key("opencensus-trace-span-key");
>>      >     > }
>>      >     >
>>      >     >
>>      >     > Since we have added io.opencensus as direct dependency in ratis-grpc we
>>      >     > get the below definition in io.opencensus:opencensus-api:jar
>>      >     >
>>      >     > package io.opencensus.trace.unsafe;
>>      >     >
>>      >     > import io.grpc.Context;
>>      >     > import io.opencensus.trace.Span;
>>      >     >
>>      >     > /**
>>      >     >  * Util methods/functionality to interact with the {@link io.grpc.Context}.
>>      >     >  *
>>      >     >  * <p>Users must interact with the current Context via the public APIs in
>>      >     > {@link
>>      >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
>>      >     > #CONTEXT_SPAN_KEY} directly.
>>      >     >  *
>>      >     >  * @since 0.5
>>      >     >  */
>>      >     > public final class ContextUtils {
>>      >     >   // No instance of this class.
>>      >     >   private ContextUtils() {}
>>      >     >
>>      >     >   /**
>>      >     >    * The {@link io.grpc.Context.Key} used to interact with {@link
>>      >     > io.grpc.Context}.
>>      >     >    *
>>      >     >    * @since 0.5
>>      >     >    */
>>      >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>>      >     > Context.key("opencensus-trace-span-key");
>>      >     > }
>>      >     >
>>      >     > Both of the jars end up in classpath and ContextUtils is getting loaded
>>      >     > from io.opencensus:opencensus-api:jar which is causing the problem.
>>      >     >
>>      >     > The simple fix would be to remove the dependency of io.opencensus from
>>      >     > ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
>>      >     > not a permanent fix, as any application might bring in
>>      >     > io.opencensus:opencensus-api:jar of its own.
>>      >     >
>>      >     > We have to find a way to shade io.opencensus:opencensus-api:jar.
>>      >     >
>>      >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
>>      >     > io.opencensus due to AutoValue code generation
>>      >     >
>>      >     >
>>      >     > -Nanda
>>      >     >
>>      >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
>>      >     >
>>      >     >     We found an issue while updating ozone to Ratis snapshot build
>>      >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>>      >     > jira/browse/HDDS-19). I feel we should hold the release till this is
>>      >     > fixed. Please let us know of your opinion as well.
>>      >     >
>>      >     >     Thanks
>>      >     >     Lokesh
>>      >     >
>>      >     >
>>      >     >
>>      >     >
>>      >
>>      >
>>
>>
>>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Tsz Wo Sze <sz...@gmail.com>.
Thanks Nanda for the explanation.

I seem able to fix the io.opencensus shading problem.  Just have
posted a patch on RATIS-237.

Tsz-Wo

On Mon, May 7, 2018 at 8:28 PM, Nandakumar Vadivelu
<nv...@hortonworks.com> wrote:
> Hi Tsz-Wo,
>
> True, there is only one version of opencensus in Ratis. Since we do shading of io.grpc we end up with new shaded class of ContextUtils (same fully qualified class name, but the reference of io.grpc inside the class is modified/relocated), we also have non shaded ContextUtils. Both are referred through Ratis dependency.
>
> The below is dependency tree of Ratis:
>
> [INFO] +- org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile            =========> Modified opencensus packed with proto-shaded
> [INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
> [INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
> [INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
> [INFO] |  |  +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile
> [INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
> [INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
> [INFO] |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
> [INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
> [INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
> [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
> [INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
> [INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
> [INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
> [INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
> [INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
> [INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
> [INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
> [INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
> [INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile                            =========> Original jar
> [INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
> [INFO]    \- io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile
>
>
> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils
> Compiled from "ContextUtils.java"
> public final class io.opencensus.trace.unsafe.ContextUtils {
>   public static final io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
>   static {};
> }
>
> nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar" io.opencensus.trace.unsafe.ContextUtils
> Compiled from "ContextUtils.java"
> public final class io.opencensus.trace.unsafe.ContextUtils {
>   public static final org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
>   static {};
> }
>
>
> -Nanda
>
> On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:
>
>     > The problem is because of two different definition of io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The reason for having two different definition of ContextUtils in classpath is due to the fact that we are shading/relocating io.grpc and not io.opencensus.
>
>     Nanda, in Ratis, there is only one version (0.12.2) of opencensus.  It
>     seems that another version of opencensus is pulled outside Ratis.
>
>     Tsz-Wo
>
>
>     On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
>     <nv...@hortonworks.com> wrote:
>     > I'm not sure why the file is missing, I can see the attachment in my "sent items".
>     >
>     > Patch content for reference
>     >
>     > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
>     > index a3c3cc1..ebb73cc 100644
>     > --- a/ratis-grpc/pom.xml
>     > +++ b/ratis-grpc/pom.xml
>     > @@ -85,15 +85,5 @@
>     >        <artifactId>jctools-core</artifactId>
>     >      </dependency>
>     >
>     > -    <dependency>
>     > -      <groupId>io.opencensus</groupId>
>     > -      <artifactId>opencensus-api</artifactId>
>     > -      <version>${io.opencensus.version}</version>
>     > -    </dependency>
>     > -    <dependency>
>     > -      <groupId>io.opencensus</groupId>
>     > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
>     > -      <version>${io.opencensus.version}</version>
>     > -    </dependency>
>     >    </dependencies>
>     >  </project>
>     >
>     > I will also create a jira under RATIS
>     >
>     > -Nanda
>     >
>     > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>     >
>     >     I don't see patch attached.
>     >
>     >     Please create RATIS JIRA and attach there.
>     >
>     >     Thanks
>     >
>     >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>     >     nvadivelu@hortonworks.com> wrote:
>     >
>     >     > Hi All,
>     >     >
>     >     > Below is the exception which we get with Ratis 0.2.0
>     >     >
>     >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>     >     >   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>     >     > ServerTracer.filterContext(CensusTracingModule.java:340)
>     >     >   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>     >     > serverFilterContext(StatsTraceContext.java:121)
>     >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>     >     > ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>     >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>     >     > ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>     >     > <stack trace truncated>
>     >     >
>     >     >
>     >     > The problem is because of two different definition of
>     >     > io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
>     >     > The reason for having two different definition of ContextUtils in classpath
>     >     > is due to the fact that we are shading/relocating io.grpc and not
>     >     > io.opencensus.
>     >     >
>     >     >
>     >     > With shading we are generating the below definition which ends up in
>     >     > ratis-proto-shaded jar
>     >     >
>     >     > package io.opencensus.trace.unsafe;
>     >     >
>     >     > import org.apache.ratis.shaded.io.grpc.Context;
>     >     > import io.opencensus.trace.Span;
>     >     >
>     >     > /**
>     >     >  * Util methods/functionality to interact with the {@link
>     >     > org.apache.ratis.shaded.io.grpc.Context}.
>     >     >  *
>     >     >  * <p>Users must interact with the current Context via the public APIs in
>     >     > {@link
>     >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
>     >     > #CONTEXT_SPAN_KEY} directly.
>     >     >  *
>     >     >  * @since 0.5
>     >     >  */
>     >     > public final class ContextUtils {
>     >     >   // No instance of this class.
>     >     >   private ContextUtils() {}
>     >     >
>     >     >   /**
>     >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
>     >     > interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
>     >     >    *
>     >     >    * @since 0.5
>     >     >    */
>     >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>     >     > Context.key("opencensus-trace-span-key");
>     >     > }
>     >     >
>     >     >
>     >     > Since we have added io.opencensus as direct dependency in ratis-grpc we
>     >     > get the below definition in io.opencensus:opencensus-api:jar
>     >     >
>     >     > package io.opencensus.trace.unsafe;
>     >     >
>     >     > import io.grpc.Context;
>     >     > import io.opencensus.trace.Span;
>     >     >
>     >     > /**
>     >     >  * Util methods/functionality to interact with the {@link io.grpc.Context}.
>     >     >  *
>     >     >  * <p>Users must interact with the current Context via the public APIs in
>     >     > {@link
>     >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
>     >     > #CONTEXT_SPAN_KEY} directly.
>     >     >  *
>     >     >  * @since 0.5
>     >     >  */
>     >     > public final class ContextUtils {
>     >     >   // No instance of this class.
>     >     >   private ContextUtils() {}
>     >     >
>     >     >   /**
>     >     >    * The {@link io.grpc.Context.Key} used to interact with {@link
>     >     > io.grpc.Context}.
>     >     >    *
>     >     >    * @since 0.5
>     >     >    */
>     >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>     >     > Context.key("opencensus-trace-span-key");
>     >     > }
>     >     >
>     >     > Both of the jars end up in classpath and ContextUtils is getting loaded
>     >     > from io.opencensus:opencensus-api:jar which is causing the problem.
>     >     >
>     >     > The simple fix would be to remove the dependency of io.opencensus from
>     >     > ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
>     >     > not a permanent fix, as any application might bring in
>     >     > io.opencensus:opencensus-api:jar of its own.
>     >     >
>     >     > We have to find a way to shade io.opencensus:opencensus-api:jar.
>     >     >
>     >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
>     >     > io.opencensus due to AutoValue code generation
>     >     >
>     >     >
>     >     > -Nanda
>     >     >
>     >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
>     >     >
>     >     >     We found an issue while updating ozone to Ratis snapshot build
>     >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>     >     > jira/browse/HDDS-19). I feel we should hold the release till this is
>     >     > fixed. Please let us know of your opinion as well.
>     >     >
>     >     >     Thanks
>     >     >     Lokesh
>     >     >
>     >     >
>     >     >
>     >     >
>     >
>     >
>
>
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Nandakumar Vadivelu <nv...@hortonworks.com>.
Hi Tsz-Wo,

True, there is only one version of opencensus in Ratis. Since we do shading of io.grpc we end up with new shaded class of ContextUtils (same fully qualified class name, but the reference of io.grpc inside the class is modified/relocated), we also have non shaded ContextUtils. Both are referred through Ratis dependency.

The below is dependency tree of Ratis:

[INFO] +- org.apache.ratis:ratis-proto-shaded:jar:0.1.1-alpha-SNAPSHOT:compile            =========> Modified opencensus packed with proto-shaded
[INFO] |  +- com.google.auto.value:auto-value-annotations:jar:1.6:compile
[INFO] |  +- com.google.guava:guava:jar:24.1-jre:compile
[INFO] |  |  +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] |  |  +- org.checkerframework:checker-compat-qual:jar:2.0.0:compile
[INFO] |  |  +- com.google.errorprone:error_prone_annotations:jar:2.1.3:compile
[INFO] |  |  +- com.google.j2objc:j2objc-annotations:jar:1.1:compile
[INFO] |  |  \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.14:compile
[INFO] |  \- com.squareup:javapoet:jar:1.10.0:compile
[INFO] +- org.apache.ratis:ratis-common:jar:0.1.1-alpha-SNAPSHOT:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.10:compile
[INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile
[INFO] |  |  \- log4j:log4j:jar:1.2.17:compile
[INFO] |  \- io.dropwizard.metrics:metrics-core:jar:3.2.5:compile
[INFO] +- org.apache.ratis:ratis-client:jar:0.1.1-alpha-SNAPSHOT:compile
[INFO] +- org.apache.ratis:ratis-server:jar:0.1.1-alpha-SNAPSHOT:compile
[INFO] +- org.apache.ratis:ratis-netty:jar:0.1.1-alpha-SNAPSHOT:compile
[INFO] |  \- org.jctools:jctools-core:jar:2.1.2:compile
[INFO] \- org.apache.ratis:ratis-grpc:jar:0.1.1-alpha-SNAPSHOT:compile
[INFO]    +- io.opencensus:opencensus-api:jar:0.12.2:compile                            =========> Original jar
[INFO]    |  \- io.grpc:grpc-context:jar:1.9.0:compile
[INFO]    \- io.opencensus:opencensus-contrib-grpc-metrics:jar:0.12.2:compile


nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./opencensus-api-0.12.2.jar" io.opencensus.trace.unsafe.ContextUtils                                                                      
Compiled from "ContextUtils.java"
public final class io.opencensus.trace.unsafe.ContextUtils {
  public static final io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
  static {};
}

nvadivelu@HW12726 ~/w/t/p/o/t/dependency> javap -classpath ".:./ratis-proto-shaded-0.1.1-alpha-SNAPSHOT.jar" io.opencensus.trace.unsafe.ContextUtils
Compiled from "ContextUtils.java"
public final class io.opencensus.trace.unsafe.ContextUtils {
  public static final org.apache.ratis.shaded.io.grpc.Context$Key<io.opencensus.trace.Span> CONTEXT_SPAN_KEY;
  static {};
}


-Nanda

On 5/8/18, 4:16 AM, "Tsz Wo Sze" <sz...@gmail.com> wrote:

    > The problem is because of two different definition of io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The reason for having two different definition of ContextUtils in classpath is due to the fact that we are shading/relocating io.grpc and not io.opencensus.
    
    Nanda, in Ratis, there is only one version (0.12.2) of opencensus.  It
    seems that another version of opencensus is pulled outside Ratis.
    
    Tsz-Wo
    
    
    On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
    <nv...@hortonworks.com> wrote:
    > I'm not sure why the file is missing, I can see the attachment in my "sent items".
    >
    > Patch content for reference
    >
    > diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
    > index a3c3cc1..ebb73cc 100644
    > --- a/ratis-grpc/pom.xml
    > +++ b/ratis-grpc/pom.xml
    > @@ -85,15 +85,5 @@
    >        <artifactId>jctools-core</artifactId>
    >      </dependency>
    >
    > -    <dependency>
    > -      <groupId>io.opencensus</groupId>
    > -      <artifactId>opencensus-api</artifactId>
    > -      <version>${io.opencensus.version}</version>
    > -    </dependency>
    > -    <dependency>
    > -      <groupId>io.opencensus</groupId>
    > -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
    > -      <version>${io.opencensus.version}</version>
    > -    </dependency>
    >    </dependencies>
    >  </project>
    >
    > I will also create a jira under RATIS
    >
    > -Nanda
    >
    > On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
    >
    >     I don't see patch attached.
    >
    >     Please create RATIS JIRA and attach there.
    >
    >     Thanks
    >
    >     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
    >     nvadivelu@hortonworks.com> wrote:
    >
    >     > Hi All,
    >     >
    >     > Below is the exception which we get with Ratis 0.2.0
    >     >
    >     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
    >     >   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
    >     > ServerTracer.filterContext(CensusTracingModule.java:340)
    >     >   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
    >     > serverFilterContext(StatsTraceContext.java:121)
    >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    >     > ServerTransportListenerImpl.createContext(ServerImpl.java:482)
    >     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    >     > ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
    >     > <stack trace truncated>
    >     >
    >     >
    >     > The problem is because of two different definition of
    >     > io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
    >     > The reason for having two different definition of ContextUtils in classpath
    >     > is due to the fact that we are shading/relocating io.grpc and not
    >     > io.opencensus.
    >     >
    >     >
    >     > With shading we are generating the below definition which ends up in
    >     > ratis-proto-shaded jar
    >     >
    >     > package io.opencensus.trace.unsafe;
    >     >
    >     > import org.apache.ratis.shaded.io.grpc.Context;
    >     > import io.opencensus.trace.Span;
    >     >
    >     > /**
    >     >  * Util methods/functionality to interact with the {@link
    >     > org.apache.ratis.shaded.io.grpc.Context}.
    >     >  *
    >     >  * <p>Users must interact with the current Context via the public APIs in
    >     > {@link
    >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
    >     > #CONTEXT_SPAN_KEY} directly.
    >     >  *
    >     >  * @since 0.5
    >     >  */
    >     > public final class ContextUtils {
    >     >   // No instance of this class.
    >     >   private ContextUtils() {}
    >     >
    >     >   /**
    >     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
    >     > interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
    >     >    *
    >     >    * @since 0.5
    >     >    */
    >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    >     > Context.key("opencensus-trace-span-key");
    >     > }
    >     >
    >     >
    >     > Since we have added io.opencensus as direct dependency in ratis-grpc we
    >     > get the below definition in io.opencensus:opencensus-api:jar
    >     >
    >     > package io.opencensus.trace.unsafe;
    >     >
    >     > import io.grpc.Context;
    >     > import io.opencensus.trace.Span;
    >     >
    >     > /**
    >     >  * Util methods/functionality to interact with the {@link io.grpc.Context}.
    >     >  *
    >     >  * <p>Users must interact with the current Context via the public APIs in
    >     > {@link
    >     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
    >     > #CONTEXT_SPAN_KEY} directly.
    >     >  *
    >     >  * @since 0.5
    >     >  */
    >     > public final class ContextUtils {
    >     >   // No instance of this class.
    >     >   private ContextUtils() {}
    >     >
    >     >   /**
    >     >    * The {@link io.grpc.Context.Key} used to interact with {@link
    >     > io.grpc.Context}.
    >     >    *
    >     >    * @since 0.5
    >     >    */
    >     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    >     > Context.key("opencensus-trace-span-key");
    >     > }
    >     >
    >     > Both of the jars end up in classpath and ContextUtils is getting loaded
    >     > from io.opencensus:opencensus-api:jar which is causing the problem.
    >     >
    >     > The simple fix would be to remove the dependency of io.opencensus from
    >     > ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
    >     > not a permanent fix, as any application might bring in
    >     > io.opencensus:opencensus-api:jar of its own.
    >     >
    >     > We have to find a way to shade io.opencensus:opencensus-api:jar.
    >     >
    >     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
    >     > io.opencensus due to AutoValue code generation
    >     >
    >     >
    >     > -Nanda
    >     >
    >     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
    >     >
    >     >     We found an issue while updating ozone to Ratis snapshot build
    >     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
    >     > jira/browse/HDDS-19). I feel we should hold the release till this is
    >     > fixed. Please let us know of your opinion as well.
    >     >
    >     >     Thanks
    >     >     Lokesh
    >     >
    >     >
    >     >
    >     >
    >
    >
    
    


Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Tsz Wo Sze <sz...@gmail.com>.
> The problem is because of two different definition of io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The reason for having two different definition of ContextUtils in classpath is due to the fact that we are shading/relocating io.grpc and not io.opencensus.

Nanda, in Ratis, there is only one version (0.12.2) of opencensus.  It
seems that another version of opencensus is pulled outside Ratis.

Tsz-Wo


On Mon, May 7, 2018 at 11:58 AM, Nandakumar Vadivelu
<nv...@hortonworks.com> wrote:
> I'm not sure why the file is missing, I can see the attachment in my "sent items".
>
> Patch content for reference
>
> diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
> index a3c3cc1..ebb73cc 100644
> --- a/ratis-grpc/pom.xml
> +++ b/ratis-grpc/pom.xml
> @@ -85,15 +85,5 @@
>        <artifactId>jctools-core</artifactId>
>      </dependency>
>
> -    <dependency>
> -      <groupId>io.opencensus</groupId>
> -      <artifactId>opencensus-api</artifactId>
> -      <version>${io.opencensus.version}</version>
> -    </dependency>
> -    <dependency>
> -      <groupId>io.opencensus</groupId>
> -      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
> -      <version>${io.opencensus.version}</version>
> -    </dependency>
>    </dependencies>
>  </project>
>
> I will also create a jira under RATIS
>
> -Nanda
>
> On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:
>
>     I don't see patch attached.
>
>     Please create RATIS JIRA and attach there.
>
>     Thanks
>
>     On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
>     nvadivelu@hortonworks.com> wrote:
>
>     > Hi All,
>     >
>     > Below is the exception which we get with Ratis 0.2.0
>     >
>     > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>     >   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
>     > ServerTracer.filterContext(CensusTracingModule.java:340)
>     >   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
>     > serverFilterContext(StatsTraceContext.java:121)
>     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>     > ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>     >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
>     > ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
>     > <stack trace truncated>
>     >
>     >
>     > The problem is because of two different definition of
>     > io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
>     > The reason for having two different definition of ContextUtils in classpath
>     > is due to the fact that we are shading/relocating io.grpc and not
>     > io.opencensus.
>     >
>     >
>     > With shading we are generating the below definition which ends up in
>     > ratis-proto-shaded jar
>     >
>     > package io.opencensus.trace.unsafe;
>     >
>     > import org.apache.ratis.shaded.io.grpc.Context;
>     > import io.opencensus.trace.Span;
>     >
>     > /**
>     >  * Util methods/functionality to interact with the {@link
>     > org.apache.ratis.shaded.io.grpc.Context}.
>     >  *
>     >  * <p>Users must interact with the current Context via the public APIs in
>     > {@link
>     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
>     > #CONTEXT_SPAN_KEY} directly.
>     >  *
>     >  * @since 0.5
>     >  */
>     > public final class ContextUtils {
>     >   // No instance of this class.
>     >   private ContextUtils() {}
>     >
>     >   /**
>     >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
>     > interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
>     >    *
>     >    * @since 0.5
>     >    */
>     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>     > Context.key("opencensus-trace-span-key");
>     > }
>     >
>     >
>     > Since we have added io.opencensus as direct dependency in ratis-grpc we
>     > get the below definition in io.opencensus:opencensus-api:jar
>     >
>     > package io.opencensus.trace.unsafe;
>     >
>     > import io.grpc.Context;
>     > import io.opencensus.trace.Span;
>     >
>     > /**
>     >  * Util methods/functionality to interact with the {@link io.grpc.Context}.
>     >  *
>     >  * <p>Users must interact with the current Context via the public APIs in
>     > {@link
>     >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
>     > #CONTEXT_SPAN_KEY} directly.
>     >  *
>     >  * @since 0.5
>     >  */
>     > public final class ContextUtils {
>     >   // No instance of this class.
>     >   private ContextUtils() {}
>     >
>     >   /**
>     >    * The {@link io.grpc.Context.Key} used to interact with {@link
>     > io.grpc.Context}.
>     >    *
>     >    * @since 0.5
>     >    */
>     >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
>     > Context.key("opencensus-trace-span-key");
>     > }
>     >
>     > Both of the jars end up in classpath and ContextUtils is getting loaded
>     > from io.opencensus:opencensus-api:jar which is causing the problem.
>     >
>     > The simple fix would be to remove the dependency of io.opencensus from
>     > ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
>     > not a permanent fix, as any application might bring in
>     > io.opencensus:opencensus-api:jar of its own.
>     >
>     > We have to find a way to shade io.opencensus:opencensus-api:jar.
>     >
>     > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
>     > io.opencensus due to AutoValue code generation
>     >
>     >
>     > -Nanda
>     >
>     > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
>     >
>     >     We found an issue while updating ozone to Ratis snapshot build
>     > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
>     > jira/browse/HDDS-19). I feel we should hold the release till this is
>     > fixed. Please let us know of your opinion as well.
>     >
>     >     Thanks
>     >     Lokesh
>     >
>     >
>     >
>     >
>
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Nandakumar Vadivelu <nv...@hortonworks.com>.
I'm not sure why the file is missing, I can see the attachment in my "sent items".

Patch content for reference

diff --git a/ratis-grpc/pom.xml b/ratis-grpc/pom.xml
index a3c3cc1..ebb73cc 100644
--- a/ratis-grpc/pom.xml
+++ b/ratis-grpc/pom.xml
@@ -85,15 +85,5 @@
       <artifactId>jctools-core</artifactId>
     </dependency>

-    <dependency>
-      <groupId>io.opencensus</groupId>
-      <artifactId>opencensus-api</artifactId>
-      <version>${io.opencensus.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>io.opencensus</groupId>
-      <artifactId>opencensus-contrib-grpc-metrics</artifactId>
-      <version>${io.opencensus.version}</version>
-    </dependency>
   </dependencies>
 </project>

I will also create a jira under RATIS

-Nanda

On 5/8/18, 12:23 AM, "Ted Yu" <yu...@gmail.com> wrote:

    I don't see patch attached.
    
    Please create RATIS JIRA and attach there.
    
    Thanks
    
    On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
    nvadivelu@hortonworks.com> wrote:
    
    > Hi All,
    >
    > Below is the exception which we get with Ratis 0.2.0
    >
    > java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
    >   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
    > ServerTracer.filterContext(CensusTracingModule.java:340)
    >   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
    > serverFilterContext(StatsTraceContext.java:121)
    >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    > ServerTransportListenerImpl.createContext(ServerImpl.java:482)
    >   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
    > ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
    > <stack trace truncated>
    >
    >
    > The problem is because of two different definition of
    > io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
    > The reason for having two different definition of ContextUtils in classpath
    > is due to the fact that we are shading/relocating io.grpc and not
    > io.opencensus.
    >
    >
    > With shading we are generating the below definition which ends up in
    > ratis-proto-shaded jar
    >
    > package io.opencensus.trace.unsafe;
    >
    > import org.apache.ratis.shaded.io.grpc.Context;
    > import io.opencensus.trace.Span;
    >
    > /**
    >  * Util methods/functionality to interact with the {@link
    > org.apache.ratis.shaded.io.grpc.Context}.
    >  *
    >  * <p>Users must interact with the current Context via the public APIs in
    > {@link
    >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
    > #CONTEXT_SPAN_KEY} directly.
    >  *
    >  * @since 0.5
    >  */
    > public final class ContextUtils {
    >   // No instance of this class.
    >   private ContextUtils() {}
    >
    >   /**
    >    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
    > interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
    >    *
    >    * @since 0.5
    >    */
    >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    > Context.key("opencensus-trace-span-key");
    > }
    >
    >
    > Since we have added io.opencensus as direct dependency in ratis-grpc we
    > get the below definition in io.opencensus:opencensus-api:jar
    >
    > package io.opencensus.trace.unsafe;
    >
    > import io.grpc.Context;
    > import io.opencensus.trace.Span;
    >
    > /**
    >  * Util methods/functionality to interact with the {@link io.grpc.Context}.
    >  *
    >  * <p>Users must interact with the current Context via the public APIs in
    > {@link
    >  * io.opencensus.trace.Tracer} and avoid usages of the {@link
    > #CONTEXT_SPAN_KEY} directly.
    >  *
    >  * @since 0.5
    >  */
    > public final class ContextUtils {
    >   // No instance of this class.
    >   private ContextUtils() {}
    >
    >   /**
    >    * The {@link io.grpc.Context.Key} used to interact with {@link
    > io.grpc.Context}.
    >    *
    >    * @since 0.5
    >    */
    >   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
    > Context.key("opencensus-trace-span-key");
    > }
    >
    > Both of the jars end up in classpath and ContextUtils is getting loaded
    > from io.opencensus:opencensus-api:jar which is causing the problem.
    >
    > The simple fix would be to remove the dependency of io.opencensus from
    > ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
    > not a permanent fix, as any application might bring in
    > io.opencensus:opencensus-api:jar of its own.
    >
    > We have to find a way to shade io.opencensus:opencensus-api:jar.
    >
    > Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
    > io.opencensus due to AutoValue code generation
    >
    >
    > -Nanda
    >
    > On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
    >
    >     We found an issue while updating ozone to Ratis snapshot build
    > 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
    > jira/browse/HDDS-19). I feel we should hold the release till this is
    > fixed. Please let us know of your opinion as well.
    >
    >     Thanks
    >     Lokesh
    >
    >
    >
    >
    


Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Ted Yu <yu...@gmail.com>.
I don't see patch attached.

Please create RATIS JIRA and attach there.

Thanks

On Mon, May 7, 2018 at 10:24 AM, Nandakumar Vadivelu <
nvadivelu@hortonworks.com> wrote:

> Hi All,
>
> Below is the exception which we get with Ratis 0.2.0
>
> java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
>   at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$
> ServerTracer.filterContext(CensusTracingModule.java:340)
>   at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.
> serverFilterContext(StatsTraceContext.java:121)
>   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
> ServerTransportListenerImpl.createContext(ServerImpl.java:482)
>   at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$
> ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)
> <stack trace truncated>
>
>
> The problem is because of two different definition of
> io.opencensus.trace.unsafe.ContextUtils class present in the classpath.
> The reason for having two different definition of ContextUtils in classpath
> is due to the fact that we are shading/relocating io.grpc and not
> io.opencensus.
>
>
> With shading we are generating the below definition which ends up in
> ratis-proto-shaded jar
>
> package io.opencensus.trace.unsafe;
>
> import org.apache.ratis.shaded.io.grpc.Context;
> import io.opencensus.trace.Span;
>
> /**
>  * Util methods/functionality to interact with the {@link
> org.apache.ratis.shaded.io.grpc.Context}.
>  *
>  * <p>Users must interact with the current Context via the public APIs in
> {@link
>  * io.opencensus.trace.Tracer} and avoid usages of the {@link
> #CONTEXT_SPAN_KEY} directly.
>  *
>  * @since 0.5
>  */
> public final class ContextUtils {
>   // No instance of this class.
>   private ContextUtils() {}
>
>   /**
>    * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to
> interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
>    *
>    * @since 0.5
>    */
>   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
> Context.key("opencensus-trace-span-key");
> }
>
>
> Since we have added io.opencensus as direct dependency in ratis-grpc we
> get the below definition in io.opencensus:opencensus-api:jar
>
> package io.opencensus.trace.unsafe;
>
> import io.grpc.Context;
> import io.opencensus.trace.Span;
>
> /**
>  * Util methods/functionality to interact with the {@link io.grpc.Context}.
>  *
>  * <p>Users must interact with the current Context via the public APIs in
> {@link
>  * io.opencensus.trace.Tracer} and avoid usages of the {@link
> #CONTEXT_SPAN_KEY} directly.
>  *
>  * @since 0.5
>  */
> public final class ContextUtils {
>   // No instance of this class.
>   private ContextUtils() {}
>
>   /**
>    * The {@link io.grpc.Context.Key} used to interact with {@link
> io.grpc.Context}.
>    *
>    * @since 0.5
>    */
>   public static final Context.Key<Span> CONTEXT_SPAN_KEY =
> Context.key("opencensus-trace-span-key");
> }
>
> Both of the jars end up in classpath and ContextUtils is getting loaded
> from io.opencensus:opencensus-api:jar which is causing the problem.
>
> The simple fix would be to remove the dependency of io.opencensus from
> ratis-grpc/pom.xml (patch for the same is attached in this mail). This is
> not a permanent fix, as any application might bring in
> io.opencensus:opencensus-api:jar of its own.
>
> We have to find a way to shade io.opencensus:opencensus-api:jar.
>
> Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate
> io.opencensus due to AutoValue code generation
>
>
> -Nanda
>
> On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:
>
>     We found an issue while updating ozone to Ratis snapshot build
> 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/
> jira/browse/HDDS-19). I feel we should hold the release till this is
> fixed. Please let us know of your opinion as well.
>
>     Thanks
>     Lokesh
>
>
>
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Nandakumar Vadivelu <nv...@hortonworks.com>.
Hi All,

Below is the exception which we get with Ratis 0.2.0

java.lang.NoSuchFieldError: CONTEXT_SPAN_KEY
  at org.apache.ratis.shaded.io.grpc.internal.CensusTracingModule$ServerTracer.filterContext(CensusTracingModule.java:340)
  at org.apache.ratis.shaded.io.grpc.internal.StatsTraceContext.serverFilterContext(StatsTraceContext.java:121)
  at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$ServerTransportListenerImpl.createContext(ServerImpl.java:482)
  at org.apache.ratis.shaded.io.grpc.internal.ServerImpl$ServerTransportListenerImpl.streamCreated(ServerImpl.java:416)   
<stack trace truncated>


The problem is because of two different definition of io.opencensus.trace.unsafe.ContextUtils class present in the classpath. The reason for having two different definition of ContextUtils in classpath is due to the fact that we are shading/relocating io.grpc and not io.opencensus.


With shading we are generating the below definition which ends up in ratis-proto-shaded jar

package io.opencensus.trace.unsafe;

import org.apache.ratis.shaded.io.grpc.Context;
import io.opencensus.trace.Span;

/**
 * Util methods/functionality to interact with the {@link org.apache.ratis.shaded.io.grpc.Context}.
 *
 * <p>Users must interact with the current Context via the public APIs in {@link
 * io.opencensus.trace.Tracer} and avoid usages of the {@link #CONTEXT_SPAN_KEY} directly.
 *
 * @since 0.5
 */
public final class ContextUtils {
  // No instance of this class.
  private ContextUtils() {}

  /**
   * The {@link org.apache.ratis.shaded.io.grpc.Context.Key} used to interact with {@link org.apache.ratis.shaded.io.grpc.Context}.
   *
   * @since 0.5
   */
  public static final Context.Key<Span> CONTEXT_SPAN_KEY = Context.key("opencensus-trace-span-key");
}


Since we have added io.opencensus as direct dependency in ratis-grpc we get the below definition in io.opencensus:opencensus-api:jar

package io.opencensus.trace.unsafe;

import io.grpc.Context;
import io.opencensus.trace.Span;

/**
 * Util methods/functionality to interact with the {@link io.grpc.Context}.
 *
 * <p>Users must interact with the current Context via the public APIs in {@link
 * io.opencensus.trace.Tracer} and avoid usages of the {@link #CONTEXT_SPAN_KEY} directly.
 *
 * @since 0.5
 */
public final class ContextUtils {
  // No instance of this class.
  private ContextUtils() {}

  /**
   * The {@link io.grpc.Context.Key} used to interact with {@link io.grpc.Context}.
   *
   * @since 0.5
   */
  public static final Context.Key<Span> CONTEXT_SPAN_KEY = Context.key("opencensus-trace-span-key");
}

Both of the jars end up in classpath and ContextUtils is getting loaded from io.opencensus:opencensus-api:jar which is causing the problem.

The simple fix would be to remove the dependency of io.opencensus from ratis-grpc/pom.xml (patch for the same is attached in this mail). This is not a permanent fix, as any application might bring in io.opencensus:opencensus-api:jar of its own.

We have to find a way to shade io.opencensus:opencensus-api:jar. 

Note: from the comment in ratis-proto-shaded/pom.xml: Cannot relocate io.opencensus due to AutoValue code generation


-Nanda

On 5/7/18, 3:28 PM, "Lokesh Jain" <lj...@hortonworks.com> wrote:

    We found an issue while updating ozone to Ratis snapshot build 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/jira/browse/HDDS-19). I feel we should hold the release till this is fixed. Please let us know of your opinion as well.
    
    Thanks
    Lokesh
    
    


Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Lokesh Jain <lj...@hortonworks.com>.
We found an issue while updating ozone to Ratis snapshot build 0.1.1-alpha-4309324-SNAPSHOT (https://issues.apache.org/jira/browse/HDDS-19). I feel we should hold the release till this is fixed. Please let us know of your opinion as well.

Thanks
Lokesh


Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Vinay Banakar <vi...@gmail.com>.
+1

On Sun, May 6, 2018 at 8:41 PM, Ted Yu <yu...@gmail.com> wrote:

> I got some test failures locally:
>
> Running org.apache.ratis.server.simulation.TestRaftExceptionWithSimulation
> Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 108.592 sec
> <<< FAILURE! - in
> org.apache.ratis.server.simulation.TestRaftExceptionWithSimulation
> --
> Running
> org.apache.ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc
> Tests run: 12, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 135.299
> sec <<< FAILURE! - in
> org.apache.ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc
> --
> Running
> org.apache.ratis.server.simulation.TestReinitializationWithSimulatedRpc
> Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 115.429 sec
> <<< FAILURE! - in
> org.apache.ratis.server.simulation.TestReinitializationWithSimulatedRpc
>
>
> Here is my environment:
>
> 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64
> x86_64 x86_64 GNU/Linux
>
> Java HotSpot(TM) 64-Bit Server VM warning: ignoring option
> MaxPermSize=812M; support was removed in 8.0
> Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d;
> 2017-10-18T07:58:13Z)
> Maven home: /apache-maven-3.5.2
> Java version: 1.8.0_161, vendor: Oracle Corporation
> Java home: /jdk1.8.0_161/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "3.10.0-327.28.3.el7.x86_64", arch: "amd64",
> family: "unix"
>
> FYI
>
> On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>
> >
> > Hi all,
> >
> > I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
> >
> > This is the second incubator release and it includes more than 120
> > improvements and fixes since the previous 0.1.0-alpha release. This is
> the
> > first release
> > which includes a binary package with ready to use example project.
> >
> > All distribution packages, including signatures, digests, etc. can be
> > found at:
> >
> > https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
> >
> > Staged artifacts can be found at:
> >
> > https://repository.apache.org/content/repositories/orgapacheratis-1003/
> >
> >
> > This release has been signed with PGP key 0EE79B28, corresponding to
> > elek@apache.org, which is included in the repository's KEYS file (
> > https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
> >
> > This key can be found on keyservers, such as:
> >
> > http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
> >
> > Or in the apache phonebook:
> >
> > https://people.apache.org/keys/committer/elek.asc
> >
> >
> > The release candidate has been tagged in git with ratis-0.2.0-rc0
> (ee4936d)
> >
> > https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
> >
> >
> >
> > Please review and vote. The vote will be open for at least 72 hours.
> >
> > If the vote passed, the second stage vote will be called on the Apache
> > incubator mailing list to get approval from the Incubator PMC.
> >
> >
> >
> >  # Review/testing
> >
> > You can check the usual requirements of an apache release:
> >
> >  • Signatures
> >  • Checksums
> >  • License and notice files
> >  • Disclaimer file (incubator!)
> >  • Build the project from the source code package (mvn clean install
> > assembly:single -DskipTests=true )
> >  • Licence headers
> >
> > The binary papckage can be smoketested with:
> >
> > ./examples/bin/start-all.sh
> > ./examples/bin/client.sh assign --name a --value 2
> > ./examples/bin/client.sh get --name a
> >
> >
> >
> > Starting with my vote: +1
> >
> > Thanks,
> > Marton
> >
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Ted Yu <yu...@gmail.com>.
I got some test failures locally:

Running org.apache.ratis.server.simulation.TestRaftExceptionWithSimulation
Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 108.592 sec
<<< FAILURE! - in
org.apache.ratis.server.simulation.TestRaftExceptionWithSimulation
--
Running
org.apache.ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc
Tests run: 12, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 135.299
sec <<< FAILURE! - in
org.apache.ratis.server.simulation.TestRaftReconfigurationWithSimulatedRpc
--
Running
org.apache.ratis.server.simulation.TestReinitializationWithSimulatedRpc
Tests run: 4, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 115.429 sec
<<< FAILURE! - in
org.apache.ratis.server.simulation.TestReinitializationWithSimulatedRpc


Here is my environment:

3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64
x86_64 x86_64 GNU/Linux

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option
MaxPermSize=812M; support was removed in 8.0
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d;
2017-10-18T07:58:13Z)
Maven home: /apache-maven-3.5.2
Java version: 1.8.0_161, vendor: Oracle Corporation
Java home: /jdk1.8.0_161/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-327.28.3.el7.x86_64", arch: "amd64",
family: "unix"

FYI

On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:

>
> Hi all,
>
> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>
> This is the second incubator release and it includes more than 120
> improvements and fixes since the previous 0.1.0-alpha release. This is the
> first release
> which includes a binary package with ready to use example project.
>
> All distribution packages, including signatures, digests, etc. can be
> found at:
>
> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>
> Staged artifacts can be found at:
>
> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>
>
> This release has been signed with PGP key 0EE79B28, corresponding to
> elek@apache.org, which is included in the repository's KEYS file (
> https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>
> This key can be found on keyservers, such as:
>
> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>
> Or in the apache phonebook:
>
> https://people.apache.org/keys/committer/elek.asc
>
>
> The release candidate has been tagged in git with ratis-0.2.0-rc0 (ee4936d)
>
> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>
>
>
> Please review and vote. The vote will be open for at least 72 hours.
>
> If the vote passed, the second stage vote will be called on the Apache
> incubator mailing list to get approval from the Incubator PMC.
>
>
>
>  # Review/testing
>
> You can check the usual requirements of an apache release:
>
>  • Signatures
>  • Checksums
>  • License and notice files
>  • Disclaimer file (incubator!)
>  • Build the project from the source code package (mvn clean install
> assembly:single -DskipTests=true )
>  • Licence headers
>
> The binary papckage can be smoketested with:
>
> ./examples/bin/start-all.sh
> ./examples/bin/client.sh assign --name a --value 2
> ./examples/bin/client.sh get --name a
>
>
>
> Starting with my vote: +1
>
> Thanks,
> Marton
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Tsz Wo Sze <sz...@gmail.com>.
Marton,

Thanks for checking.  I agree that the difference seems not a problem
since the fingerprints are the same.

Tsz-Wo

On Tue, May 8, 2018 at 1:21 PM, Elek, Marton <el...@apache.org> wrote:
> I am not a gpg expert but downloaded both of them and checked with 'gpg
> --list-packages filename'.
>
> The only difference is that the KEYS version has an additional signature
> from Owen:
>
> :signature packet: algo 1, keyid 78434EF460D6914B
>         version 4, created 1462223114, md5len 0, sigclass 0x13
>         digest algo 10, begin of digest e8 2d
>         hashed subpkt 2 len 4 (sig created 2016-05-02)
>         hashed subpkt 27 len 1 (key flags: 03)
>         hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 3)
>         hashed subpkt 21 len 4 (pref-hash-algos: 10 9 8 11)
>         hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0)
>         hashed subpkt 30 len 1 (features: 01)
>         hashed subpkt 23 len 1 (keyserver preferences: 80)
>         subpkt 16 len 8 (issuer key ID 78434EF460D6914B)
>         data: [4095 bits]
>
> A more simple signature (by Owen) is contained by both:
>
> # off=2203 ctb=89 tag=2 hlen=3 plen=543
> :signature packet: algo 1, keyid 78434EF460D6914B
>         version 4, created 1462223114, md5len 0, sigclass 0x18
>         digest algo 10, begin of digest 30 e2
>         hashed subpkt 2 len 4 (sig created 2016-05-02)
>         hashed subpkt 27 len 1 (key flags: 0C)
>         subpkt 16 len 8 (issuer key ID 78434EF460D6914B)
>         data: [4092 bits]
>
>
> IMHO it's not a problem just a redundant signature data. (or not redundat as
> he key flags are different).
>
> Marton
>
>
>
>
> On 05/08/2018 12:59 AM, Tsz Wo Sze wrote:
>>
>> Marton,
>>
>> I compared you keys in two locations below
>> - https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
>> -
>> http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=0x78434EF460D6914B
>>
>> They somehow look different.  They match until "Zz6JA".  Do you know why?
>>
>> Tsz-Wo
>>
>> On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>>>
>>>
>>> Hi all,
>>>
>>> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>>>
>>> This is the second incubator release and it includes more than 120
>>> improvements and fixes since the previous 0.1.0-alpha release. This is
>>> the
>>> first release
>>> which includes a binary package with ready to use example project.
>>>
>>> All distribution packages, including signatures, digests, etc. can be
>>> found at:
>>>
>>> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>>>
>>> Staged artifacts can be found at:
>>>
>>> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>>>
>>>
>>> This release has been signed with PGP key 0EE79B28, corresponding to
>>> elek@apache.org, which is included in the repository's KEYS file
>>> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>>>
>>> This key can be found on keyservers, such as:
>>>
>>> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>>>
>>> Or in the apache phonebook:
>>>
>>> https://people.apache.org/keys/committer/elek.asc
>>>
>>>
>>> The release candidate has been tagged in git with ratis-0.2.0-rc0
>>> (ee4936d)
>>>
>>> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>>>
>>>
>>>
>>> Please review and vote. The vote will be open for at least 72 hours.
>>>
>>> If the vote passed, the second stage vote will be called on the Apache
>>> incubator mailing list to get approval from the Incubator PMC.
>>>
>>>
>>>
>>>   # Review/testing
>>>
>>> You can check the usual requirements of an apache release:
>>>
>>>   • Signatures
>>>   • Checksums
>>>   • License and notice files
>>>   • Disclaimer file (incubator!)
>>>   • Build the project from the source code package (mvn clean install
>>> assembly:single -DskipTests=true )
>>>   • Licence headers
>>>
>>> The binary papckage can be smoketested with:
>>>
>>> ./examples/bin/start-all.sh
>>> ./examples/bin/client.sh assign --name a --value 2
>>> ./examples/bin/client.sh get --name a
>>>
>>>
>>>
>>> Starting with my vote: +1
>>>
>>> Thanks,
>>> Marton

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by "Elek, Marton" <el...@apache.org>.
I am not a gpg expert but downloaded both of them and checked with 'gpg 
--list-packages filename'.

The only difference is that the KEYS version has an additional signature 
from Owen:

:signature packet: algo 1, keyid 78434EF460D6914B
	version 4, created 1462223114, md5len 0, sigclass 0x13
	digest algo 10, begin of digest e8 2d
	hashed subpkt 2 len 4 (sig created 2016-05-02)
	hashed subpkt 27 len 1 (key flags: 03)
	hashed subpkt 11 len 4 (pref-sym-algos: 9 8 7 3)
	hashed subpkt 21 len 4 (pref-hash-algos: 10 9 8 11)
	hashed subpkt 22 len 4 (pref-zip-algos: 2 3 1 0)
	hashed subpkt 30 len 1 (features: 01)
	hashed subpkt 23 len 1 (keyserver preferences: 80)
	subpkt 16 len 8 (issuer key ID 78434EF460D6914B)
	data: [4095 bits]

A more simple signature (by Owen) is contained by both:

# off=2203 ctb=89 tag=2 hlen=3 plen=543
:signature packet: algo 1, keyid 78434EF460D6914B
	version 4, created 1462223114, md5len 0, sigclass 0x18
	digest algo 10, begin of digest 30 e2
	hashed subpkt 2 len 4 (sig created 2016-05-02)
	hashed subpkt 27 len 1 (key flags: 0C)
	subpkt 16 len 8 (issuer key ID 78434EF460D6914B)
	data: [4092 bits]


IMHO it's not a problem just a redundant signature data. (or not 
redundat as he key flags are different).

Marton



On 05/08/2018 12:59 AM, Tsz Wo Sze wrote:
> Marton,
> 
> I compared you keys in two locations below
> - https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
> - http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=0x78434EF460D6914B
> 
> They somehow look different.  They match until "Zz6JA".  Do you know why?
> 
> Tsz-Wo
> 
> On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>>
>> Hi all,
>>
>> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>>
>> This is the second incubator release and it includes more than 120
>> improvements and fixes since the previous 0.1.0-alpha release. This is the
>> first release
>> which includes a binary package with ready to use example project.
>>
>> All distribution packages, including signatures, digests, etc. can be
>> found at:
>>
>> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>>
>> Staged artifacts can be found at:
>>
>> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>>
>>
>> This release has been signed with PGP key 0EE79B28, corresponding to
>> elek@apache.org, which is included in the repository's KEYS file
>> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>>
>> This key can be found on keyservers, such as:
>>
>> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>>
>> Or in the apache phonebook:
>>
>> https://people.apache.org/keys/committer/elek.asc
>>
>>
>> The release candidate has been tagged in git with ratis-0.2.0-rc0 (ee4936d)
>>
>> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>>
>>
>>
>> Please review and vote. The vote will be open for at least 72 hours.
>>
>> If the vote passed, the second stage vote will be called on the Apache
>> incubator mailing list to get approval from the Incubator PMC.
>>
>>
>>
>>   # Review/testing
>>
>> You can check the usual requirements of an apache release:
>>
>>   • Signatures
>>   • Checksums
>>   • License and notice files
>>   • Disclaimer file (incubator!)
>>   • Build the project from the source code package (mvn clean install
>> assembly:single -DskipTests=true )
>>   • Licence headers
>>
>> The binary papckage can be smoketested with:
>>
>> ./examples/bin/start-all.sh
>> ./examples/bin/client.sh assign --name a --value 2
>> ./examples/bin/client.sh get --name a
>>
>>
>>
>> Starting with my vote: +1
>>
>> Thanks,
>> Marton

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Ted Yu <yu...@gmail.com>.
Jakob:
w.r.t. the compilation issue, I did 'mvn clean package -DskipTests' which
passed.

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option
MaxPermSize=812M; support was removed in 8.0
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d;
2017-10-18T00:58:13-07:00)
Maven home: /Users/tyu/apache-maven-3.5.2
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home:
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.3", arch: "x86_64", family: "mac"

1.8.0_60 was quite old.

Can you pastebin the error(s) you got ?

thanks

On Mon, May 7, 2018 at 7:04 PM, Jakob Homan <jg...@gmail.com> wrote:

> +1 (binding)
>
> * LICENSE and NOTICE look good
> * Sig matches from the KEYs file
> * Package naming looks good
> * Licenses appear good, but it can be tricky to tell because of the
> code that's included in the ratis-proto-shaded directory (for example,
> ratis-proto-shaded/src/main/java/org/apache/ratis/shaded/
> org/jctools/queues/atomic/LinkedAtomicArrayQueueUtil.java).
> This code has no included license header but is documented in the
> LICENSE file.
> * Directory structure looks good
>
> Nit:
> * NOTICE: Copyright year is still 2017
>
> Note 1:
> I can't get the code to compile, but I think it's something on my
> side.  With Sun JDK 1.8.0_60/Maven 3.5.3/OSX, it compiles ratis
> protoshaded for like five minutes before spitting out a bunch of
> "sun.misc.Unsafe is internal proprietary API and may be removed in a
> future release" warnings that Maven then converts to errors and fails.
> I can't see anything in the discussion list for this.  This happens
> when running package, compile, etc.
>
> Note 1:
> I didn't look at the bin archive since it's not technically part of the
> release.
>
> On 7 May 2018 at 15:59, Tsz Wo Sze <sz...@gmail.com> wrote:
> > Marton,
> >
> > I compared you keys in two locations below
> > - https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
> > - http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=
> 0x78434EF460D6914B
> >
> > They somehow look different.  They match until "Zz6JA".  Do you know why?
> >
> > Tsz-Wo
> >
> > On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
> >>
> >> Hi all,
> >>
> >> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
> >>
> >> This is the second incubator release and it includes more than 120
> >> improvements and fixes since the previous 0.1.0-alpha release. This is
> the
> >> first release
> >> which includes a binary package with ready to use example project.
> >>
> >> All distribution packages, including signatures, digests, etc. can be
> >> found at:
> >>
> >> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
> >>
> >> Staged artifacts can be found at:
> >>
> >> https://repository.apache.org/content/repositories/orgapacheratis-1003/
> >>
> >>
> >> This release has been signed with PGP key 0EE79B28, corresponding to
> >> elek@apache.org, which is included in the repository's KEYS file
> >> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
> >>
> >> This key can be found on keyservers, such as:
> >>
> >> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
> >>
> >> Or in the apache phonebook:
> >>
> >> https://people.apache.org/keys/committer/elek.asc
> >>
> >>
> >> The release candidate has been tagged in git with ratis-0.2.0-rc0
> (ee4936d)
> >>
> >> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
> >>
> >>
> >>
> >> Please review and vote. The vote will be open for at least 72 hours.
> >>
> >> If the vote passed, the second stage vote will be called on the Apache
> >> incubator mailing list to get approval from the Incubator PMC.
> >>
> >>
> >>
> >>  # Review/testing
> >>
> >> You can check the usual requirements of an apache release:
> >>
> >>  • Signatures
> >>  • Checksums
> >>  • License and notice files
> >>  • Disclaimer file (incubator!)
> >>  • Build the project from the source code package (mvn clean install
> >> assembly:single -DskipTests=true )
> >>  • Licence headers
> >>
> >> The binary papckage can be smoketested with:
> >>
> >> ./examples/bin/start-all.sh
> >> ./examples/bin/client.sh assign --name a --value 2
> >> ./examples/bin/client.sh get --name a
> >>
> >>
> >>
> >> Starting with my vote: +1
> >>
> >> Thanks,
> >> Marton
>

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Jakob Homan <jg...@gmail.com>.
I don't have cycles to track down the build issue right now, but I'm
comfortable voting out the RC.  No need to hold up the vote for this.

Thanks,
Jakob

On 8 May 2018 at 13:28, Elek, Marton <el...@apache.org> wrote:
> Hi Jakob,
>
> Thank you very much to test it. I think the compilation problem could be a
> memory issue. Please try out with "export MAVEN_OPTS="-Xmx2000m" (If helps I
> will update the BUILDING.md with this information.)
>
> Marton
>
>
> On 05/08/2018 04:04 AM, Jakob Homan wrote:
>>
>> +1 (binding)
>>
>> * LICENSE and NOTICE look good
>> * Sig matches from the KEYs file
>> * Package naming looks good
>> * Licenses appear good, but it can be tricky to tell because of the
>> code that's included in the ratis-proto-shaded directory (for example,
>>
>> ratis-proto-shaded/src/main/java/org/apache/ratis/shaded/org/jctools/queues/atomic/LinkedAtomicArrayQueueUtil.java).
>> This code has no included license header but is documented in the
>> LICENSE file.
>> * Directory structure looks good
>>
>> Nit:
>> * NOTICE: Copyright year is still 2017
>>
>> Note 1:
>> I can't get the code to compile, but I think it's something on my
>> side.  With Sun JDK 1.8.0_60/Maven 3.5.3/OSX, it compiles ratis
>> protoshaded for like five minutes before spitting out a bunch of
>> "sun.misc.Unsafe is internal proprietary API and may be removed in a
>> future release" warnings that Maven then converts to errors and fails.
>> I can't see anything in the discussion list for this.  This happens
>> when running package, compile, etc.
>>
>> Note 1:
>> I didn't look at the bin archive since it's not technically part of the
>> release.
>>
>> On 7 May 2018 at 15:59, Tsz Wo Sze <sz...@gmail.com> wrote:
>>>
>>> Marton,
>>>
>>> I compared you keys in two locations below
>>> - https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
>>> -
>>> http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=0x78434EF460D6914B
>>>
>>> They somehow look different.  They match until "Zz6JA".  Do you know why?
>>>
>>> Tsz-Wo
>>>
>>> On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>>>>
>>>>
>>>> Hi all,
>>>>
>>>> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>>>>
>>>> This is the second incubator release and it includes more than 120
>>>> improvements and fixes since the previous 0.1.0-alpha release. This is
>>>> the
>>>> first release
>>>> which includes a binary package with ready to use example project.
>>>>
>>>> All distribution packages, including signatures, digests, etc. can be
>>>> found at:
>>>>
>>>> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>>>>
>>>> Staged artifacts can be found at:
>>>>
>>>> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>>>>
>>>>
>>>> This release has been signed with PGP key 0EE79B28, corresponding to
>>>> elek@apache.org, which is included in the repository's KEYS file
>>>> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>>>>
>>>> This key can be found on keyservers, such as:
>>>>
>>>> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>>>>
>>>> Or in the apache phonebook:
>>>>
>>>> https://people.apache.org/keys/committer/elek.asc
>>>>
>>>>
>>>> The release candidate has been tagged in git with ratis-0.2.0-rc0
>>>> (ee4936d)
>>>>
>>>> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>>>>
>>>>
>>>>
>>>> Please review and vote. The vote will be open for at least 72 hours.
>>>>
>>>> If the vote passed, the second stage vote will be called on the Apache
>>>> incubator mailing list to get approval from the Incubator PMC.
>>>>
>>>>
>>>>
>>>>   # Review/testing
>>>>
>>>> You can check the usual requirements of an apache release:
>>>>
>>>>   • Signatures
>>>>   • Checksums
>>>>   • License and notice files
>>>>   • Disclaimer file (incubator!)
>>>>   • Build the project from the source code package (mvn clean install
>>>> assembly:single -DskipTests=true )
>>>>   • Licence headers
>>>>
>>>> The binary papckage can be smoketested with:
>>>>
>>>> ./examples/bin/start-all.sh
>>>> ./examples/bin/client.sh assign --name a --value 2
>>>> ./examples/bin/client.sh get --name a
>>>>
>>>>
>>>>
>>>> Starting with my vote: +1
>>>>
>>>> Thanks,
>>>> Marton

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by "Elek, Marton" <el...@apache.org>.
Hi Jakob,

Thank you very much to test it. I think the compilation problem could be 
a memory issue. Please try out with "export MAVEN_OPTS="-Xmx2000m" (If 
helps I will update the BUILDING.md with this information.)

Marton

On 05/08/2018 04:04 AM, Jakob Homan wrote:
> +1 (binding)
> 
> * LICENSE and NOTICE look good
> * Sig matches from the KEYs file
> * Package naming looks good
> * Licenses appear good, but it can be tricky to tell because of the
> code that's included in the ratis-proto-shaded directory (for example,
> ratis-proto-shaded/src/main/java/org/apache/ratis/shaded/org/jctools/queues/atomic/LinkedAtomicArrayQueueUtil.java).
> This code has no included license header but is documented in the
> LICENSE file.
> * Directory structure looks good
> 
> Nit:
> * NOTICE: Copyright year is still 2017
> 
> Note 1:
> I can't get the code to compile, but I think it's something on my
> side.  With Sun JDK 1.8.0_60/Maven 3.5.3/OSX, it compiles ratis
> protoshaded for like five minutes before spitting out a bunch of
> "sun.misc.Unsafe is internal proprietary API and may be removed in a
> future release" warnings that Maven then converts to errors and fails.
> I can't see anything in the discussion list for this.  This happens
> when running package, compile, etc.
> 
> Note 1:
> I didn't look at the bin archive since it's not technically part of the release.
> 
> On 7 May 2018 at 15:59, Tsz Wo Sze <sz...@gmail.com> wrote:
>> Marton,
>>
>> I compared you keys in two locations below
>> - https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
>> - http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=0x78434EF460D6914B
>>
>> They somehow look different.  They match until "Zz6JA".  Do you know why?
>>
>> Tsz-Wo
>>
>> On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>>>
>>> Hi all,
>>>
>>> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>>>
>>> This is the second incubator release and it includes more than 120
>>> improvements and fixes since the previous 0.1.0-alpha release. This is the
>>> first release
>>> which includes a binary package with ready to use example project.
>>>
>>> All distribution packages, including signatures, digests, etc. can be
>>> found at:
>>>
>>> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>>>
>>> Staged artifacts can be found at:
>>>
>>> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>>>
>>>
>>> This release has been signed with PGP key 0EE79B28, corresponding to
>>> elek@apache.org, which is included in the repository's KEYS file
>>> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>>>
>>> This key can be found on keyservers, such as:
>>>
>>> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>>>
>>> Or in the apache phonebook:
>>>
>>> https://people.apache.org/keys/committer/elek.asc
>>>
>>>
>>> The release candidate has been tagged in git with ratis-0.2.0-rc0 (ee4936d)
>>>
>>> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>>>
>>>
>>>
>>> Please review and vote. The vote will be open for at least 72 hours.
>>>
>>> If the vote passed, the second stage vote will be called on the Apache
>>> incubator mailing list to get approval from the Incubator PMC.
>>>
>>>
>>>
>>>   # Review/testing
>>>
>>> You can check the usual requirements of an apache release:
>>>
>>>   • Signatures
>>>   • Checksums
>>>   • License and notice files
>>>   • Disclaimer file (incubator!)
>>>   • Build the project from the source code package (mvn clean install
>>> assembly:single -DskipTests=true )
>>>   • Licence headers
>>>
>>> The binary papckage can be smoketested with:
>>>
>>> ./examples/bin/start-all.sh
>>> ./examples/bin/client.sh assign --name a --value 2
>>> ./examples/bin/client.sh get --name a
>>>
>>>
>>>
>>> Starting with my vote: +1
>>>
>>> Thanks,
>>> Marton

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Jakob Homan <jg...@gmail.com>.
+1 (binding)

* LICENSE and NOTICE look good
* Sig matches from the KEYs file
* Package naming looks good
* Licenses appear good, but it can be tricky to tell because of the
code that's included in the ratis-proto-shaded directory (for example,
ratis-proto-shaded/src/main/java/org/apache/ratis/shaded/org/jctools/queues/atomic/LinkedAtomicArrayQueueUtil.java).
This code has no included license header but is documented in the
LICENSE file.
* Directory structure looks good

Nit:
* NOTICE: Copyright year is still 2017

Note 1:
I can't get the code to compile, but I think it's something on my
side.  With Sun JDK 1.8.0_60/Maven 3.5.3/OSX, it compiles ratis
protoshaded for like five minutes before spitting out a bunch of
"sun.misc.Unsafe is internal proprietary API and may be removed in a
future release" warnings that Maven then converts to errors and fails.
I can't see anything in the discussion list for this.  This happens
when running package, compile, etc.

Note 1:
I didn't look at the bin archive since it's not technically part of the release.

On 7 May 2018 at 15:59, Tsz Wo Sze <sz...@gmail.com> wrote:
> Marton,
>
> I compared you keys in two locations below
> - https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
> - http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=0x78434EF460D6914B
>
> They somehow look different.  They match until "Zz6JA".  Do you know why?
>
> Tsz-Wo
>
> On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>>
>> Hi all,
>>
>> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>>
>> This is the second incubator release and it includes more than 120
>> improvements and fixes since the previous 0.1.0-alpha release. This is the
>> first release
>> which includes a binary package with ready to use example project.
>>
>> All distribution packages, including signatures, digests, etc. can be
>> found at:
>>
>> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>>
>> Staged artifacts can be found at:
>>
>> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>>
>>
>> This release has been signed with PGP key 0EE79B28, corresponding to
>> elek@apache.org, which is included in the repository's KEYS file
>> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>>
>> This key can be found on keyservers, such as:
>>
>> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>>
>> Or in the apache phonebook:
>>
>> https://people.apache.org/keys/committer/elek.asc
>>
>>
>> The release candidate has been tagged in git with ratis-0.2.0-rc0 (ee4936d)
>>
>> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>>
>>
>>
>> Please review and vote. The vote will be open for at least 72 hours.
>>
>> If the vote passed, the second stage vote will be called on the Apache
>> incubator mailing list to get approval from the Incubator PMC.
>>
>>
>>
>>  # Review/testing
>>
>> You can check the usual requirements of an apache release:
>>
>>  • Signatures
>>  • Checksums
>>  • License and notice files
>>  • Disclaimer file (incubator!)
>>  • Build the project from the source code package (mvn clean install
>> assembly:single -DskipTests=true )
>>  • Licence headers
>>
>> The binary papckage can be smoketested with:
>>
>> ./examples/bin/start-all.sh
>> ./examples/bin/client.sh assign --name a --value 2
>> ./examples/bin/client.sh get --name a
>>
>>
>>
>> Starting with my vote: +1
>>
>> Thanks,
>> Marton

Re: [VOTE] Release of Apache Ratis (incubating) 0.2.0 (rc0)

Posted by Tsz Wo Sze <sz...@gmail.com>.
Marton,

I compared you keys in two locations below
- https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS
- http://pgp.mit.edu/pks/lookup?op=get&fingerprint=on&search=0x78434EF460D6914B

They somehow look different.  They match until "Zz6JA".  Do you know why?

Tsz-Wo

On Sun, May 6, 2018 at 3:57 AM, Elek, Marton <el...@apache.org> wrote:
>
> Hi all,
>
> I'd like to call a vote to release Apache Ratis (incubating) 0.2.0.
>
> This is the second incubator release and it includes more than 120
> improvements and fixes since the previous 0.1.0-alpha release. This is the
> first release
> which includes a binary package with ready to use example project.
>
> All distribution packages, including signatures, digests, etc. can be
> found at:
>
> https://dist.apache.org/repos/dist/dev/incubator/ratis/0.2.0/rc0/
>
> Staged artifacts can be found at:
>
> https://repository.apache.org/content/repositories/orgapacheratis-1003/
>
>
> This release has been signed with PGP key 0EE79B28, corresponding to
> elek@apache.org, which is included in the repository's KEYS file
> (https://dist.apache.org/repos/dist/dev/incubator/ratis/KEYS).
>
> This key can be found on keyservers, such as:
>
> http://pgp.mit.edu/pks/lookup?op=get&search=0x0EE79B28
>
> Or in the apache phonebook:
>
> https://people.apache.org/keys/committer/elek.asc
>
>
> The release candidate has been tagged in git with ratis-0.2.0-rc0 (ee4936d)
>
> https://github.com/apache/incubator-ratis/releases/tag/ratis-0.2.0-rc0
>
>
>
> Please review and vote. The vote will be open for at least 72 hours.
>
> If the vote passed, the second stage vote will be called on the Apache
> incubator mailing list to get approval from the Incubator PMC.
>
>
>
>  # Review/testing
>
> You can check the usual requirements of an apache release:
>
>  • Signatures
>  • Checksums
>  • License and notice files
>  • Disclaimer file (incubator!)
>  • Build the project from the source code package (mvn clean install
> assembly:single -DskipTests=true )
>  • Licence headers
>
> The binary papckage can be smoketested with:
>
> ./examples/bin/start-all.sh
> ./examples/bin/client.sh assign --name a --value 2
> ./examples/bin/client.sh get --name a
>
>
>
> Starting with my vote: +1
>
> Thanks,
> Marton