dependabot[bot] opened a new pull request, #64: URL: https://github.com/apache/cassandra-easy-stress/pull/64
Bumps [org.agrona:agrona](https://github.com/aeron-io/agrona) from 1.22.0 to 2.3.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aeron-io/agrona/releases">org.agrona:agrona's releases</a>.</em></p> <blockquote> <h2>2.3.2</h2> <ul> <li> <p>Prevent concurrent <code>MarkFile</code> activation when <code>org.agrona.MarkFile.mapNewOrExistingMarkFile</code> is used.</p> <p>If the mark file already exists and is not active, then the activity timestamp (<code>timestampFieldOffset</code>) is atomically set to a special sentinel value (<code>org.agrona.MarkFile.ACTIVATION_IN_PROGRESS_TIMESTAMP</code>) to prevent other processes from concurrent activation.</p> <p><strong>NB:</strong> If the current activation fails it will leave the activity timestamp at a sentinel value which will prevent a restart of the process. Therefore, it is recommended to reset the activity timestamp upon failure.</p> </li> </ul> <h2>2.3.1</h2> <ul> <li>Fixed racy file creation in <code>org.agrona.MarkFile.mapNewOrExistingMarkFile</code>. (<a href="https://redirect.github.com/aeron-io/agrona/issues/340">#340</a>)</li> <li>Upgrade to <code>ByteBuddy</code> 1.17.8.</li> <li>Upgrade to <code>Checkstyle</code> 12.1.1.</li> <li>Upgrade to <code>JUnit</code> 6.0.1.</li> </ul> <h2>2.3.0</h2> <ul> <li> <p><strong>[Breaking]</strong> Changed <code>org.agrona.concurrent.ShutdownSignalBarrier</code> to use shutdown hooks instead of signals.</p> <p>Previously <code>ShutdownSignalBarrier</code> relied on intercepting <code>SIGINT</code> and <code>SIGTERM</code> <a href="https://man7.org/linux/man-pages/man7/signal.7.html">OS signals</a> 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.</p> <p>New implementation uses shutdown hooks instead and requires <code>ShutdownSignalBarrier</code> to be explicitly closed.</p> <p><em><strong>NB: Failure to close <code>ShutdownSignalBarrier</code> might result in JVM not terminating!</strong></em></p> <p>As the result the code using <code>ShutdownSignalBarrier</code> needs to be updated:</p> <ul> <li>Old:</li> </ul> <pre lang="java"><code>class UsageSample { public static void main(final String[] args) { try (MyService service = new MyService()) { new ShutdownSignalBarrier().await(); } } } </code></pre> <ul> <li>New:</li> </ul> <pre lang="java"><code>class UsageSample { public static void main(final String[] args) { try (ShutdownSignalBarrier barrier = new ShutdownSignalBarrier(); MyService service = new MyService()) </code></pre> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aeron-io/agrona/blob/master/CHANGELOG.adoc">org.agrona:agrona's changelog</a>.</em></p> <blockquote> <p>== 2.3.2 (2025-11-08)</p> <ul> <li>Prevent concurrent <code>MarkFile</code> activation when <code>org.agrona.MarkFile.mapNewOrExistingMarkFile</code> is used.</li> </ul> <ul> <li></li> </ul> <p>If the mark file already exists and is not active, then the activity timestamp (<code>timestampFieldOffset</code>) is atomically set to a special sentinel value (<code>org.agrona.MarkFile.ACTIVATION_IN_PROGRESS_TIMESTAMP</code>) to prevent other processes from concurrent activation. + <em>NB:</em> If the current activation fails it will leave the activity timestamp at a sentinel value which will prevent a restart of the process. Therefore, it is recommended to reset the activity timestamp upon failure.</p> <p>== 2.3.1 (2025-11-03)</p> <ul> <li>Fixed racy file creation in <code>org.agrona.MarkFile.mapNewOrExistingMarkFile</code>. (<a href="https://redirect.github.com/aeron-io/agrona/issues/340%5B#340%5D(https://redirect.github.com/aeron-io/agrona/issues/340)">aeron-io/agrona#340</a>)</li> <li>Upgrade to <code>ByteBuddy</code> 1.17.8.</li> <li>Upgrade to <code>Checkstyle</code> 12.1.1.</li> <li>Upgrade to <code>JUnit</code> 6.0.1.</li> </ul> <p>== 2.3.0 (2025-09-29)</p> <ul> <li><em>[Breaking]</em> Changed <code>org.agrona.concurrent.ShutdownSignalBarrier</code> to use shutdown hooks instead of signals.</li> </ul> <ul> <li></li> </ul> <p>Previously <code>ShutdownSignalBarrier</code> relied on intercepting <code>SIGINT</code> and <code>SIGTERM</code> <a href="https://man7.org/linux/man-pages/man7/signal.7.html%5BOS">https://man7.org/linux/man-pages/man7/signal.7.html[OS</a> 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 <code>ShutdownSignalBarrier</code> to be explicitly closed. + <em><strong>NB: Failure to close <code>ShutdownSignalBarrier</code> might result in JVM not terminating!</strong></em> + As the result the code using <code>ShutdownSignalBarrier</code> needs to be updated: +</p> <ul> <li>Old:</li> </ul> <ul> <li></li> </ul> <h2>[source,java]</h2> <h2>class UsageSample { public static void main(final String[] args) { try (MyService service = new MyService()) { new ShutdownSignalBarrier().await(); } } }</h2> <ul> <li></li> </ul> <ul> <li>New:</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aeron-io/agrona/commit/fd4356709a1aa3c1e9d3ea0d5b379ce1f5b7e88a"><code>fd43567</code></a> 2.3.2 released.</li> <li><a href="https://github.com/aeron-io/agrona/commit/91131297c524b0299a89f3b730b7e1e8e1eb1fd9"><code>9113129</code></a> [Java] Prevent concurrent <code>MarkFile</code> activation.</li> <li><a href="https://github.com/aeron-io/agrona/commit/a9dd77e5c2e2cecb8514fc26089207d92165212c"><code>a9dd77e</code></a> post release bump</li> <li><a href="https://github.com/aeron-io/agrona/commit/c1c155874df31d319b2a323f8630d2fddafc9f02"><code>c1c1558</code></a> 2.3.1 released.</li> <li><a href="https://github.com/aeron-io/agrona/commit/47ab6873951ddf3dec61373a7d0a1372391b9ac7"><code>47ab687</code></a> <code>JUnit</code> 6 fixes.</li> <li><a href="https://github.com/aeron-io/agrona/commit/5e8542f72178b5280090c0856e59dbe40a5efb03"><code>5e8542f</code></a> [Java] Formatting.</li> <li><a href="https://github.com/aeron-io/agrona/commit/a0b3d6d651156f418c7c61de858409b89082454a"><code>a0b3d6d</code></a> [Java] Fix file creation race condition in `MarkFile.mapNewOrExistingMarkFile...</li> <li><a href="https://github.com/aeron-io/agrona/commit/b3cb60a938d090adea30661e86fb30b25f4c8900"><code>b3cb60a</code></a> [CI] Simplify Windows <code>D:</code> drive usage.</li> <li><a href="https://github.com/aeron-io/agrona/commit/0567a7d0661ffb352186512871095cee84f24409"><code>0567a7d</code></a> [CI] Upgrade to <code>setup-gradle</code> and <code>upload-artifact</code> to v5.</li> <li><a href="https://github.com/aeron-io/agrona/commit/b7201768f545fafe779c86138250c3203229490d"><code>b720176</code></a> [CI] Use temporary storage drive on Windows to lower build times.</li> <li>Additional commits viewable in <a href="https://github.com/aeron-io/agrona/compare/1.22.0...2.3.2">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
