This is an automated email from the ASF dual-hosted git repository. afs pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit bd3f89604eaf1868acbd6177de2705a14cf874c2 Author: shah <[email protected]> AuthorDate: Sat Aug 1 20:07:36 2026 +0200 Add behavioral tests for ByteBufferPool no-bucket acquire Uses getNoBucketDirectAcquires() to verify acquire behavior directly, not just pool capacity. Second test confirms it fails against Jetty's default pool, proving the check discriminates. --- .../jena/fuseki/main/TestFusekiServerBuild.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java index 24cc9e325f..1cf0eade9f 100644 --- a/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java +++ b/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/TestFusekiServerBuild.java @@ -58,6 +58,7 @@ import org.apache.jena.fuseki.main.sys.FusekiSystemConstants; import org.apache.jena.system.Txn; import org.apache.jena.update.UpdateExecution; import org.eclipse.jetty.io.ArrayByteBufferPool; +import org.eclipse.jetty.io.RetainableByteBuffer; import org.eclipse.jetty.server.Server; import org.junit.jupiter.api.Test; import org.slf4j.Logger; @@ -96,6 +97,28 @@ public class TestFusekiServerBuild { assertTrue(pool.getMaxCapacity() >= FusekiSystemConstants.jettyOutputBufferSize); } + @Test public void fuseki_build_byte_buffer_pool_no_bucket_acquire() { + FusekiServer server = FusekiServer.create().port(0).build(); + Server jettyServer = server.getJettyServer(); + ArrayByteBufferPool pool = jettyServer.getBean(ArrayByteBufferPool.class); + + int size = FusekiSystemConstants.jettyOutputBufferSize; + RetainableByteBuffer.Mutable buffer = pool.acquire(size, true); + buffer.release(); + + assertTrue(pool.getNoBucketDirectAcquires().isEmpty()); + } + + @Test public void byte_buffer_pool_default_capacity_fails_no_bucket_check() { + ArrayByteBufferPool defaultPool = new ArrayByteBufferPool(); + int size = FusekiSystemConstants.jettyOutputBufferSize; + + RetainableByteBuffer.Mutable buffer = defaultPool.acquire(size, true); + buffer.release(); + + assertFalse(defaultPool.getNoBucketDirectAcquires().isEmpty()); + } + // The port in "testing/jetty.xml" is 1077 @Test public void fuseki_ext_jetty_xml_1() {
