This is an automated email from the ASF dual-hosted git repository. tballison pushed a commit to branch TIKA-4813-comment-followups in repository https://gitbox.apache.org/repos/asf/tika.git
commit 6eb0969391e07bb89cfe24ccad2f9b960f53dbc9 Author: tallison <[email protected]> AuthorDate: Thu Aug 13 09:33:10 2026 -0400 TIKA-4813: comment-accuracy follow-ups from the tersification review; fix dead X-TIKA:EXCEPTION skip condition (tk: rename) --- tika-core/src/main/java/org/apache/tika/config/TimeoutLimits.java | 3 ++- tika-parent/pom.xml | 2 ++ .../main/java/org/apache/tika/parser/ocr/tess4j/Tess4JParser.java | 4 ++-- .../java/org/apache/tika/server/standard/MetadataResourceTest.java | 6 ++++-- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/tika-core/src/main/java/org/apache/tika/config/TimeoutLimits.java b/tika-core/src/main/java/org/apache/tika/config/TimeoutLimits.java index 5ea79a22fa..eb7994786c 100644 --- a/tika-core/src/main/java/org/apache/tika/config/TimeoutLimits.java +++ b/tika-core/src/main/java/org/apache/tika/config/TimeoutLimits.java @@ -150,7 +150,8 @@ public class TimeoutLimits implements Serializable { /** * Returns this instance if both timeouts are within {@code maxMillis}, otherwise a - * copy with each offending timeout reduced to {@code maxMillis}. + * copy with each offending timeout reduced to {@code maxMillis}. Used at trust + * boundaries to cap request-supplied limits at an operator-set maximum. */ public TimeoutLimits clampedTo(long maxMillis) { if (totalTaskTimeoutMillis <= maxMillis && progressTimeoutMillis <= maxMillis) { diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml index 1b9cda63f7..7f45747b4d 100644 --- a/tika-parent/pom.xml +++ b/tika-parent/pom.xml @@ -1766,6 +1766,8 @@ <!-- Skip spotless --> <spotless.apply.skip>true</spotless.apply.skip> <spotless.check.skip>true</spotless.check.skip> + <!-- Skip rat --> + <rat.skip>true</rat.skip> </properties> </profile> diff --git a/tika-parsers/tika-parsers-ml/tika-parser-tess4j-module/src/main/java/org/apache/tika/parser/ocr/tess4j/Tess4JParser.java b/tika-parsers/tika-parsers-ml/tika-parser-tess4j-module/src/main/java/org/apache/tika/parser/ocr/tess4j/Tess4JParser.java index 09bbca9171..2b87ec9d98 100644 --- a/tika-parsers/tika-parsers-ml/tika-parser-tess4j-module/src/main/java/org/apache/tika/parser/ocr/tess4j/Tess4JParser.java +++ b/tika-parsers/tika-parsers-ml/tika-parser-tess4j-module/src/main/java/org/apache/tika/parser/ocr/tess4j/Tess4JParser.java @@ -379,8 +379,8 @@ public class Tess4JParser implements Parser, Initializable { * {@code tesseract} until doOCR returns on its own. {@code settled} arbitrates the pool * return in that case: giver-upper and worker race to CAS it {@code false -> true}, and * the loser -- the second to arrive -- returns the instance, so it goes back exactly - * once. On a normal return or {@link TesseractException} the worker already finished, - * neither side touched {@code settled}, and the caller retains ownership. + * once. On a normal return or {@link TesseractException} the waiter never gave up, so + * the worker's CAS wins and it skips the pool return -- the caller retains ownership. */ private String doOCRWithTimeout(Tesseract tesseract, BufferedImage image, long requestedMillis, ParseContext parseContext) diff --git a/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/MetadataResourceTest.java b/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/MetadataResourceTest.java index 377fabd41b..0e396af313 100644 --- a/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/MetadataResourceTest.java +++ b/tika-server/tika-server-standard/src/test/java/org/apache/tika/server/standard/MetadataResourceTest.java @@ -312,8 +312,10 @@ public class MetadataResourceTest extends CXFTestBase { for (String name : container.names()) { // tk:content is absent from both (ignore handler); embedded-only bookkeeping // differs because /meta stops at the container; tk:resource-name/tk:source-path - // carry the server's per-request spool filename, so they differ by construction. - if (name.startsWith("X-TIKA:EXCEPTION") || name.equals("tk:content") + // carry the server's per-request spool filename, so they differ by + // construction until that is fixed. + if (name.startsWith(TikaCoreProperties.TIKA_META_EXCEPTION_PREFIX) + || name.equals("tk:content") || name.startsWith("tk:parsed-by-full-set") || name.equals("tk:resource-name") || name.equals("tk:source-path") || name.equals("tk:parse-time-millis")) {
