This is an automated email from the ASF dual-hosted git repository.
tballison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new c5ce72a5e3 TIKA-4950: raise default maxFilesProcessedPerProcess to
100,000 (#3280)
c5ce72a5e3 is described below
commit c5ce72a5e3efd3a4826c823f8204ab533a955eb4
Author: Tim Allison <[email protected]>
AuthorDate: Fri Oct 2 20:57:00 2026 -0400
TIKA-4950: raise default maxFilesProcessedPerProcess to 100,000 (#3280)
---
CHANGES.txt | 3 +++
docs/modules/ROOT/pages/pipes/configuration.adoc | 4 ++--
docs/modules/ROOT/pages/pipes/getting-started.adoc | 2 +-
.../src/main/java/org/apache/tika/pipes/core/PipesConfig.java | 2 +-
4 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index b5dbac12a4..cba1dc4dae 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -24,6 +24,9 @@ Release 4.2.0 - unreleased
Every resolver Tika installs answers with an empty stream, never null
(TIKA-4941).
* Deprecate XMLReaderUtils.getXMLInputFactory() and use SAX for XFA
(TIKA-4938).
+ * Raise the default maxFilesProcessedPerProcess from 10,000 to 100,000;
+ forked pipes JVMs restart a tenth as often (TIKA-4950).
+
* Quiet default pipes logging: per-parse timing lines (WORKER/CLIENT/
SERVER/RESOURCE_TIMING) move from INFO to TRACE, and per-fork-start,
per-connection and plugin lifecycle lines move to DEBUG (TIKA-4949).
diff --git a/docs/modules/ROOT/pages/pipes/configuration.adoc
b/docs/modules/ROOT/pages/pipes/configuration.adoc
index 641aa05a8d..5d88c831b2 100644
--- a/docs/modules/ROOT/pages/pipes/configuration.adoc
+++ b/docs/modules/ROOT/pages/pipes/configuration.adoc
@@ -26,7 +26,7 @@ how many forked JVMs to run, timeouts, memory management, and
parse behavior.
"pipes": {
"numClients": 4,
"socketTimeoutMillis": 60000,
- "maxFilesProcessedPerProcess": 10000,
+ "maxFilesProcessedPerProcess": 100000,
"parseMode": "RMETA",
"forkedJvmArgs": ["-Xmx512m"]
}
@@ -52,7 +52,7 @@ how many forked JVMs to run, timeouts, memory management, and
parse behavior.
|Path to the Java executable for forked processes.
|`maxFilesProcessedPerProcess`
-|`10000`
+|`100000`
|Restart forked processes after this many files. Prevents slow-building memory
leaks in parsing libraries.
|`tempDirectory`
diff --git a/docs/modules/ROOT/pages/pipes/getting-started.adoc
b/docs/modules/ROOT/pages/pipes/getting-started.adoc
index eb83c0a801..a9976a32e2 100644
--- a/docs/modules/ROOT/pages/pipes/getting-started.adoc
+++ b/docs/modules/ROOT/pages/pipes/getting-started.adoc
@@ -117,7 +117,7 @@ The `pipes` section controls the pipeline. The four
settings worth knowing first
|Output mode: `RMETA`, `CONCATENATE`, `CONTENT_ONLY`, `NO_PARSE`, `UNPACK`.
|`maxFilesProcessedPerProcess`
-|`10000`
+|`100000`
|Restart forked processes after this many files, bounding slow memory leaks.
|`onParseException`
diff --git
a/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/PipesConfig.java
b/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/PipesConfig.java
index c253a167e7..36745f4627 100644
---
a/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/PipesConfig.java
+++
b/tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/PipesConfig.java
@@ -88,7 +88,7 @@ public class PipesConfig {
return Math.max(1, Math.min(byCores, MAX_AUTO_NUM_CLIENTS));
}
- public static final int DEFAULT_MAX_FILES_PROCESSED_PER_PROCESS = 10000;
+ public static final int DEFAULT_MAX_FILES_PROCESSED_PER_PROCESS = 100000;
public static final long DEFAULT_MAX_WAIT_FOR_CLIENT_MILLIS = 60000;