You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by cg...@apache.org on 2021/09/26 18:03:55 UTC
[drill] branch master updated: DRILL-8004: Splunk Sends Newlines in
INT Fields, Causing Exceptions (#2322)
This is an automated email from the ASF dual-hosted git repository.
cgivre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git
The following commit(s) were added to refs/heads/master by this push:
new d92adc1 DRILL-8004: Splunk Sends Newlines in INT Fields, Causing Exceptions (#2322)
d92adc1 is described below
commit d92adc106cb22a98e4b7b1dedaa350657ebf87c7
Author: Charles S. Givre <cg...@apache.org>
AuthorDate: Sun Sep 26 14:03:45 2021 -0400
DRILL-8004: Splunk Sends Newlines in INT Fields, Causing Exceptions (#2322)
* Initial Commit'
* Addressed Formatting
---
.../apache/drill/exec/store/splunk/SplunkBatchReader.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/contrib/storage-splunk/src/main/java/org/apache/drill/exec/store/splunk/SplunkBatchReader.java b/contrib/storage-splunk/src/main/java/org/apache/drill/exec/store/splunk/SplunkBatchReader.java
index b74338c..9932801 100644
--- a/contrib/storage-splunk/src/main/java/org/apache/drill/exec/store/splunk/SplunkBatchReader.java
+++ b/contrib/storage-splunk/src/main/java/org/apache/drill/exec/store/splunk/SplunkBatchReader.java
@@ -370,7 +370,17 @@ public class SplunkBatchReader implements ManagedReader<SchemaNegotiator> {
@Override
public void load(String[] record) {
if (record[columnIndex] != null) {
- int value = Integer.parseInt(record[columnIndex]);
+ // Splunk may include extra garbage such as newlines or other whitespace in INT fields.
+ String stringValue = record[columnIndex];
+ stringValue = stringValue.replaceAll("\\s", "");
+
+ int value;
+ try {
+ value = Integer.parseInt(stringValue);
+ } catch (NumberFormatException e) {
+ // If we still can't parse the INT field, for whatever reason, set value to -1
+ value = -1;
+ }
columnWriter.setInt(value);
} else {
columnWriter.setNull();