> 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 <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