Skip to content

Conversation

@renovate-bot
Copy link
Collaborator

This PR contains the following updates:

Package Change Age Confidence
org.agrona:agrona 2.2.4 -> 2.3.1 age confidence

Release Notes

aeron-io/agrona (org.agrona:agrona)

v2.3.1

Compare Source

  • Fixed racy file creation in org.agrona.MarkFile.mapNewOrExistingMarkFile. (#​340)
  • Upgrade to ByteBuddy 1.17.8.
  • Upgrade to Checkstyle 12.1.1.
  • Upgrade to JUnit 6.0.1.

v2.3.0

Compare Source

  • [Breaking] Changed org.agrona.concurrent.ShutdownSignalBarrier to use shutdown hooks instead of signals.

    Previously ShutdownSignalBarrier relied on intercepting SIGINT and SIGTERM OS signals by overriding JVM's signal handling which was preventing shutdown hooks from be executed. This in turn was breaking applications and frameworks that relied on shutdown hooks for clean termination.

    New implementation uses shutdown hooks instead and requires ShutdownSignalBarrier to be explicitly closed.

    NB: Failure to close ShutdownSignalBarrier might result in JVM not terminating!

    As the result the code using ShutdownSignalBarrier needs to be updated:

    • Old:
    class UsageSample
    {
        public static void main(final String[] args) 
        {
            try (MyService service = new MyService())
            {
                new ShutdownSignalBarrier().await();
            }
        }
    }
    • New:
    class UsageSample
    { 
        public static void main(final String[] args) 
        {
            try (ShutdownSignalBarrier barrier = new ShutdownSignalBarrier();
                 MyService service = new MyService())
            {
                barrier.await();
            }
        }
    }

    In the above example ShutdownSignalBarrier is closed last to ensure that service terminates completely before ShutdownSignalBarrier closes which in turn allows JVM to exit.

  • [Breaking] Deprecated org.agrona.concurrent.SigInt for removal. Use org.agrona.concurrent.ShutdownSignalBarrier instead.

    NB: org.agrona.concurrent.SigInt.register(java.lang.Runnable) is unsafe as it overrides SIGINT signal handling of the JVM thus preventing shutdown hooks from being executed.

    An example using ShutdownSignalBarrier instead of SigInt:

    • Old:
    class FlagSample
    {
        public static void main(final String[] args)
        {
            final AtomicBoolean running = new AtomicBoolean(false);
            SigInt.register(() -> running.set(false));
            while(running.get())
            {
                ...
            }
        }
    }
    • New:
    class FlagSample
    {
        public static void main(final String[] args)
        {
            final AtomicBoolean running = new AtomicBoolean(true);
            try (ShutdownSignalBarrier barrier = new ShutdownSignalBarrier(() -> running.set(false))
            {
                while (running.get())
                {
                    ...
                }
            }
        }
    }
  • [Breaking] Agrona jars no longer provide OSGI metadata as bnd plugin was removed, because it breaks
    compatibility with Gradle 9.1 and causes self-dependency via baseline task.

  • AtomicCounter minor javadoc improvements. (#​338)

  • Upgrade to Gradle 9.1.0.

  • Upgrade to ByteBuddy 1.17.7.

  • Upgrade to Checkstyle 11.1.0.

  • Upgrade to JUnit 5.13.4.

  • Upgrade to Mockito 5.20.0.

  • Upgrade to Shadow 9.2.2.

  • Upgrade to Versions 0.53.0.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Nov 6, 2025
@singhpk234 singhpk234 merged commit c00e2f5 into apache:main Nov 6, 2025
15 checks passed
@github-project-automation github-project-automation bot moved this from Ready to merge to Done in Basic Kanban Board Nov 6, 2025
@renovate-bot renovate-bot deleted the renovate/org.agrona-agrona-2.x branch November 6, 2025 04:40
XN137 pushed a commit to XN137/polaris that referenced this pull request Nov 6, 2025
snazy added a commit to snazy/polaris that referenced this pull request Nov 20, 2025
* fix typo in Ozone getting-started guide (apache#2975)

* NoSQL: Persistence API (apache#2965)

Provides the persistence API parts for the NoSQL persistence work. Most of this PR are purely interfaces and annotations.

It consists of a low-level `Persistence` interface to read and write individual `Obj`ects and the corresponding pluggable `ObjType`s.

The API module also contains upstream SPIs for database specific implementations and downstream APIs for atomic commits and indexes.
Also some CDI specific infrastructure helper annotations.

Unit tests cover the few pieces of actual executable code in this change.

This change also adds a README, which references functionality and modules that are not in this PR, but already provide an overview of the overall interactions.

* Handle poetry lock update (apache#2942)

* Update dependency com.azure:azure-sdk-bom to v1.3.2 (apache#2979)

* Added interface for reporting metrics (apache#2887)

Co-authored-by: Alexandre Dutra <adutra@apache.org>

* Prefer RealmConfig fields (apache#2971)

minor cleanup of verbose code

* Update community meetings note links due to document split (apache#2981)

* NoSQL: database agnostic implementation + in-memory backend (apache#2977)

This change contains the database agnostic implementation plus the in-memory backend used for testing purposes, and a Junit extension.

These three modules are difficult to put into isolated PRs.

The "main implementation" contains the commit-logic, indexes-logic and the caching part.
`PersistenceImplementation` is (more or less) a wrapper providing higher-level functionality backed by a database's `Backend` implementation. The latter provides the bare minimum functionality.
Other implementations of the `Persistence` interface are just to transparently add caching and commit-attempt specific case.
No call site needs to bother about the actual implementation and/or its layers.

Tests in the `polaris-persistence-nosql-impl` module use the in-memory backend via the Junit extension.
Common tests for all backends, in-memory in this PR and MongoDB in a follow-up, are in the testFixtures of the `polaris-persistence-nosql-impl`.

* Fix incorrect column name in ModelEvent (apache#2987)

Fixes apache#2913

* Rename request ID header (apache#2988)

* Update dependency org.agrona:agrona to v2.3.1 (apache#2986)

* Update actions/stale digest to fad0de8 (apache#2984)

* Last merged commit 291bd7d

---------

Co-authored-by: Dmitri Bourlatchkov <dmitri.bourlatchkov@gmail.com>
Co-authored-by: Yong Zheng <yongzheng0809@gmail.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: cccs-cat001 <56204545+cccs-cat001@users.noreply.github.com>
Co-authored-by: Alexandre Dutra <adutra@apache.org>
Co-authored-by: Christopher Lambert <xn137@gmx.de>
Co-authored-by: JB Onofré <jbonofre@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants