]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: allow Arrow Flight to be built and linked into ceph components
authorJ. Eric Ivancich <ivancich@redhat.com>
Tue, 3 May 2022 02:23:23 +0000 (22:23 -0400)
committerJ. Eric Ivancich <ivancich@redhat.com>
Thu, 15 Dec 2022 17:49:40 +0000 (12:49 -0500)
Arrow Flight integration is triggered by defining
WITH_RADOSGW_ARROW_FLIGHT=ON with the cmake invocation.

For now this assumes that grpc-plugins is installed on the system and
won't be built internally.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
src/CMakeLists.txt
src/rgw/CMakeLists.txt

index a8e427c3eebf00f20939b5b3ea384abf02b9af11..1901a74ddbc9e34865779decba60aff8e850605e 100644 (file)
@@ -891,7 +891,7 @@ if(WITH_KVS)
 endif(WITH_KVS)
 
 if(WITH_RADOSGW)
-  if(WITH_RADOSGW_SELECT_PARQUET)
+  if(WITH_RADOSGW_SELECT_PARQUET OR WITH_RADOSGW_ARROW_FLIGHT)
     if(WITH_SYSTEM_ARROW)
       find_package(Arrow 4 REQUIRED QUIET)
       find_package(Parquet 4 REQUIRED QUIET)
@@ -908,7 +908,7 @@ if(WITH_RADOSGW)
       include(BuildArrow)
       build_arrow()
     endif(WITH_SYSTEM_ARROW)
-  endif(WITH_RADOSGW_SELECT_PARQUET)
+  endif(WITH_RADOSGW_SELECT_PARQUET OR WITH_RADOSGW_ARROW_FLIGHT)
 
   add_subdirectory(libkmip)
   add_subdirectory(rgw)
index 15c4d4c1d78d68d7a00bc9aa4d2d61eb0f0480f4..25404632bb6221072f683c11ffa097b94ea1f61a 100644 (file)
@@ -9,6 +9,12 @@ if(WITH_RADOSGW_SELECT_PARQUET)
   message("-- arrow is installed, radosgw/s3select-op is able to process parquet objects")
 endif(WITH_RADOSGW_SELECT_PARQUET)
 
+if(WITH_RADOSGW_ARROW_FLIGHT)
+  set(ARROW_FLIGHT_LIBRARIES Arrow::Arrow Arrow::Parquet Arrow::Flight utf8proc::utf8proc) # order is important
+  add_definitions(-D_ARROW_EXIST)
+  message("-- arrow flight is installed")
+endif(WITH_RADOSGW_ARROW_FLIGHT)
+
 function(gperf_generate input output)
   add_custom_command(
     OUTPUT ${output}