fenfeng9 commented on code in PR #49334:
URL: https://github.com/apache/arrow/pull/49334#discussion_r2974868128
##########
cpp/src/parquet/bloom_filter.cc:
##########
@@ -104,6 +126,111 @@ static ::arrow::Status ValidateBloomFilterHeader(
return ::arrow::Status::OK();
}
+} // namespace
+
+BlockSplitBloomFilter BlockSplitBloomFilter::DeserializeEncrypted(
+ const ReaderProperties& properties, ArrowInputStream* input,
+ std::optional<int64_t> bloom_filter_length, Decryptor* decryptor,
+ int16_t row_group_ordinal, int16_t column_ordinal) {
+ if (decryptor == nullptr) {
+ throw ParquetException("Bloom filter decryptor must be provided");
+ }
+
+ ThriftDeserializer deserializer(properties);
+ format::BloomFilterHeader header;
+
+ // Read the length-prefixed ciphertext for the header.
+ PARQUET_ASSIGN_OR_THROW(auto length_buf, input->Read(kCiphertextLengthSize));
Review Comment:
Updated. The encrypted path now uses a single-I/O fast path when
`bloom_filter_length` is known.
--
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]