From 6f8d2bfa88b712ec9b6a590bc970b059fdf40d80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Dec 2024 20:54:19 +0800 Subject: [PATCH] branch-2.1: [enchement](mc)opt maxcompute read arrow skip repeated check of isNull #45989 (#46023) Cherry-picked from #45989 Co-authored-by: daidai --- .../org/apache/doris/maxcompute/MaxComputeJniScanner.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java index d6325bdae4..3037679254 100644 --- a/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java +++ b/fe/be-java-extensions/max-compute-scanner/src/main/java/org/apache/doris/maxcompute/MaxComputeJniScanner.java @@ -52,8 +52,14 @@ import java.util.Objects; * MaxComputeJ JniScanner. BE will read data from the scanner object. */ public class MaxComputeJniScanner extends JniScanner { - private static final Logger LOG = Logger.getLogger(MaxComputeJniScanner.class); + static { + //Set `NullCheckingForGet.NULL_CHECKING_ENABLED` false. + //We will call isNull() before calling getXXX(), so we can set this parameter + // to skip the repeated check of isNull(). + System.setProperty("arrow.enable_null_check_for_get", "false"); + } + private static final Logger LOG = Logger.getLogger(MaxComputeJniScanner.class); private static final String ACCESS_KEY = "access_key"; private static final String SECRET_KEY = "secret_key";