I thought that is what I did.  Isn't the DATASKETCHES-3 ticket I opened the
same thing?


On Fri, Oct 18, 2019 at 5:42 PM Dave Fisher <[email protected]> wrote:

> Hi Lee,
>
> DATASKETCHES Jira issues are for the project.
>
> If we want Infrastructure to do something of service to the community then
> you need to open an INFRA ticket. Got it?
>
> Regards?
> Dave
>
> Sent from my iPhone
>
> > On Oct 18, 2019, at 3:53 PM, leerho <[email protected]> wrote:
> >
> > I opened a ticket (DATASKETCHES-3) with infra to see if we could add this
> > capability to our slack channel.
> >
> >> On Fri, Oct 18, 2019 at 12:29 PM Dave Fisher <[email protected]> wrote:
> >>
> >> Hi -
> >>
> >> Apache Pulsar uses this: https://github.com/merlimat/slack-email-digest
> >>
> >> They don’t have their slack channels at the-asf.slack.com but it does
> >> work. You can always ask for infra’s help.
> >>
> >> Regards,
> >> Dave
> >>
> >>> On Oct 18, 2019, at 12:26 PM, leerho <[email protected]> wrote:
> >>>
> >>> I wonder if there is a way to have slack auto-post to an email list?
> >>>
> >>>> On Fri, Oct 18, 2019 at 5:13 AM Evans Ye <[email protected]> wrote:
> >>>>
> >>>> I don't have the expertise on jdk 11 but would love know more about
> >>>> datasketches and specifically the java lib. Would be great if you can
> >> bring
> >>>> back the result of what you have discussed in the slack dev channel.
> >> This
> >>>> helps other contributors easily to search and get to know what
> happened
> >> in
> >>>> the community and get involved :)
> >>>>
> >>>> Best
> >>>> Evans
> >>>>
> >>>>> leerho <[email protected]> 於 2019年10月18日 週五 11:03 寫道:
> >>>>>
> >>>>> Christopher,
> >>>>>
> >>>>> This would be fabulous.  I have tons of questions, whenever you are
> >>>> ready.
> >>>>> I might be easier to interact via the ASF slack channel
> "datasketches"
> >> or
> >>>>> "datasketches-dev".
> >>>>>
> >>>>> Lee.
> >>>>>
> >>>>> On Thu, Oct 17, 2019 at 5:07 PM Jon Malkin <[email protected]>
> >> wrote:
> >>>>>
> >>>>>> The memory repository is the one that needs the most conversion
> help.
> >>>>>> Everything using Unsafe in datasketches-java runs through the memory
> >>>>>> package.
> >>>>>>
> >>>>>> I'm not sure off-hand if the characterization repo has low level
> tests
> >>>> of
> >>>>>> Memory (on my phone at the moment), but we'd be looking to minimize
> >> the
> >>>>>> speed impact in the process since it very directly impacts sketch
> >>>> speed.
> >>>>>>
> >>>>>> jon
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Thu, Oct 17, 2019, 4:43 PM Christopher <[email protected]>
> >> wrote:
> >>>>>>
> >>>>>>> I've converted several other projects to using JDK 11, and can help
> >>>>>>> with this if there's still a need for help. I've actually been
> >>>> looking
> >>>>>>> at ways I can contribute to DataSketches since ApacheCon, and this
> >>>>>>> seems to be something I can probably do.
> >>>>>>>
> >>>>>>>> On Wed, Oct 16, 2019 at 9:47 PM leerho <[email protected]> wrote:
> >>>>>>>>
> >>>>>>>> Gian,
> >>>>>>>>
> >>>>>>>> If I were to supply you with a link to a snapshot or a Release
> >>>>>> Candidate
> >>>>>>>> version of the datasketches jar (and Memory jar) could you test in
> >>>>> your
> >>>>>>>> environment under JDK 11 and see if it works?
> >>>>>>>>
> >>>>>>>> Lee
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> On Mon, Oct 14, 2019 at 9:19 PM leerho <[email protected]> wrote:
> >>>>>>>>>
> >>>>>>>>> Holy Cow!  I have never seen such a complex travis config!
> >>>>>>>>>
> >>>>>>>>> On Mon, Oct 14, 2019 at 6:54 PM Gian Merlino <[email protected]>
> >>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>> I should have linked Druid's Travis config file for reference.
> >>>>> Here
> >>>>>>> it is:
> >>>>>>>>>>
> >>>> https://github.com/apache/incubator-druid/blob/master/.travis.yml
> >>>>>>>>>>
> >>>>>>>>>> On Mon, Oct 14, 2019 at 6:53 PM Gian Merlino <[email protected]>
> >>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>>> So what exactly is the requirement?  Our DataSketches code
> >>>>> does
> >>>>>>>>>> compile
> >>>>>>>>>>>> under JDK8 and we have lots of customers and users using JDK
> >>>>> 8.
> >>>>>>>>>>>
> >>>>>>>>>>> It depends on who you ask, I guess :)
> >>>>>>>>>>>
> >>>>>>>>>>> From Druid's perspective, we aren't going to be compiling your
> >>>>>> code,
> >>>>>>>>>> only
> >>>>>>>>>>> running it. So the only requirement we would ask for is that
> >>>> the
> >>>>>>> code
> >>>>>>>>>>> _runs_ under a Java 11 runtime. Being able to compile under
> >>>> Java
> >>>>>> 11
> >>>>>>> is
> >>>>>>>>>> good
> >>>>>>>>>>> for future-proofing your code, though. It is starting to
> >>>> become
> >>>>>> more
> >>>>>>>>>>> prevalent.
> >>>>>>>>>>>
> >>>>>>>>>>>> It sounds like (as far as Unsafe is concerned) converting
> >>>> all
> >>>>>> the
> >>>>>>>>>> direct
> >>>>>>>>>>>> unsafe.blah() calls to static MethodHandle.invoke calls is
> >>>>> what
> >>>>>> is
> >>>>>>>>>>> required.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Is this correct?
> >>>>>>>>>>>
> >>>>>>>>>>> That is certainly part of it, I'm not 100% sure if that's all
> >>>>>> that's
> >>>>>>>>>>> needed. Btw, CI can help verify. In Druid's Travis config, we
> >>>>> run
> >>>>>>> our
> >>>>>>>>>> tests
> >>>>>>>>>>> on both JDK 8 and JDK 11. In order to make this automated
> >>>>> testing
> >>>>>>>>>> easier,
> >>>>>>>>>>> we chose to do the work needed to compile Druid on JDK 11,
> >>>> even
> >>>>>>> though
> >>>>>>>>>> we
> >>>>>>>>>>> still compile release builds using JDK 8 only. (If we hadn't
> >>>>> done
> >>>>>>> this
> >>>>>>>>>>> work, then we'd have to compile on 8 and test on 11, which
> >>>>> Travis
> >>>>>>>>>> doesn't
> >>>>>>>>>>> easily support.)
> >>>>>>>>>>>
> >>>>>>>>>>> On Mon, Oct 14, 2019 at 5:51 PM leerho <[email protected]>
> >>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> Thanks, Gian, this is VERY helpful!
> >>>>>>>>>>>>
> >>>>>>>>>>>> From my cursory glance, it appears that UnsafeUtil acquires
> >>>>>> Unsafe
> >>>>>>> and
> >>>>>>>>>>>> Unsafe-class the usual way using reflection (I didn't think
> >>>>> this
> >>>>>>> would
> >>>>>>>>>>>> work
> >>>>>>>>>>>> with 9+ ), and then defines some method-handles that the
> >>>> other
> >>>>>>> classes
> >>>>>>>>>>>> use.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Will this approach allow code to compile under JDK11 and
> >>>> JDK8?
> >>>>>>>>>>>>
> >>>>>>>>>>>> It also seems that compiling with JDK11 is still a work in
> >>>>>>> progress as
> >>>>>>>>>> the
> >>>>>>>>>>>> pom.xml clearly specifies JDK8.
> >>>>>>>>>>>>
> >>>>>>>>>>>> So what exactly is the requirement?  Our DataSketches code
> >>>> does
> >>>>>>> compile
> >>>>>>>>>>>> under JDK8 and we have lots of customers and users using JDK
> >>>> 8.
> >>>>>>>>>>>>
> >>>>>>>>>>>> It sounds like (as far as Unsafe is concerned) converting all
> >>>>> the
> >>>>>>>>>> direct
> >>>>>>>>>>>> unsafe.blah() calls to static MethodHandle.invoke calls is
> >>>> what
> >>>>>> is
> >>>>>>>>>>>> required.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Is this correct?
> >>>>>>>>>>>>
> >>>>>>>>>>>> Lee.
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Mon, Oct 14, 2019 at 2:07 PM Gian Merlino <
> >>>> [email protected]>
> >>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> And nobody should be using the Oracle JDK without a
> >>>>> commercial
> >>>>>>>>>>>> relationship
> >>>>>>>>>>>>> with Oracle, its license is a nightmare.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On Mon, Oct 14, 2019 at 2:04 PM Gian Merlino <
> >>>>> [email protected]>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Oracle and OpenJDK builds behave the same as each other
> >>>>> now.
> >>>>>>> The
> >>>>>>>>>>>>>> differences are in terms of licensing, length of support,
> >>>>> and
> >>>>>>>>>> release
> >>>>>>>>>>>>>> cadence. IMO most Java devs should be using one of the
> >>>>>>> third-party
> >>>>>>>>>>>>> OpenJDK
> >>>>>>>>>>>>>> distributions (e.g. Corretto, Zulu, AdoptOpenJDK) rather
> >>>>> than
> >>>>>>>>>> vanilla
> >>>>>>>>>>>>>> OpenJDK these days, because of the new OpenJDK policy
> >>>> that
> >>>>>>> public
> >>>>>>>>>>>> updates
> >>>>>>>>>>>>>> will cease for major versions after 6 months.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On Mon, Oct 14, 2019 at 11:07 AM leerho <
> >>>> [email protected]>
> >>>>>>> wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks, Gian,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Your references are helpful and I am studying them.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I didn't see any references to OpenJDK vs Oracle's JDKs.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Are there any differences in the way Unsafe calls (or
> >>>>> other
> >>>>>>> hidden
> >>>>>>>>>>>>>>> classes)
> >>>>>>>>>>>>>>> are handled by OpenJDK?  Or is this a "don't care" as
> >>>> far
> >>>>> as
> >>>>>>>>>> Druid is
> >>>>>>>>>>>>>>> concerned?  Are the version numbers between Oracle and
> >>>>>> OpenJDK
> >>>>>>>>>> always
> >>>>>>>>>>>>>>> aligned?
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Lee.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Oct 11, 2019 at 5:45 PM Gian Merlino <
> >>>>>> [email protected]
> >>>>>>>>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> You didn't address this message to me, but in Druid
> >>>> most
> >>>>>> of
> >>>>>>> the
> >>>>>>>>>>>> work
> >>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>> Java 9+ compatibility is mentioned in this master
> >>>> issue,
> >>>>>>> which
> >>>>>>>>>> you
> >>>>>>>>>>>>> might
> >>>>>>>>>>>>>>>> find helpful:
> >>>>>>>>>>>> https://github.com/apache/incubator-druid/issues/5589.
> >>>>>>>>>>>>>>>> Skimming the list, these might be particularly
> >>>> relevant
> >>>>> to
> >>>>>>>>>>>>> DataSketches:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> - https://github.com/apache/incubator-druid/pull/7487
> >>>>>>> (cleaner
> >>>>>>>>>>>>>>> operations)
> >>>>>>>>>>>>>>>> - https://github.com/apache/incubator-druid/pull/7466
> >>>>>>>>>> (ByteBuffer
> >>>>>>>>>>>>> unmap
> >>>>>>>>>>>>>>>> operation)
> >>>>>>>>>>>>>>>> - https://github.com/apache/incubator-druid/pull/7576
> >>>>>>> (Remove
> >>>>>>>>>>>> direct
> >>>>>>>>>>>>>>>> references to Unsafe)
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Btw, it would be better, I think, to address emails to
> >>>>> the
> >>>>>>> list
> >>>>>>>>>> at
> >>>>>>>>>>>>>>> large.
> >>>>>>>>>>>>>>>> It encourages more people to participate. If Roman is
> >>>> a
> >>>>>>>>>> subscriber
> >>>>>>>>>>>> he
> >>>>>>>>>>>>>>> would
> >>>>>>>>>>>>>>>> get a copy anyway. If not, you could encourage him to
> >>>>>>> subscribe.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> On Fri, Oct 11, 2019 at 3:13 PM leerho <
> >>>>> [email protected]>
> >>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Roman,
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> I hope you are doing well.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> I really appreciate the contributions you made to
> >>>> our
> >>>>>>> Memory
> >>>>>>>>>>>>>>> component!
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Given that Druid has made its code base compatible
> >>>>> with
> >>>>>>>>>> OpenJDK
> >>>>>>>>>>>> 11,
> >>>>>>>>>>>>> we
> >>>>>>>>>>>>>>>>> could use your help in what changes do we need to
> >>>> make
> >>>>>> to
> >>>>>>> make
> >>>>>>>>>>>> that
> >>>>>>>>>>>>>>>> happen
> >>>>>>>>>>>>>>>>> for DataSketches.  As I recall, our DataSketches
> >>>>> library
> >>>>>>> was
> >>>>>>>>>> not
> >>>>>>>>>>>> the
> >>>>>>>>>>>>>>> only
> >>>>>>>>>>>>>>>>> Druid dependency that took advantage of Unsafe.  So
> >>>> I
> >>>>>>> assume
> >>>>>>>>>> you
> >>>>>>>>>>>>> have
> >>>>>>>>>>>>>>>> been
> >>>>>>>>>>>>>>>>> down this path :)
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Currently, I have a check in the static initializer
> >>>> in
> >>>>>>>>>>>>>>> Memory/UnsafeUtil:
> >>>>>>>>>>>>>>>>> parseJavaVersion(...) that checks the string
> >>>> returned
> >>>>>> from
> >>>>>>>>>>>>>>>>> System.getProperty("java.version").  If that string
> >>>>> does
> >>>>>>> not
> >>>>>>>>>>>> contain
> >>>>>>>>>>>>>>>> "1.8"
> >>>>>>>>>>>>>>>>> or "8" it will throw an error.  Given that we have
> >>>> not
> >>>>>>> tested
> >>>>>>>>>>>> with
> >>>>>>>>>>>>>>> JDK 9,
> >>>>>>>>>>>>>>>>> 10, 11 or 12, I felt it was safer to explicitly
> >>>> throw
> >>>>>>> rather
> >>>>>>>>>> than
> >>>>>>>>>>>>>>> having
> >>>>>>>>>>>>>>>>> the users experience some weird failure later that
> >>>> may
> >>>>>> be
> >>>>>>>>>>>> difficult
> >>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>> debug.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> With only one minor exception (which we could easily
> >>>>>> fix)
> >>>>>>> the
> >>>>>>>>>>>> Memory
> >>>>>>>>>>>>>>>>> component is the only place where Unsafe is used.
> >>>>>>> However,
> >>>>>>>>>> we do
> >>>>>>>>>>>>> use
> >>>>>>>>>>>>>>>>> reflection to gain internal access to a number of
> >>>>> other
> >>>>>>>>>> classes
> >>>>>>>>>>>>>>> including
> >>>>>>>>>>>>>>>>> ByteBuffer, Cleaner, and Bits.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Looking forward to hearing from you.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Cheers,
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Lee.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>>>>
> ---------------------------------------------------------------------
> >>>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>>> For additional commands, e-mail: [email protected]
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>> --
> >>> From my cell phone.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to