[VOTE RESULT]

This vote is hereby closed with 3 (+1) Binding votes and no other votes.

The next step is to finish the release process.

Lee.

On Mon, Dec 1, 2025 at 11:06 AM Alexander Saydakov via dev <
[email protected]> wrote:

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