shangxinli commented on code in PR #989:
URL: https://github.com/apache/iceberg-cpp/pull/989#discussion_r4274104361


##########
cmake_modules/IcebergThirdpartyToolchain.cmake:
##########
@@ -258,6 +299,9 @@ function(resolve_arrow_dependency)
     # Arrow's exported static target interface may reference system libraries
     # (e.g. Threads, OpenSSL, CURL, ZLIB) that consumers need to find.
     list(APPEND ICEBERG_SYSTEM_DEPENDENCIES Threads ZLIB)
+    if(ICEBERG_ENCRYPTION)

Review Comment:
   Pushed in 59b678a.



##########
cmake_modules/IcebergThirdpartyToolchain.cmake:
##########
@@ -178,12 +201,18 @@ function(resolve_arrow_dependency)
   set(ARROW_S3 ${ICEBERG_S3})
   set(ARROW_JSON ON)
   set(ARROW_PARQUET ON)
+  if(ICEBERG_ENCRYPTION)
+    # Parquet modular encryption, used for encrypted Iceberg data and delete 
files.
+    set(PARQUET_REQUIRE_ENCRYPTION ON)
+  endif()
   set(ARROW_ENABLE_THREADING ON)
   set(ARROW_SIMD_LEVEL "NONE")
   set(ARROW_RUNTIME_SIMD_LEVEL "NONE")
   set(ARROW_POSITION_INDEPENDENT_CODE ON)
   set(ARROW_DEPENDENCY_SOURCE "BUNDLED")
   set(ARROW_WITH_ZLIB ON)
+  # zstd is the default Parquet codec of Iceberg (Java and C++).
+  set(ARROW_WITH_ZSTD ON)

Review Comment:
   You're right that modular encryption does not need it. I went with the 
second option for now: the comment next to ARROW_WITH_ZSTD records that zstd is 
the default of write.parquet.compression-codec, so a vendored Arrow without it 
cannot write Iceberg's default Parquet files, and parquet_encryption_test 
covers the encrypted+zstd combination. Happy to split it into its own PR 
instead if you prefer the narrower scope here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to