On Sat, 18 Apr 2026 at 14:15, Gilles Sadowski <[email protected]> wrote:

> Hello.
>
> Le jeu. 16 avr. 2026 à 14:13, Alex Herbert <[email protected]> a
> écrit :
> >
> > We have fixed quite a few bugs and added some significant enhancements
> > since Apache Commons RNG 1.6 was released, so I would like to release
> > Apache Commons RNG 1.7.
> >
> > Apache Commons RNG 1.7 RC1 is available for review here:
> >     https://dist.apache.org/repos/dist/dev/commons/rng/1.7-RC1 (svn
> > revision 83845)
> >
> > The Git tag commit for this RC is commons-rng-1.7-RC1, which you can
> browse
> > here:
> >
> >
> https://gitbox.apache.org/repos/asf?p=commons-rng.git;a=commit;h=commons-rng-1.7-RC1
> > You may checkout this tag using:
> >     git clone https://gitbox.apache.org/repos/asf/commons-rng.git
> --branch
> > commons-rng-1.7-RC1 commons-rng-1.7-RC1
> > (signature can be checked from git using 'git tag -v
> commons-rng-1.7-RC1')
>
> After a fresh "git clone ...":
> $ mvn
> [... skipped ...]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Reactor Summary for Apache Commons RNG 1.7:
> [INFO]
> [INFO] Apache Commons RNG ................................. SUCCESS [
> 14.753 s]
> [INFO] Apache Commons RNG Client API ...................... FAILURE [
> 26.094 s]
> [INFO] Apache Commons RNG Core ............................ SKIPPED
> [INFO] Apache Commons RNG Simple .......................... SKIPPED
> [INFO] Apache Commons RNG Sampling ........................ SKIPPED
> [INFO] Apache Commons RNG (Bill of Materials) ............. SKIPPED
> [INFO] Apache Commons RNG Documentation ................... SKIPPED
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time:  41.312 s
> [INFO] Finished at: 2026-04-18T14:29:29+02:00
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal
> org.revapi:revapi-maven-plugin:0.15.1:check (default) on project
> commons-rng-client-api: Execution default of goal
> org.revapi:revapi-maven-plugin:0.15.1:check failed: A required class
> was missing while executing
> org.revapi:revapi-maven-plugin:0.15.1:check:
> org/apache/logging/log4j/spi/LoggerAdapter
> [ERROR] -----------------------------------------------------
> [ERROR] realm =    plugin>org.revapi:revapi-maven-plugin:0.15.1
> [ERROR] strategy =
> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> [ERROR] urls[0] =
>
> file:/home/gilles/.m2/repository/org/revapi/revapi-maven-plugin/0.15.1/revapi-maven-plugin-0.15.1.jar
> [... skipped ...]
> [ERROR] urls[60] =
>
> file:/home/gilles/.m2/repository/com/ximpleware/vtd-xml/2.11/vtd-xml-2.11.jar
> [ERROR] Number of foreign imports: 1
> [ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent:
> null]]
> [ERROR]
> [ERROR] -----------------------------------------------------:
> org.apache.logging.log4j.spi.LoggerAdapter
> [ERROR] -> [Help 1]
> [...]
>

Strange errors about log4j. We do not use this. It seems to be missing from
your revapi plugin dependency stack. I wonder if the dependencies are
different on your machine to mine. I built the release on a Mac
workstation. I've just verified the release on my laptop (also a Mac) and
the build is ok:

  504  git clone https://gitbox.apache.org/repos/asf/commons-rng.git
--branch commons-rng-1.7-RC1 commons-rng-1.7-RC1
  505  cd commons-rng-1.7-RC1/
  507  mvn     # Build is OK
  508  mvn -v

Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
Maven home: /Users/ah403/mvn/mvn
Java version: 17.0.17, vendor: Eclipse Adoptium, runtime:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "26.3.1", arch: "aarch64", family: "mac"

Note that 'mvn clean install' also works for me on the same Macbook.


>
> Running, in the same directory,
> $ mvn clean install
> [... skipped ...]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Reactor Summary for Apache Commons RNG 1.7:
> [INFO]
> [INFO] Apache Commons RNG ................................. SUCCESS [
> 11.970 s]
> [INFO] Apache Commons RNG Client API ...................... SUCCESS [
> 18.703 s]
> [INFO] Apache Commons RNG Core ............................ FAILURE [
> 55.527 s]
> [INFO] Apache Commons RNG Simple .......................... SKIPPED
> [INFO] Apache Commons RNG Sampling ........................ SKIPPED
> [INFO] Apache Commons RNG (Bill of Materials) ............. SKIPPED
> [INFO] Apache Commons RNG Documentation ................... SKIPPED
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time:  01:26 min
> [INFO] Finished at: 2026-04-18T14:39:25+02:00
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal
> org.revapi:revapi-maven-plugin:0.15.1:check (default) on project
> commons-rng-core: The following API problems caused the build to fail:
> [ERROR] java.class.externalClassExposedInAPI: interface
> org.apache.commons.rng.JumpableUniformRandomProvider: A class from
> supplementary archives is used in a public capacity in the API.
> [org.apache.commons:commons-rng-client-api:jar:1.7]
> [ERROR] java.class.externalClassExposedInAPI: interface
> org.apache.commons.rng.RandomProviderState: A class from supplementary
> archives is used in a public capacity in the API.
> [org.apache.commons:commons-rng-client-api:jar:1.7]
> [ERROR] java.class.externalClassExposedInAPI: interface
> org.apache.commons.rng.UniformRandomProvider: A class from
> supplementary archives is used in a public capacity in the API.
> [org.apache.commons:commons-rng-client-api:jar:1.7]
> [...]
>
> $ mvn --version
> Apache Maven 3.9.9
> Maven home: /usr/share/maven
> Java version: 21.0.10, vendor: Debian, runtime:
> /usr/lib/jvm/java-21-openjdk-amd64
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "6.12.74+deb13+1-amd64", arch: "amd64",
> family: "unix"
>

This is a strange error message. The core component has always used
interfaces from the client-api component. I do not understand why these
should fail now if they did not in the past. Note that we have to add new
interfaces from the client-api to revapi's ignore configuration. This was
done for the new interfaces: SplittableUniformRandomProvider
(1.5); ArbitrarilyJumpableUniformRandomProvider (1.7 - new this release).
See:

src/conf/revapi/api-changes.json

Here revapi is complaining about interfaces that have been in the code from
at least v1.3: JumpableUniformRandomProvider.

I tried on a clean linux platform (fresh maven install of 3.9.15) using:

Apache Maven 3.9.15 (98b2cdbfdb5f1ac8781f537ea9acccaed7922349)
Maven home: /its/home/ah403/ah403/apache-maven-3.9.15
Java version: 11.0.20, vendor: Eclipse Adoptium, runtime:
/mnt/shared/easybuild/software/Java/11.0.20
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.14.0-503.16.1.el9_5.x86_64", arch: "amd64",
family: "unix"

# Use a new local maven repo
../apache-maven-3.9.15/bin/mvn -Dmaven.repo.local=../repository

This worked OK.

FYI the repository size after this was 325M. This is quite a lot of tooling
(excluding maven and the JDK) for a build release of 4.5M for the binary
jars and ~3M for the source.


> Regards,
> Gilles
>
> P.S. The current build ("CI" label) on GH is marked as "Failing":
>         https://github.com/apache/commons-rng/actions/workflows/maven.yml


It failed due to random tests not achieving the p-threshold. So it is not
related.

This is increasingly common as we add more and more tests and use either a
0.01 or 0.001 critical value. We allow some repeats for flakes:

> git grep rerunFailingTestsCount
commons-rng-core/pom.xml:
 <rerunFailingTestsCount>2</rerunFailingTestsCount>
commons-rng-sampling/pom.xml:
 <rerunFailingTestsCount>1</rerunFailingTestsCount>
commons-rng-simple/pom.xml:
 <rerunFailingTestsCount>1</rerunFailingTestsCount>

So in the sampling component we use 1 rerun. The failing test had a p-value
of 0.001 and should fail 1 in 1,000,000 times. I've looked at the test and
believe it is doing the correct Chi-square test on a contingency table. I
added some logging of the parameters for the test to help future debugging.
After this push the build is now green again.

Alex



>
> > [...]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to