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

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


The following commit(s) were added to refs/heads/master by this push:
     new dc97ec0b0 Fix clean TSAN build.
dc97ec0b0 is described below

commit dc97ec0b05873ab390e761f8b8ff9a02038ec65b
Author: Zoltan Martonka <[email protected]>
AuthorDate: Thu Jan 15 13:18:05 2026 +0000

    Fix clean TSAN build.
    
    If you run:
    git clean -xfd (or start with a clean vm).
    BUILD_TYPE=TSAN ./build-support/jenkins/build-and-test.sh
    
    It fails, because thirdparty/installed/uninstrumented/bin/flatc
    is hardwired in java/kudu-flatbuffers/build.gradle.
    
    There is no reason to include the tsan version instead.
    
    Solution:
    Build the uninstrumented version even for TSAN build.
    
    Fix clean TSAN build.
    
    If you run:
    git clean -xfd (or start with a clean VM), then
    BUILD_TYPE=TSAN ./build-support/jenkins/build-and-test.sh
    
    it fails because thirdparty/installed/uninstrumented/bin/flatc
    is hard-wired in java/kudu-flatbuffers/build.gradle.
    
    Solution:
    Build the uninstrumented version even for TSAN builds.
    
    Change-Id: Id45e8c98e43df7d769a87b41e50f4781ca234061
    Reviewed-on: http://gerrit.cloudera.org:8080/23740
    Tested-by: Kudu Jenkins
    Reviewed-by: Alexey Serbin <[email protected]>
---
 java/kudu-flatbuffers/build.gradle |  2 +-
 thirdparty/build-thirdparty.sh     | 11 ++++-------
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/java/kudu-flatbuffers/build.gradle 
b/java/kudu-flatbuffers/build.gradle
index af8e15732..496184e01 100644
--- a/java/kudu-flatbuffers/build.gradle
+++ b/java/kudu-flatbuffers/build.gradle
@@ -37,7 +37,7 @@ if (flatcOverride) {
   }
   flatcExe = f.absolutePath
 } else{
-    def flatcPath = 
file("${projectDir}/../../thirdparty/installed/uninstrumented/bin/flatc")
+    def flatcPath = 
file("${projectDir}/../../thirdparty/installed/common/bin/flatc")
     if (!flatcPath.exists()) {
       throw new GradleException("No flatc binary found at ${flatcPath}")
     }
diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index 2e2029d15..d81d5d74c 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -307,6 +307,10 @@ if [ -n "$F_COMMON" -o -n "$F_RANGER_KMS" ]; then
   $PREFIX/opt/ranger-kms/ews/webapp/WEB-INF/classes/conf
 fi
 
+# Actual Kudu binaries only use the header-only part
+if [ -n "$F_COMMON" -o -n "$F_FLATBUFFERS" ]; then
+  build_flatbuffers
+fi
 ### Build C dependencies without instrumentation
 
 PREFIX=$PREFIX_DEPS
@@ -399,9 +403,6 @@ if [ -n "$F_UNINSTRUMENTED" -o -n "$F_GMOCK" ]; then
   build_gmock_gtest
 fi
 
-if [ -n "$F_UNINSTRUMENTED" -o -n "$F_FLATBUFFERS" ]; then
-  build_flatbuffers
-fi
 
 if [ -n "$F_UNINSTRUMENTED" -o -n "$F_PROTOBUF" ]; then
   build_protobuf
@@ -581,10 +582,6 @@ EXTRA_LDFLAGS="-stdlib=libc++ $EXTRA_LDFLAGS"
 EXTRA_CFLAGS="-g $EXTRA_CFLAGS"
 EXTRA_CXXFLAGS="-g $EXTRA_CXXFLAGS"
 
-if [ -n "$F_TSAN" -o -n "$F_FLATBUFFERS" ]; then
-  build_flatbuffers
-fi
-
 if [ -n "$F_TSAN" -o -n "$F_PROTOBUF" ]; then
   build_protobuf
 fi

Reply via email to