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