Skip to content

Basic external file encryption properties#10

Merged
sofia-tekdatum merged 3 commits into
dev_phase2from
basic_external_file_enc_properties
Jul 29, 2025
Merged

Basic external file encryption properties#10
sofia-tekdatum merged 3 commits into
dev_phase2from
basic_external_file_enc_properties

Conversation

@sofia-tekdatum

Copy link
Copy Markdown
Collaborator

Adding the ExternalFileEncryptionProperties.

Subclass of FileEncryptionProperties, now just adding the class definition, builder, constructor.

@sofia-tekdatum sofia-tekdatum force-pushed the basic_external_file_enc_properties branch from a72e0ba to 8c51662 Compare July 28, 2025 22:24
@sofia-tekdatum sofia-tekdatum changed the title Basic external file enc properties Basic external file encryption properties Jul 28, 2025

@argmarco-tkd argmarco-tkd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM. Left a bunch of minor comments.

A high level comment: tests are missing. Are those suppossed to be part of this review, or are they coming at a later time?

Comment thread cpp/src/parquet/encryption/encryption.cc Outdated
/// remote service call.
/// For security, these values should never be sent in this config, only the locations of
/// the files that the external service will know how to access.
Builder* connection_config(const std::map<std::string, std::string>& config);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: for a while (since the design discussion), I have been debating the name of this field. 'connection_config' implies going over a network (not always the case). One just came to mind: 'instantiation_config' may be a better name. Not a blocker for this PR, this is "easily" changeable in a later iteration.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack. I prefer connection_config, but we can discuss later.

Comment thread cpp/src/parquet/encryption/encryption.h Outdated
Comment on lines +478 to +479
/// For security, these values should never be sent in this config, only the locations of
/// the files that the external service will know how to access.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: not sure I'd keep these two lines of comments. ("for security" may spark all sorts of debates on whether this is a truly secure way of doing things, etc")

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simplified the comments.

return this;
}

if (app_context_.size() != 0) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style preference: exception-throwing stuff should probably go earlier in the method (same in other places). The way I read it "don't even try to set this value (in spite of what the value is), as it's already been set". Not a blocker from my side.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sg, thanks!

@sofia-tekdatum

Copy link
Copy Markdown
Collaborator Author

Overall LGTM. Left a bunch of minor comments.

A high level comment: tests are missing. Are those suppossed to be part of this review, or are they coming at a later time?

Yes, the tests are coming with the next change where I actually start creating objects of this type.

@avalerio-tkd avalerio-tkd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed offline. LGTM. Thanks!

@sofia-tekdatum sofia-tekdatum merged commit 59a3c44 into dev_phase2 Jul 29, 2025
30 of 64 checks passed
@sofia-tekdatum sofia-tekdatum deleted the basic_external_file_enc_properties branch July 29, 2025 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement changes to CryptoFactory > Create ExternalEncryptionProperties (getMethod + datatype) @CPP

3 participants