+1

- Checked GPG signature and SHA hash
- LICENSE and NOTICE seem to be fine
- 'mvn test' successfully runs with openjdk@25


On Sat, Nov 29, 2025 at 1:49 PM Pierre Lacave <[email protected]> wrote:

> +1 (BINDING)
>
> - SHA512 and GPG on dist repository is checked and good
> - "mvn clean test" runs as expected
>
> Thanks
>
> On Sat, Nov 29, 2025 at 9:38 PM Will Lauer <[email protected]> wrote:
>
>> +1 (BINDING)
>>
>> - LICENSE looks good
>> - NOTICE looks good
>> - checked sha1 and gpg signature on all artifacts
>> - "mvn clean test" runs as expected
>> - "mvn clean install" runs as expected and produced the expected artifacts
>>
>> Will Lauer
>> [email protected]
>>
>> On Fri, Nov 21, 2025 at 8:42 PM Lee Rhodes <[email protected]> wrote:
>>
>>> Hello Apache DataSketches PMC and Community,
>>>
>>> This is a call for vote to release Apache DataSketches-java candidate
>>> version: 9.0.0-RC1
>>>
>>>    - This is the core Java component of the DataSketches library that
>>>    includes all the sketch algorithms in production-ready packages. These
>>>    sketches can be called directly from this component or used in 
>>> conjunction
>>>    with the adaptor components such as Hadoop Pig, Hadoop Hive, or the
>>>    aggregator adaptors built into Apache Druid.
>>>
>>> Major changes with this release:
>>>
>>> This release is a major release where we took the opportunity to do some
>>> significant refactoring that will constitute incompatible changes from
>>> previous releases.  Any incompatibility with prior releases is always an
>>> inconvenience to users who wish to just upgrade to the latest release and
>>> run.  However, some of the code in this library was written in 2013 and
>>> meanwhile the Java language has evolved enormously since then.  We chose to
>>> use this major release as the opportunity to modernize some of the code to
>>> achieve the following goals:
>>>
>>> *Remove the dependency on the DataSketches-Memory component and use FFM
>>> instead.*
>>>
>>>    - The DataSketches-Memory component was originally developed in 2014
>>>    to address the need for fast access to off-heap memory data structures 
>>> and
>>>    used Unsafe and other JVM internals as there were no satisfactory Java
>>>    language features to do this at the time.
>>>    - The FFM capabilities introduced into the language in Java 22, are
>>>    now part of the Java 25 LTS release, which we support. Since the
>>>    capabilities of FFM are a superset of the original DataSketches-Memory
>>>    component, it made sense to rewrite the code to eliminate the dependency 
>>> on
>>>    DataSketches-Memory and use FFM instead.  This impacted code across the
>>>    entire library.
>>>    - This provided several advantages to the code base. By removing
>>>    this dependency on DataSketches-Memory, there are now no runtime
>>>    dependencies! This should make integrating this library into other Java
>>>    systems much simpler. Since FFM is tightly integrated into the Java
>>>    language, it has improved performance, especially with bulk operations.
>>>    - As an added note: There are numerous other improvements to the
>>>    Java language that we could perhaps take advantage of in a rewrite, e.g.,
>>>    Records, text blocks, switch expressions, sealed, var, modules, patterns,
>>>    etc.  However, faced with the risk of accidentally creating bugs due to 
>>> too
>>>    many changes at one time, we focused on FFM, which actually improved
>>>    performance as opposed to just creating syntactic sugar.
>>>
>>> *Align public sketch class names so that the sketch family name is part
>>> of the class name. *
>>>
>>>    - For example, the Theta sketch family was the first family written
>>>    for the library and its base class was called *Sketch*.  The Tuple
>>>    sketch family evolved soon after and its base class was also called
>>>    *Sketch*.  If a user wanted to use both the Theta and Tuple families
>>>    in the same class one of them had to be fully qualified every time it was
>>>    referenced.
>>>    - Unfortunately, this style propagated so some of the other early
>>>    sketch families where we ended up with two different sketch families 
>>> with a *ItemsSketch,
>>>    etc*. For the more recent additions to the library we started
>>>    including the sketch family name in all the relevant sketch-like public
>>>    classes of a sketch family.
>>>    - In this release we have refactored these older sketches with new
>>>    names that now include the sketch family name.  This is an incompatible
>>>    change for user code moving from earlier releases, but this can be 
>>> readily
>>>    fixed with search-and-replace tools. This release is not perfect, but
>>>    hopefully more consistent across all the different sketch families.
>>>
>>> Known Issues:
>>>
>>> *SpotBugs*
>>>
>>>    - Make sure you configure SpotBugs with the
>>>    /tools/FindBugsExcludeFilter.xml file. Otherwise, you may get a lot of
>>>    false positive or low risk issues that we have examined and eliminated 
>>> with
>>>    this exclusion file.
>>>
>>> *Checkstyle*
>>>
>>>    - At the time of this writing, Checkstyle had not been upgraded to
>>>    handle Java 25 features.
>>>
>>> References for this release:
>>>
>>> *Source repository:  *
>>> https://github.com/apache/datasketches-java
>>> <https://urldefense.com/v3/__https://github.com/apache/datasketches-java__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp8-17d3Ow$>
>>>
>>> *Git Tag for this release: *
>>> https://github.com/apache/datasketches-java/releases/tag/9.0.0-RC1
>>> <https://urldefense.com/v3/__https://github.com/apache/datasketches-java/releases/tag/9.0.0-RC1__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp9Ui7abMA$>
>>>  on branch 9.0.X
>>>
>>> *Git HashId for this release starts with: *
>>> f3b334b on branch 9.0.X
>>>
>>> *The Release Candidate / Zip Repository: *
>>> https://dist.apache.org/repos/dist/dev/datasketches/java/9.0.0-RC1
>>> <https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/datasketches/java/9.0.0-RC1__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp8AhFfxog$>
>>>
>>> *The public signing key can be found in the KEYS file: *
>>> https://dist.apache.org/repos/dist/dev/datasketches/KEYS
>>> <https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/datasketches/KEYS__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp_7wHNDxg$>
>>>
>>> *The artifacts have been signed with --keyid-format SHORT:*
>>> 8CD4A902
>>>
>>> *Repository: Maven Central [Nexus](http://repository.apache.org
>>> <https://urldefense.com/v3/__http://repository.apache.org__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp9_pdtNLw$>)
>>> (Jar Artifacts):*
>>>
>>> https://repository.apache.org/content/groups/staging/org/apache/datasketches/datasketches-java/9.0.0/
>>> <https://urldefense.com/v3/__https://repository.apache.org/content/groups/staging/org/apache/datasketches/datasketches-java/9.0.0/__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp8bewhxWw$>
>>>
>>> *Build & Test Guide:*
>>> https://github.com/apache/datasketches-java/blob/9.0.0-RC1/README.md
>>> <https://urldefense.com/v3/__https://github.com/apache/datasketches-java/blob/9.0.0-RC1/README.md__;!!Op6eflyXZCqGR5I!Du73Phs_fN2zF7_BpFuEwPc9dPEBJqDhmk9oVeUD6fZQuOFE7AuiVhLUqkt66KQ5A3GgN2DxZp_eG0tBYQ$>
>>>
>>> The vote will be performed as follows:
>>> This letter will be published on dev@ and remain open for at least 72
>>> hours (excluding weekends and holidays), AND until at least 3 (+1) PMC
>>> votes or a majority of (+1) PMC votes are acquired. Anyone in the community
>>> can vote.  This vote will close no earlier than Monday Dec 1, 2025, 6:00 PM
>>> PST.
>>>
>>> Please vote accordingly:
>>>
>>> [ ] +1 approve
>>> [ ] +0 no opinion
>>> [ ] -1 disapprove with the reason
>>>
>>> Thanks,
>>> Lee Rhodes
>>> [email protected]
>>>
>>

Reply via email to