+1 for 0.2.0.

Thanks

On 5/14/18, 4:29 PM, "Anu Engineer" <aengin...@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" <e...@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 <e...@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
        >>> <nvadiv...@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" <szets...@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
        >>>>       <nvadiv...@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" <yuzhih...@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 <
        >>>>       >     nvadiv...@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
        >>>>       >     >
        >>>>       >     >
        >>>>       >     >
        >>>>       >     >
        >>>>       >
        >>>>       >
        >>>>
        >>>>
        >>>>
        >>
        
        
    
    

Reply via email to