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 e923f00435dce92ab8f4b99905a850c99ce4e51b
Author: Andy Seaborne <[email protected]>
AuthorDate: Sun Aug 2 17:28:39 2026 +0100

    Constants for default threads min/max in Fuseki
---
 .../main/java/org/apache/jena/fuseki/main/JettyHttps.java   |  4 ++--
 .../main/java/org/apache/jena/fuseki/main/JettyServer.java  |  6 +++---
 .../apache/jena/fuseki/main/sys/FusekiSystemConstants.java  | 13 +++++++++++++
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java
 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java
index 4e97a914d8..63f00604b6 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyHttps.java
@@ -75,7 +75,7 @@ public class JettyHttps {
                                           int httpPort, int httpsPort,
                                           int minThreads, int maxThreads) {
         // Server handling http and https.
-        Server jettyServer = server(keystore, certPassword, httpPort, 
httpsPort, minThreads, maxThreads);
+        Server jettyServer = createJettyServerWithConnectors(keystore, 
certPassword, httpPort, httpsPort, minThreads, maxThreads);
         if ( httpPort > 0 ) {
             // Redirect http to https.
             // Order matters. Check https and bounce if http as first choice.
@@ -89,7 +89,7 @@ public class JettyHttps {
     /** Build the server - http and https connectors.
      * If httpPort is -1, don't add http.
      */
-    private static Server server(String keystore, String certPassword, int 
httpPort, int httpsPort, int minThreads, int maxThreads) {
+    private static Server createJettyServerWithConnectors(String keystore, 
String certPassword, int httpPort, int httpsPort, int minThreads, int 
maxThreads) {
         Server server = JettyServer.jettyServer(minThreads, maxThreads);
         if ( httpPort > 0 ) {
             ServerConnector plainConnector = httpConnector(server, httpPort, 
httpsPort);
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java
 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java
index a8b84b8aaa..84e86d2182 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/JettyServer.java
@@ -467,11 +467,10 @@ public class JettyServer {
 
     public static Server jettyServer(int minThreads, int maxThreads) {
         ThreadPool threadPool = null;
-        // Jetty 9.4 and 12.0 : the Jetty default is max=200, min=8
         if ( minThreads < 0 )
-            minThreads = 2;
+            minThreads = FusekiSystemConstants.jettyMinThreads;
         if ( maxThreads < 0 )
-            maxThreads = 20;
+            maxThreads = FusekiSystemConstants.jettyMaxThreads;
         maxThreads = Math.max(minThreads, maxThreads);
         // Args reversed: Jetty uses (max,min)
         threadPool = new QueuedThreadPool(maxThreads, minThreads);
@@ -484,6 +483,7 @@ public class JettyServer {
      * {@link FusekiSystemConstants#jettyOutputBufferSize}. */
     private static ByteBufferPool newByteBufferPool() {
         int maxCapacity = FusekiSystemConstants.jettyOutputBufferSize;
+        // int minCapacity, int factor, int maxCapacity, int maxBucketSize, 
long maxHeapMemory, long maxDirectMemory
         return new ArrayByteBufferPool(0, -1, maxCapacity, -1, -1, -1);
     }
 
diff --git 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java
 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java
index 2a5de07736..21e7448a36 100644
--- 
a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java
+++ 
b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/sys/FusekiSystemConstants.java
@@ -78,4 +78,17 @@ public class FusekiSystemConstants {
      * support. (Jetty 12 default is 8k.)
      */
     public static final int jettyResponseHeaderSize = 16 * 1024;
+
+    // Jetty 9.4 and 12.0 : the Jetty default is max=200, min=8
+    // Fuseki operations are queries - expensive and longer lived - so limit 
the maximum resources by default.
+
+    /**
+     * Minimum Jetty server threads for the Jetty server of Fuseki.
+     */
+    public static final int jettyMinThreads = 4;
+
+    /**
+     * Maximum Jetty server threads for the Jetty server of Fuseki.
+     */
+    public static final int jettyMaxThreads = 20;
 }

Reply via email to