summaryrefslogtreecommitdiff
path: root/plugins/ingest-attachment
diff options
context:
space:
mode:
authorJason Tedor <jason@tedor.me>2016-07-04 08:41:06 -0400
committerGitHub <noreply@github.com>2016-07-04 08:41:06 -0400
commit3343ceeae44f3d28e3c1ba7861886848df74e390 (patch)
tree7223f17293ef950db42bb2843d049528befcee38 /plugins/ingest-attachment
parent86d2e883620ef44afb5fed7ed86854061d49f966 (diff)
Do not catch throwable
Today throughout the codebase, catch throwable is used with reckless abandon. This is dangerous because the throwable could be a fatal virtual machine error resulting from an internal error in the JVM, or an out of memory error or a stack overflow error that leaves the virtual machine in an unstable and unpredictable state. This commit removes catch throwable from the codebase and removes the temptation to use it by modifying listener APIs to receive instances of Exception instead of the top-level Throwable. Relates #19231
Diffstat (limited to 'plugins/ingest-attachment')
-rw-r--r--plugins/ingest-attachment/src/main/java/org/elasticsearch/ingest/attachment/AttachmentProcessor.java2
-rw-r--r--plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/TikaDocTests.java2
2 files changed, 2 insertions, 2 deletions
diff --git a/plugins/ingest-attachment/src/main/java/org/elasticsearch/ingest/attachment/AttachmentProcessor.java b/plugins/ingest-attachment/src/main/java/org/elasticsearch/ingest/attachment/AttachmentProcessor.java
index fb4dc37d64..b06232e1c4 100644
--- a/plugins/ingest-attachment/src/main/java/org/elasticsearch/ingest/attachment/AttachmentProcessor.java
+++ b/plugins/ingest-attachment/src/main/java/org/elasticsearch/ingest/attachment/AttachmentProcessor.java
@@ -122,7 +122,7 @@ public final class AttachmentProcessor extends AbstractProcessor {
String length = Strings.hasLength(contentLength) ? contentLength : String.valueOf(parsedContent.length());
additionalFields.put(Property.CONTENT_LENGTH.toLowerCase(), length);
}
- } catch (Throwable e) {
+ } catch (Exception e) {
throw new ElasticsearchParseException("Error parsing document in field [{}]", e, field);
}
diff --git a/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/TikaDocTests.java b/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/TikaDocTests.java
index 0c63f65c24..4b9a40dd8a 100644
--- a/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/TikaDocTests.java
+++ b/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/TikaDocTests.java
@@ -58,7 +58,7 @@ public class TikaDocTests extends ESTestCase {
assertNotNull(parsedContent);
assertFalse(parsedContent.isEmpty());
logger.debug("extracted content: {}", parsedContent);
- } catch (Throwable e) {
+ } catch (Exception e) {
throw new RuntimeException("parsing of filename: " + fileName.getFileName() + " failed", e);
}
}