Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AMORO-2401] Support reading encrypted iceberg data files #2402

Merged
merged 2 commits into from
Mar 8, 2024

Conversation

liaoyt
Copy link
Contributor

@liaoyt liaoyt commented Dec 4, 2023

Why are the changes needed?

Close #2401.

Brief change log

How was this patch tested?

  • Add some test cases that check the changes thoroughly including negative and positive cases if possible

  • Add screenshots for manual tests if appropriate

  • Run test locally before making a pull request

Documentation

  • Does this pull request introduce a new feature? no

@CLAassistant
Copy link

CLAassistant commented Dec 4, 2023

CLA assistant check
All committers have signed the CLA.

@github-actions github-actions bot added the module:core Core module label Dec 4, 2023
@zhoujinsong
Copy link
Contributor

@liaoyt Thanks a lot for your contribution!

You may need to sign NetEase's CLA before you start to contribute to Amoro, you can conveniently complete the signing via the link: https://cla-assistant.io/NetEase/amoro

@liaoyt
Copy link
Contributor Author

liaoyt commented Dec 5, 2023

@liaoyt Thanks a lot for your contribution!

You may need to sign NetEase's CLA before you start to contribute to Amoro, you can conveniently complete the signing via the link: https://cla-assistant.io/NetEase/amoro

thanks for reminding, already signed

Copy link

codecov bot commented Dec 5, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (928159a) 53.52% compared to head (aba6745) 53.51%.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2402      +/-   ##
============================================
- Coverage     53.52%   53.51%   -0.01%     
+ Complexity     4371     4368       -3     
============================================
  Files           517      517              
  Lines         29900    29912      +12     
  Branches       2917     2917              
============================================
+ Hits          16003    16008       +5     
- Misses        12608    12613       +5     
- Partials       1289     1291       +2     
Flag Coverage Δ
core 53.99% <100.00%> (+<0.01%) ⬆️
trino 50.93% <ø> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@shidayang
Copy link
Contributor

@liaoyt Thanks for your contribution,I want to know if you are currently using the encryption feature.

@liaoyt
Copy link
Contributor Author

liaoyt commented Dec 5, 2023

@liaoyt Thanks for your contribution,I want to know if you are currently using the encryption feature.

yes, although iceberg has only PlaintextEncryptionManager currently, we implement a custom encryption manager

@shidayang
Copy link
Contributor

@liaoyt Thanks for your contribution,I want to know if you are currently using the encryption feature.

yes, although iceberg has only PlaintextEncryptionManager currently, we implement a custom encryption manager

I am very interested in this area. How does your EncryptionManager work? Currently, the implementation of BaseTable does not provide a custom method. Did you wrap your own Table object?

@liaoyt
Copy link
Contributor Author

liaoyt commented Dec 5, 2023

@liaoyt Thanks for your contribution,I want to know if you are currently using the encryption feature.

yes, although iceberg has only PlaintextEncryptionManager currently, we implement a custom encryption manager

I am very interested in this area. How does your EncryptionManager work? Currently, the implementation of BaseTable does not provide a custom method. Did you wrap your own Table object?

There is not custom method provided currently, we just overwrite the TableOperations.encryption() method to provider our custom EncryptionManager.
Also, we patch some of the PR in this project: https://github.com/apache/iceberg/projects/5

@liaoyt
Copy link
Contributor Author

liaoyt commented Dec 5, 2023

As for the behavior of reading data file of iceberg table, iceberg already implement it. This PR attempt to keep this behavior the same as iceberg do.

@shidayang
Copy link
Contributor

@liaoyt Thanks for your contribution,I want to know if you are currently using the encryption feature.

yes, although iceberg has only PlaintextEncryptionManager currently, we implement a custom encryption manager

I am very interested in this area. How does your EncryptionManager work? Currently, the implementation of BaseTable does not provide a custom method. Did you wrap your own Table object?

There is not custom method provided currently, we just overwrite the TableOperations.encryption() method to provider our custom EncryptionManager. Also, we patch some of the PR in this project: https://github.com/apache/iceberg/projects/5

I got you, BTW, GenericDeleteFilter also need EncryptionManager

@liaoyt
Copy link
Contributor Author

liaoyt commented Dec 6, 2023

@liaoyt Thanks for your contribution,I want to know if you are currently using the encryption feature.

yes, although iceberg has only PlaintextEncryptionManager currently, we implement a custom encryption manager

I am very interested in this area. How does your EncryptionManager work? Currently, the implementation of BaseTable does not provide a custom method. Did you wrap your own Table object?

There is not custom method provided currently, we just overwrite the TableOperations.encryption() method to provider our custom EncryptionManager. Also, we patch some of the PR in this project: https://github.com/apache/iceberg/projects/5

I got you, BTW, GenericDeleteFilter also need EncryptionManager

thanks for reminding, i'll have a look and fix it later, maybe tomorrow.

@shidayang
Copy link
Contributor

Can you add some unit tests to verify if it's working?

@liaoyt
Copy link
Contributor Author

liaoyt commented Dec 12, 2023

Can you add some unit tests to verify if it's working?

sure,i can try add some unit test

Copy link
Contributor

@shidayang shidayang left a comment

Choose a reason for hiding this comment

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

LGTM

@shidayang
Copy link
Contributor

Thanks for your contributions

@shidayang shidayang merged commit a294917 into apache:master Mar 8, 2024
@zhoujinsong zhoujinsong mentioned this pull request Jun 25, 2024
66 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:core Core module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: Support reading encrypted iceberg data files
4 participants