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