You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have several library projects also based on Java, So I think this name should be unique.
Yes, it has to be unique per .jar.
So I think this should be named: org.apache.datasketches-java. Don't you think?
I tend to agree org.apache.datasketches-java is better, as it follows the maven module naming convention. org.apache.datasketches followed a (too quick) look at package names.
I can no longer compile 7.0.X and 8.0.X branches because they depend on incubator and preview code, which is no longer available. These dependencies were early versions of the now released FFM functionality. Which is why you are getting those warnings. Alas, I had no choice at the time, as Oracle blocked access to some of the JVM internals.
Are you trying to use this code with Slack, by any chance?
Unfortunately, the DS-Java 7.X does require a preview option.
My recommendation would be for you to migrate to version 9.X (on Java 25), which has no dependencies, pure Java, and is faster.
Unfortunately, the DS-Java 7.X does require a preview option.
I understand it requires JDK17 preview option, but they are standard option in JDK21. At the very least, I have no compile or runtime issue with it running a standard JDK21.
I have Automatic Module Name configured for the next version of datasketches-memory-7.0.0, which should be released in the next few weeks. Once this is out, I can start work on upgrading datasketches-java versions 7.X (for Java 17) and 8.X (for Java 21) to use the new DS-memory-7.X (which will work on Java 11, 17, 21).
You say you have no compile or runtime operations with DS-java 8.X on Java 21. Have you tried any off-heap or file-mapped memory operations using MemorySegments?
I am a little unclear about your need to run the library on Java 17 vs Java 21 vs Java 25. Please elaborate.
Also, I don't understand the urgency of providing an Automatic Module Name, which I will be adding, among many other priorities, but what is the urgency? If your application declares the DS-java jar in its module-info.java file, the system automatically generates a module name based strictly on the JAR's filename.
Have you tried any off-heap or file-mapped memory operations using MemorySegments?
For now, I'm just considering HLL and KMV.
I am a little unclear about your need to run the library on Java 17 vs Java 21 vs Java 25. Please elaborate.
I upgraded given project in JDK25. Hence, I could benefit JPMS in DataSketches in JDK21 for bugfix versions, else AutomatedModules in JDK25 would cover most of my needs.
Also, I don't understand the urgency of providing an Automatic Module Name, which I will be adding, among many other priorities, but what is the urgency?
No urgency as, in the meantime, in order to publish our own project, we had to remove the dependency to DataSketches.
If your application declares the DS-java jar in its module-info.java file, the system automatically generates a module name based strictly on the JAR's filename.
We integrate DataSketches into a library: automated module-names based on file prevents deployment of the dependant:
@blacelle,
I don't think you understood my question:
"You say you have no compile or runtime operations with DS-java 8.X on Java 21. Have you tried any off-heap or file-mapped memory operations using MemorySegments?"
DataSketches-java versions 7.X and 8.X provide the ability to perform / store your sketches off-heap. In order to do that you have to use one of the constructors that take a Memory object. Underneath the covers that Memory object leverages the "preview" FFM (MemorySegments) features of Java 21. Since those preview features are no longer available, your project will likely fail. If you don't care about using off-heap memory, you will be OK.
Also, If you have migrated your application to operate with Java 25, You should download and use DataSketches-java 9.0.1, where using off-heap memory is no longer a problem.
I realize that DS-java 9.0.1 does not declare an Automatic Module Name. This will be fixed when I can get to it.
I am jut finishing the release of ds-memory 7.0.0. I will be working on ds-java next. I am aware of this issue, but the next ds-java releases will take a while. (Yes, there is not 9.0.1 yet!) :)
Activity
leerho commentedon Apr 1, 2026
I can add this so it will go into our next release (either a 9.1.0 or a 9.0.1, not sure yet)
We have several library projects also based on Java, So I think this name should be unique. For example:
So I think this should be named: org.apache.datasketches-java. Don't you think? I'm not that familiar with JPMS.
blacelle commentedon Apr 2, 2026
Similar report to another library (hoping it help getting the context): fast-pack/JavaFastPFOR#69
Yes, it has to be unique per
.jar.I tend to agree
org.apache.datasketches-javais better, as it follows the maven module naming convention.org.apache.datasketchesfollowed a (too quick) look at package names.In current state, I get at compilation:
Does it mean no hope to get a release with this on 7.X and 8.X branches?
leerho commentedon Apr 3, 2026
I can no longer compile 7.0.X and 8.0.X branches because they depend on incubator and preview code, which is no longer available. These dependencies were early versions of the now released FFM functionality. Which is why you are getting those warnings. Alas, I had no choice at the time, as Oracle blocked access to some of the JVM internals.
Are you trying to use this code with Slack, by any chance?
blacelle commentedon Apr 3, 2026
Nope. I hit your library to get an HHL and KMV on the shelf.
I was looking for 7.X as would use it in a library based on JDK21 (without preview options).
leerho commentedon Apr 3, 2026
Unfortunately, the DS-Java 7.X does require a preview option.
My recommendation would be for you to migrate to version 9.X (on Java 25), which has no dependencies, pure Java, and is faster.
blacelle commentedon Apr 4, 2026
I understand it requires JDK17 preview option, but they are standard option in JDK21. At the very least, I have no compile or runtime issue with it running a standard JDK21.
blacelle commentedon Apr 7, 2026
Hi. We are working into a JDK25 version of our project. Do you have any ETA for this matter on 9.x @leerho? Thanks
blacelle commentedon Apr 27, 2026
Any news @leerho ? TY
blacelle commentedon May 19, 2026
Any news @leerho ? TY
leerho commentedon May 29, 2026
Sorry, I have been overwhelmed with family issues and other priorities. I hope to get to this in the next month or so.
leerho commentedon Jun 1, 2026
I have Automatic Module Name configured for the next version of datasketches-memory-7.0.0, which should be released in the next few weeks. Once this is out, I can start work on upgrading datasketches-java versions 7.X (for Java 17) and 8.X (for Java 21) to use the new DS-memory-7.X (which will work on Java 11, 17, 21).
You say you have no compile or runtime operations with DS-java 8.X on Java 21. Have you tried any off-heap or file-mapped memory operations using MemorySegments?
I am a little unclear about your need to run the library on Java 17 vs Java 21 vs Java 25. Please elaborate.
Also, I don't understand the urgency of providing an Automatic Module Name, which I will be adding, among many other priorities, but what is the urgency? If your application declares the DS-java jar in its module-info.java file, the system automatically generates a module name based strictly on the JAR's filename.
blacelle commentedon Jun 2, 2026
For now, I'm just considering HLL and KMV.
I upgraded given project in JDK25. Hence, I could benefit JPMS in DataSketches in JDK21 for bugfix versions, else AutomatedModules in JDK25 would cover most of my needs.
No urgency as, in the meantime, in order to publish our own project, we had to remove the dependency to DataSketches.
We integrate DataSketches into a library: automated module-names based on file prevents deployment of the dependant:
leerho commentedon Jun 2, 2026
@blacelle,
I don't think you understood my question:
"You say you have no compile or runtime operations with DS-java 8.X on Java 21. Have you tried any off-heap or file-mapped memory operations using MemorySegments?"
DataSketches-java versions 7.X and 8.X provide the ability to perform / store your sketches off-heap. In order to do that you have to use one of the constructors that take a Memory object. Underneath the covers that Memory object leverages the "preview" FFM (MemorySegments) features of Java 21. Since those preview features are no longer available, your project will likely fail. If you don't care about using off-heap memory, you will be OK.
leerho commentedon Jun 2, 2026
Also, If you have migrated your application to operate with Java 25, You should download and use DataSketches-java 9.0.1, where using off-heap memory is no longer a problem.
I realize that DS-java 9.0.1 does not declare an Automatic Module Name. This will be fixed when I can get to it.
blacelle commentedon Jun 3, 2026
I use the default setup with respect to memory for DS: I guess we then rely on off-heap memory.
Keen to get it. Though, even 9.0.1 seems not available from m2central: https://mvnrepository.com/artifact/org.apache.datasketches/datasketches-java
leerho commentedon Jun 11, 2026
I am jut finishing the release of ds-memory 7.0.0. I will be working on ds-java next. I am aware of this issue, but the next ds-java releases will take a while. (Yes, there is not 9.0.1 yet!) :)