This is an automated email from the ASF dual-hosted git repository.

lqc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 96bf1831b5 Retain boolean type from CLPLogRecordExtractor decoder. 
(#14497)
96bf1831b5 is described below

commit 96bf1831b58e6f520696b72b86b5650ab50ef306
Author: Jack Luo <jlu...@ext.uber.com>
AuthorDate: Thu Nov 21 03:41:10 2024 +0800

    Retain boolean type from CLPLogRecordExtractor decoder. (#14497)
---
 .../plugin/inputformat/clplog/CLPLogRecordExtractor.java      | 11 +++++++++++
 .../plugin/inputformat/clplog/CLPLogRecordExtractorTest.java  |  4 ++++
 2 files changed, 15 insertions(+)

diff --git 
a/pinot-plugins/pinot-input-format/pinot-clp-log/src/main/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractor.java
 
b/pinot-plugins/pinot-input-format/pinot-clp-log/src/main/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractor.java
index 16ca7749ba..764a03d537 100644
--- 
a/pinot-plugins/pinot-input-format/pinot-clp-log/src/main/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractor.java
+++ 
b/pinot-plugins/pinot-input-format/pinot-clp-log/src/main/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractor.java
@@ -129,6 +129,17 @@ public class CLPLogRecordExtractor extends 
BaseRecordExtractor<Map<String, Objec
     return to;
   }
 
+  /**
+   * In addition to the basic conversion, we also needs to retain the type 
info of Boolean input.
+   */
+  @Override
+  protected Object convertSingleValue(Object value) {
+    if (value instanceof Boolean) {
+      return value;
+    }
+    return super.convertSingleValue(value);
+  }
+
   /**
    * Encodes a field with CLP
    * <p></p>
diff --git 
a/pinot-plugins/pinot-input-format/pinot-clp-log/src/test/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractorTest.java
 
b/pinot-plugins/pinot-input-format/pinot-clp-log/src/test/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractorTest.java
index 72058be345..0ad198fe18 100644
--- 
a/pinot-plugins/pinot-input-format/pinot-clp-log/src/test/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractorTest.java
+++ 
b/pinot-plugins/pinot-input-format/pinot-clp-log/src/test/java/org/apache/pinot/plugin/inputformat/clplog/CLPLogRecordExtractorTest.java
@@ -43,6 +43,8 @@ public class CLPLogRecordExtractorTest {
   private static final int _TIMESTAMP_FIELD_VALUE = 10;
   private static final String _LEVEL_FIELD_NAME = "level";
   private static final String _LEVEL_FIELD_VALUE = "INFO";
+  private static final String _BOOLEAN_FIELD_NAME = "booleanField";
+  private static final boolean _BOOLEAN_FIELD_VALUE = true;
   private static final String _MESSAGE_1_FIELD_NAME = "message1";
   private static final String _MESSAGE_1_FIELD_VALUE = "Started job_123 on 
node-987: 4 cores, 8 threads and "
       + "51.4% memory used.";
@@ -105,6 +107,7 @@ public class CLPLogRecordExtractorTest {
     row = extract(props, null);
     assertEquals(row.getValue(_TIMESTAMP_FIELD_NAME), _TIMESTAMP_FIELD_VALUE);
     assertEquals(row.getValue(_LEVEL_FIELD_NAME), _LEVEL_FIELD_VALUE);
+    assertEquals(row.getValue(_BOOLEAN_FIELD_NAME), _BOOLEAN_FIELD_VALUE);
     validateClpEncodedField(row, _MESSAGE_1_FIELD_NAME, 
_MESSAGE_1_FIELD_VALUE);
     validateClpEncodedField(row, _MESSAGE_2_FIELD_NAME, 
_MESSAGE_2_FIELD_VALUE);
   }
@@ -153,6 +156,7 @@ public class CLPLogRecordExtractorTest {
     record.put(_MESSAGE_1_FIELD_NAME, _MESSAGE_1_FIELD_VALUE);
     record.put(_MESSAGE_2_FIELD_NAME, _MESSAGE_2_FIELD_VALUE);
     record.put(_LEVEL_FIELD_NAME, _LEVEL_FIELD_VALUE);
+    record.put(_BOOLEAN_FIELD_NAME, _BOOLEAN_FIELD_VALUE);
 
     GenericRow row = new GenericRow();
     extractor.extract(record, row);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to